Home

Awesome

<p align="center"> <h2 align="center">interBTC</h2> <p align="center"> A modular and programmable layer for Bitcoin and the multi-chain ecosystem. <br /> <a href="https://docs.interlay.io/"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://github.com/interlay/interbtc/issues">Report Bug</a> · <a href="https://github.com/interlay/interbtc/issues">Request Feature</a> </p> </p>

Table of Contents

About the Project

The interBTC project is a modular and programmable layer to bring Bitcoin to the multi-chain ecosystem. It includes:

Built with

The interBTC project is built with:

Structure

Runtime

The Substrate runtime configuration is in the parachain folder.

Test networks are build from the mainnet runtimes and have no dedicated runtimes.

Crates

The chain makes use of various custom pallets that are found in the crates folder.

Getting started

Prerequisites

curl https://sh.rustup.rs -sSf | sh

Please also install the following dependencies:

Installation

Building requires a specific rust toolchain and nightly compiler version. The requirements are specified in the ./rust-toolchain.toml override file.

Running rustup show from the root directory of this repo should be enough to set up the toolchain and you can inspect the output to verify that it matches the version specified in the override file.

To build, run:

cargo build

For more detailed development instructions see here.

Testing

cargo test --features runtime-benchmarks

To run with coverage, using cargo-cov:

cargo install cargo-cov

# clean up previous coverage result
cargo cov clean

# test the code
cargo cov test

# open the coverage report
cargo cov report --open

Running

To run a local development node, use the dev chain spec.

cargo run --release --bin interbtc-parachain -- --dev

To connect with a local relay-chain follow these instructions.

Development node

Running a development can be achieved without compiling the node with docker and instant-seal. Replace the release version with one of the available tags:

docker run --network=host interlayhq/interbtc:RELEASE_TAG --dev --instant-seal
#  Example
docker run --network=host interlayhq/interbtc:1.25.0-rc5 --dev --instant-seal

Test Coverage

Test coverage reports available under docs/testcoverage.html

Javascript / Typescript

Either use the polkadot.js API or checkout interbtc-api for a TypeScript SDK.

Contributing

If you would like to contribute, please file an issue on GitHub or reach out to us.

License

interBTC is licensed under the terms of the Apache License (Version 2.0). See LICENSE

Contact

Linktree: Linktree

Website: interlay.io

Twitter: @interlayHQ

Discord: Discord

Telegram: Telegram

Acknowledgements

This project is supported by a Web3 Foundation grant and the Substrate Builders Program.