This deployment scenario demonstrates the integration of Babylon network with BTC Staking and a Consumer chain, using a bitcoind private regtest network. It showcases how the Consumer chain integrates with Babylon for BTC staking.
- Babylon Network: Two nodes of a private Babylon network.
- BTC Regression Testnet: A local Bitcoin testnet using bitcoind for testing and development.
- Babylon Finality Provider: A finality provider on the Babylon chain.
- BTC Staker: A BTC staker that re-stakes to the Babylon and Consumer finality provider.
- Consumer Chain: A chain that is integrated with Babylon for BTC staking.
- Babylon Contracts: Smart contracts on the Consumer chain.
- Consumer chain finality provider: A finality provider on the Consumer chain.
- A Consumer chain creates an IBC channel with the Babylon chain to start the integration.
- A Babylon finality provider registers to the Babylon chain.
- A Consumer finality provider registers to the Consumer chain.
- A BTC staker re-stakes BTC to the Babylon and Consumer finality providers.
- The Consumer finality provider commits public randomness and submits finality signatures to the Consumer chain.
- BTC staking finalises blocks of the Consumer chain.
git submodule update --init
make start-deployment-btc-staking-integration-bitcoind-demo
This command will:
- Stop any existing deployment.
- Build all necessary components (babylond, bitcoindsim, vigilante, btc-staker, finality-provider, covenant-emulator, and ibcsim-bcd).
- Run the pre-deployment setup.
- Start the Docker containers.
- Run the post-deployment setup.
- Run the demo script that showcases all the user stories.
make stop-deployment-btc-staking-integration-bitcoind
git submodule deinit
This will stop and remove the Docker containers, and clean up the test network data. It will also de-initialise / remove the submodules.