Supported Chains
cw-orchestrator currently explicitly supports the chains in this section:
- Archway
- Cosmos Hub
- Injective
- Juno
- Kujira
- Landslide
- Migaloo
- Neutron
- Nibiru
- Osmosis
- Rollkit
- Sei
- Terra
- Union
- Xion
Support a new Cosmos Chain
Almost all Cosmos Chains can be added to cw-orchestrator. Depending on the on-chain modules (CosmWasm is not available on all chains for instance), action may be forbidden for some chains. However, connection should work out of the box for most of the chains. In order to add a new chain to your project, you can use the following objects:
use cw_orch::environment::{ChainInfo, ChainKind, NetworkInfo};
pub const NEW_NETWORK_INFO: NetworkInfo = NetworkInfo {
chain_name: "osmosis",
pub_address_prefix: "osmo",
coin_type: 118,
};
pub const NEW_CHAIN_INFO: ChainInfo = ChainInfo {
chain_id: "osmosis-4",
gas_denom: "uosmo",
gas_price: 7575.8,
grpc_urls: &["Some GRPC URLS"],
lcd_url: None, // Not necessary for cw-orch
fcd_url: None, // Not necessary for cw-orch
network_info: NEW_NETWORK_INFO,
kind: ChainKind::Mainnet,
};
This chain info can then be used inside your project just like any other chain defined inside cw-orch.
Alternatively, we suggest using the grpc_url and gas methods on the DaemonBuilder for quick and dirty fixes to the grpc url and the gas prices if needed.
If you would like to add explicit support for another chain, please feel free to open a PR!
Config Overwrite
If you’re running into issues with a dead gRPC URL, wrong gas price or similar issues then you can use a config file to overwrite those variables. To do so, make a new config file in ~/.cw-orchestrator/networks.toml
.
touch ~/.cw-orchestrator/networks.toml
Then you can add the following optional content to the file, replacing the values with the ones you need. The chain-id is used to identify the chain you want to overwrite the values for.
[juno-1]
kind = "mainnet"
chain_id = "juno-1"
gas_denom = "ujuno"
gas_price = 0.075
grpc_urls = ["http://juno-grpc.polkachu.com:12690"]
[juno-1.network_info]
chain_name = "juno"
pub_address_prefix = "juno"
coin_type = 118
So in the example above the configuration is applied for a Daemon
built with the JUNO_1
network.
Issues
Each of the gRPC endpoints has been battle-tested for deployments. If you find any issues, please open an issue!