UTXOセットの代わりにリレーショナルアーカイブを採用し、Electrumサーバーを内蔵したRust製Bitcoinフルノード。
gosuda/bitcoin-rs
Core互換のP2P・RPCインターフェースを備え、他のアプリにも組み込めるRust製の独立したBitcoinフルノード。
- スター
- 58
- フォーク
- 6
- 未解決の Issue
- 24
- 最終コミット
- 昨日
これは何?
bitcoin-rsは、Bitcoinのフルノードデーモンであり、他のアプリケーションに組み込めるRustワークスペースです。rust-bitcoinの各ライブラリクレートを低レベルのプリミティブに利用しつつ、チェーン状態、ストレージ、ブロック同期、mempool、マイニングテンプレート、外部サーバーを独自に管理します。
Core互換のP2P、JSON-RPC、REST、ZMQ、Esplora HTTPインターフェースを公開します。インデックス(txindex、blockfilterindex、scriptindex)はEsplora APIやdescriptor・PSBTヘルパーを支え、ウォレットの鍵はノードの外部で管理されます。スクリプト検証にはデフォルトでネイティブのRustインタープリターを使い、feature flagを有効にするとlibbitcoinkernelバックエンドも選択できます。
このプロジェクトはソースからビルドする必要があり、リリースバイナリは公開されていません。Bitcoin Core 31.1との互換性はregtestでテストされていますが、READMEでは本番環境やmainnetでの利用準備が整っているとはうたっていません。
主な機能
- 01BIP324 v2トランスポートとcompact blocksに対応したCore互換のP2Pネットワーク
- 02JSON-RPC、REST、ZMQ、Esplora HTTPインターフェース
- 03Rustコードから起動・停止できる、組み込み可能なNode型
- 04txindex、blockfilterindex、scriptindexを標準搭載
- 05ネイティブRustインタープリターまたはlibbitcoinkernelを選べるスクリプト検証
ユースケース
- Bitcoinアプリケーションの開発やローカルテストに使うregtestノードの実行
- RPCを呼び出す代わりに、Rustアプリケーションへフルノードを組み込む
- ブロックエクスプローラーやウォレットのバックエンド向けにEsplora形式のAPIを提供する
- Core互換の動作を維持しながら、別のノードアーキテクチャを研究する
クイックスタート
- 1
Rust toolchain と C/C++ のビルドツール(Debian/Ubuntu では build-essential)をインストールします
- 2
リポジトリをクローンします
git clone https://github.com/gosuda/bitcoin-rs.git - 3
quickstart プロファイルで bitcoin-rs バイナリをビルドします
cargo build --locked --profile quickstart -p bitcoin-rs - 4
loopback にバインドしたローカルの regtest ノードを起動します
./target/quickstart/bitcoin-rs --network regtest --data-dir .bitcoin-rs-regtest --p2p-listen 127.0.0.1:18444 --dns-seeds-enabled=false --rpc-bind 127.0.0.1:18443 --scriptindex=utxo &
使う前に知っておきたいこと
- GitHub Release のバイナリは公開されていないため、ソースからビルドする必要があります。
- README では同等性や本番環境での利用可能性は主張されておらず、wallet RPC など一部の機能は意図的にサポートされていません。
- プロアクティブなブロック通知は、再現可能な適格性テストの実施を待っています。
- BIP352 Silent Payments と Stratum V2 アダプターは実験的です。
トピック
よくある質問
- bitcoin-rs とは?
- Core互換のP2P・RPCインターフェースを備え、他のアプリにも組み込めるRust製の独立したBitcoinフルノード。 bitcoin-rsは、Bitcoinのフルノードデーモンであり、他のアプリケーションに組み込めるRustワークスペースです。rust-bitcoinの各ライブラリクレートを低レベルのプリミティブに利用しつつ、チェーン状態、ストレージ、ブロック同期、mempool、マイニングテンプレート、外部サーバーを独自に管理します。
- bitcoin-rs は無料で使えますか?ライセンスは?
- bitcoin-rs は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- bitcoin-rs は今もメンテナンスされていますか?
- 活発にメンテナンス中。bitcoin-rs の最終コミットは 2026年11月5日 です。
- bitcoin-rs は何に使えますか?
- Bitcoinアプリケーションの開発やローカルテストに使うregtestノードの実行 RPCを呼び出す代わりに、Rustアプリケーションへフルノードを組み込む ブロックエクスプローラーやウォレットのバックエンド向けにEsplora形式のAPIを提供する Core互換の動作を維持しながら、別のノードアーキテクチャを研究する
- bitcoin-rs のインストール方法は?
- Rust toolchain と C/C++ のビルドツール(Debian/Ubuntu では build-essential)をインストールします リポジトリをクローンします: git clone https://github.com/gosuda/bitcoin-rs.git quickstart プロファイルで bitcoin-rs バイナリをビルドします: cargo build --locked --profile quickstart -p bitcoin-rs loopback にバインドしたローカルの regtest ノードを起動します: ./target/quickstart/bitcoin-rs --network regtest --data-dir .bitcoin-rs-regtest --p2p-listen 127.0.0.1:18444 --dns-seeds-enabled=false --rpc-bind 127.0.0.1:18443 --scriptindex=utxo &
- bitcoin-rs はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/gosuda/bitcoin-rs
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ウォレット機能を持たず、ブロックチェーンを検証・提供するGo製の代替Bitcoinフルノード実装です。
Bitcoinプロトコルのリファレンス実装となるフルノード。P2Pネットワークに接続してブロックとトランザクションを検証します。
Ethereum実行レイヤーのGo実装。フルノードまたはアーカイブノードとして稼働し、JSON-RPC APIや開発者向けツールを提供します。
Dash Coreは、即時かつプライベートな決済を実現する、Dashピアツーピア型デジタル通貨のオープンソースノード兼ウォレットソフトウェアです。
Kaspaブロックチェーン向けのフルノードRust実装に加え、ウォレットCLI、WASM SDK、wRPCライブラリを提供。