Skip to main content

Thorchain

The Thorchain integration can spin up isolated Thorchain devnets that support both forked and non-forked mode. Users are able to create networks that have mainnet data or create empty networks with new THORNode versions.

The Thorchain integration is based on the open-source thorchain kurtosis package: https://github.com/LZeroAnalytics/thorchain-package. If you require any changes or additional features, please open a PR or get in touch.

Configuration options

Below are all the parameters that can be configured for Thorchain networks. Please get in touch if you would like to change any other parameters.

ParameterExample ValueDescription
Chain IDthorchainUnique identifier for the network. Can be any custom string
Block max bytes22020096The maximum total size of a block
Block max gas50000000The maximum total gas allowed in a single block
Imageregistry.gitlab.com/thorchain/thornode:mainnetThe Docker image of the node. Can use custom images for new THORNode versions
Account balance1000000000000000The total balance in RUNE that this node should have
Bond amount300000000000000The total amount bonded by this node. Needs to be <= than the account balance
Forking block height22071722The block height to fork mainnet from. Currently, only supports block heights in the thorchain-1 range

When forking is enabled, the platform uses the custom node image: tiljordan/thornode-forking:1.0.6. The codebase is available here and any feedback and improvements are welcome.

Using the network

Once your Thorchain network is running, you will have access to a block explorer, RPC URL, API URL, and unlimited faucet for RUNE.

You can add the network to your Keplr wallet and use the unlimited faucet to send tokens to your account.

Additionally, you can share the network with others using the "Collaborators" tab.

Limitations

There are some known limitations and bugs which will be fixed soon:

  1. Transactions and balances in the Bdjuno explorer: The bdjuno can't handle the custom Thorchain types yet.
  2. Performance issues with forking: For large, read-only queries like /thorchain/pools, the request can be quite slow and even time out. Advanced caching is in place but support for Grpc should resolve some of these issues.
  3. Not fully tested interactions in forked mode: Many contract interactions still need to be verified and issues are likely.
  4. No Bifrost support yet: Bifrost support with other chains will be added to allow for full end-to-end testing.