Warning
Subcoin is currently in its early development stages and is not yet ready for production use. See the disclaimer below.
Subcoin is a full node implementation of Bitcoin in Rust, built using the Substrate framework. By leveraging Substrate's modular and flexible architecture, Subcoin aims to offer a robust and performant implementation of Bitcoin protocol. It is the first Bitcoin client that introduces the decentralized fast sync into the Bitcoin ecosystem, a syncing strategy common in newer blockchains (Ethereum, Polkadot, Near, etc) with a global chain state.
-
🔄 Fast Sync. Employs Substrate's advanced state sync strategy, enabling Bitcoin fast sync by downloading all headers and the state at a specific block, in decentralized manner. This allows new users to quickly sync to the latest state of the Bitcoin chain by running a Subcoin node.
-
🔗 Substrate Integration. Utilizes Substrate framework to provide production-level blockchain infrastructures.
Subcoin currently includes a tentative implementation for syncing as a Bitcoin full node, along with an early version of the fast sync feature. However, due to limitations, syncing to the tip of the Bitcoin network using fast sync is not feasible when the chain state becomes large. We are actively exploring solutions to address this limitation, which will be supported in future updates.
It's important to note that Subcoin is still under active development and is not yet stable. It also does not yet support participation in Bitcoin consensus as a miner node. Additional features and improvements are planned for future releases.
cargo test --workspace --all
Do not use Subcoin in production. It is a heavy work in progress, not feature-complete and the code has not been audited as well. Use at your own risk.
Contributions to Subcoin are welcome! If you have ideas for improvements, bug fixes, or new features, feel free to open an issue or submit a pull request. Make sure to follow the contribution guidelines and code of conduct when contributing to the project.
Subcoin is licensed under the MIT License. See the LICENSE file for information.