Repolode
gosuda

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. 1

    Rust toolchain と C/C++ のビルドツール(Debian/Ubuntu では build-essential)をインストールします

  2. 2

    リポジトリをクローンします

    git clone https://github.com/gosuda/bitcoin-rs.git
  3. 3

    quickstart プロファイルで bitcoin-rs バイナリをビルドします

    cargo build --locked --profile quickstart -p bitcoin-rs
  4. 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#blockchain#full-node#rust#p2p#json-rpc#esplora#bitcoin-core#bitcoin-node#btc

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト