bitwasp / bitcoin-node
A bitcoin node
Requires
- php: >=5.4.0
- ext-gmp: *
- ext-json: *
- bitwasp/bitcoin-p2p: ~0.0.10
- bitwasp/thread: 0.0.1
- cboden/ratchet: ^0.3.4
- doctrine/orm: 2.4.*
- packaged/config: ~1.2
- pimple/pimple: ^3.0
- react/zmq: 0.3
- symfony/console: ~2.7
- symfony/yaml: 2.*
Requires (Dev)
- bitwasp/testing-php: ~0.0
This package is auto-updated.
Last update: 2024-10-23 04:55:34 UTC
README
A toolkit for building a bitcoin node, built with ReactPHP. See Design.md for more detailed overview.
This repository includes a console application built from the Symfony Console package.
The BitcoinNode
class supports headers first download, and will then attempt to download the full block history. Since this will likely take a few days, I haven't had the patience to leave it running. Still much code to write.
Requirements
- ext-zmq
- ext-gmp
- ext-json
- ext-curl
- ext-mcrypt
Installation
To run the software:
git clone https://github.com/Bit-Wasp/node-php.git
composer install
To include in your projects:
composer require bitwasp/bitcoin-node
You'll need a SQL database & credentials. Schema files are in ./sql Warning: these may be ruthlessly updated!
Configuration
Dump a blank config file:
phpnode print-config > config.ini
Create in the default location:
mkdir ~/.phpnode && phpnode print-config > ~/.phpnode/bitcoin.ini
Run the software
See the list of commands:
phpnode list
Or general help:
phpnode help
Controlling the node
Start with config file in the default location:
phpnode node:start
IMPORTANT: How to the stop the software (don't use CTRL-C)
phpnode node:stop
Run with configuration in an alternative location:
phpnode node:start -c /tmp/yourconfig
Watch a debug log of events reported by the node:
phpnode node:watch
Show information about the node's best chain:
phpnode node:info
Show information about all tracked chains:
phpnode node:chains
Administering the database
Wipe the database:
phpnode db:wipe
Empty all tables:
phpnode db:reset
Empty only full block data (leave headers/index alone):
phpnode db:blocks:reset