- Neutron node
- Gaia node (Cosmos Hub)
- Hermes IBC Relayer
- Neutron ICQ Relayer
Prerequisites
Before setting up Cosmopark, ensure you have:- Docker Engine: Used to run containerized services
- Golang v1.23+: Required for building components
- NPX: Used to download Neutron DAO contracts
Setup Guide
Follow these steps to set up and run Cosmopark:1. Verify Go Version
Ensure you have the required Go version installed:2. Clone Required Repositories
All repositories must be cloned into the same parent directory:3. Build Docker Images
The neutron-integration-tests repository contains scripts to build all required Docker images:4. Download Neutron DAO Contracts
Neutron includes DAO contracts in its genesis, so you need to download them:5. Start Cosmopark
Launch the entire Cosmopark environment:6. View Logs and Manage Containers
To view logs from all containers:Using Cosmopark Components
Neutron Node
The Neutron node in Cosmopark is configured with:- Exposed RPC port: 26657
- Exposed REST API port: 1317
- Pre-configured test accounts with funds
neutrond
CLI:
Gaia Node
The Gaia node represents the Cosmos Hub and is connected to Neutron via IBC:- Exposed RPC port: 26659
- Exposed REST API port: 1318
gaiad
CLI:
Hermes IBC Relayer
Hermes maintains the IBC connections between Neutron and Gaia, allowing for IBC transfers and Interchain Accounts:- Automatically creates connections and channels on startup
- Continuously relays packets between chains
ICQ Relayer
The Interchain Query Relayer enables Neutron smart contracts to securely query data from the Gaia chain:- Monitors registered queries from Neutron contracts
- Fetches data with proofs from Gaia
- Submits responses back to Neutron
Advanced Usage
Testing Interchain Accounts
You can use Cosmopark to test ICA functionality by:- Deploying an ICA-enabled contract on Neutron
- Registering a connection to Gaia
- Executing transactions on Gaia via your Neutron contract
Testing Interchain Queries
To test ICQ functionality:- Deploy a contract that uses the ICQ module
- Register queries for specific Gaia state
- Receive and process query responses in your contract
Troubleshooting
If you encounter issues with Cosmopark:- Ensure all repositories are in the same parent directory
- Check that Docker has sufficient resources allocated
- Verify all ports required by the services are available
- Review logs for specific error messages
Next Steps
After setting up Cosmopark, you can:- Deploy test CosmWasm contracts to Neutron
- Test IBC transfers between Neutron and Gaia
- Develop and test Interchain Account controllers
- Create contracts that utilize Interchain Queries