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.
- ext-zmq
- ext-gmp
- ext-json
- ext-curl
- ext-mcrypt
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!
Dump a blank config file:
phpnode print-config > config.ini
Create in the default location:
mkdir ~/.phpnode && phpnode print-config > ~/.phpnode/bitcoin.ini
See the list of commands:
phpnode list
Or general help:
phpnode help
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
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