Полноузловая нода Bitcoin на Rust: вместо набора UTXO использует реляционный архив и включает сервер Electrum.
gosuda/bitcoin-rs
Независимый Bitcoin full node на Rust с совместимыми с Core интерфейсами P2P и RPC и встраиваемыми компонентами узла.
- Звёзды
- 58
- Форки
- 6
- Открытые issues
- 24
- Последний коммит
- позавчера
Что это?
bitcoin-rs — это демон полноузлового Bitcoin-узла и workspace на Rust, который можно встраивать в другие приложения. Он самостоятельно управляет состоянием цепочки, хранилищем, синхронизацией блоков, mempool, шаблонами для майнинга и внешними серверами, используя для низкоуровневых примитивов библиотеки rust-bitcoin.
Узел предоставляет совместимые с Core интерфейсы P2P, JSON-RPC, REST, ZMQ и Esplora HTTP. Его индексы (txindex, blockfilterindex и scriptindex) служат основой для Esplora API и инструментов для descriptor и PSBT, а ключи кошелька остаются за пределами узла. По умолчанию скрипты проверяются встроенным интерпретатором на Rust; при включённом feature flag можно использовать backend libbitcoinkernel.
Проект собирается из исходного кода — готовые бинарные файлы не публикуются. Совместимость проверяется с Bitcoin Core 31.1 в regtest, а в README нет заявлений о готовности к работе в production или в mainnet.
Ключевые возможности
- 01Совместимая с Core сеть P2P, транспорт BIP324 v2 и компактные блоки
- 02Интерфейсы JSON-RPC, REST, ZMQ и Esplora HTTP
- 03Встраиваемый тип Node, который можно запускать и останавливать из кода на Rust
- 04Встроенные индексы txindex, blockfilterindex и scriptindex
- 05Выбор способа проверки скриптов: встроенный интерпретатор на Rust или libbitcoinkernel
Сценарии использования
- Запуск узла в regtest для локальной разработки и тестирования Bitcoin-приложений
- Встраивание полноузлового клиента в приложение на Rust вместо вызовов RPC
- Предоставление API в стиле Esplora для обозревателей блоков или backend-систем кошельков
- Изучение альтернативных архитектур узлов с сохранением совместимого с Core поведения
Быстрый старт
- 1
Установите toolchain Rust и инструменты сборки C/C++ (build-essential в Debian/Ubuntu)
- 2
Клонируйте репозиторий
git clone https://github.com/gosuda/bitcoin-rs.git - 3
Соберите бинарный файл bitcoin-rs с профилем quickstart
cargo build --locked --profile quickstart -p bitcoin-rs - 4
Запустите локальный узел regtest, привязанный к loopback
./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 Releases, поэтому его необходимо собрать из исходного кода.
- В README не заявляются ни паритет, ни готовность к промышленной эксплуатации; некоторые функции, например wallet RPC, намеренно не поддерживаются.
- Для проактивных объявлений о блоках всё ещё ожидается сохранённый квалификационный прогон.
- BIP352 Silent Payments и адаптер Stratum V2 являются экспериментальными.
Темы
Частые вопросы
- Что такое bitcoin-rs?
- Независимый Bitcoin full node на Rust с совместимыми с Core интерфейсами P2P и RPC и встраиваемыми компонентами узла. bitcoin-rs — это демон полноузлового Bitcoin-узла и workspace на Rust, который можно встраивать в другие приложения. Он самостоятельно управляет состоянием цепочки, хранилищем, синхронизацией блоков, mempool, шаблонами для майнинга и внешними серверами, используя для низкоуровневых примитивов библиотеки rust-bitcoin.
- bitcoin-rs можно использовать бесплатно? Какая у него лицензия?
- bitcoin-rs распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- bitcoin-rs всё ещё поддерживается?
- Активно поддерживается. Последний коммит в bitcoin-rs — 5 нояб. 2026 г..
- Для чего можно использовать bitcoin-rs?
- Запуск узла в regtest для локальной разработки и тестирования Bitcoin-приложений Встраивание полноузлового клиента в приложение на Rust вместо вызовов RPC Предоставление API в стиле Esplora для обозревателей блоков или backend-систем кошельков Изучение альтернативных архитектур узлов с сохранением совместимого с Core поведения
- Как установить bitcoin-rs?
- Установите toolchain Rust и инструменты сборки C/C++ (build-essential в Debian/Ubuntu) Клонируйте репозиторий: git clone https://github.com/gosuda/bitcoin-rs.git Соберите бинарный файл bitcoin-rs с профилем quickstart: cargo build --locked --profile quickstart -p bitcoin-rs Запустите локальный узел regtest, привязанный к loopback: ./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 проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Альтернативная реализация Bitcoin full node на Go, которая проверяет и раздаёт блокчейн, но не поддерживает функции кошелька.
Референсная реализация Bitcoin-протокола с полной нодой: подключается к P2P-сети и проверяет блоки и транзакции.
Реализация исполнительного уровня Ethereum на Go: запуск полного или архивного узла, доступ через JSON-RPC и инструменты для разработчиков.
Dash Core — ПО с открытым исходным кодом для узла и кошелька криптовалюты Dash, предназначенное для мгновенных приватных платежей.
Реализация full node Kaspa на Rust, а также wallet CLI, WASM SDK и библиотеки wRPC для блокчейна Kaspa.