Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
This python script (node.py) is a client node for the bitcoin network. It is based on ArtForz' public domain half-a-node at http://pastebin.com/ZSM7iHZw In its current form, node.py does nothing more than listen for new transactions and blocks, perform verification checks on the data, and store them in a database. Script verification is a separate, manual process (testscript.py). It is therefore not safe for general use. See BUGS and TODO files. A simple HTTP server for JSON-RPC API calls is also included. Send the "help" RPC call for a list of supported commands. It might be useful as the base for a P2P monitoring node, or similar tasks. Dependencies: python-bitcoinlib, https://github.com/jgarzik/python-bitcoinlib GEvent, http://www.gevent.org/ python-leveldb, http://code.google.com/p/py-leveldb/ Command line usage: ./node.py my-config-file The configuration file is a key=value text file, with the following settings: # hostname or IP address of network node to connect to host=127.0.0.1 # port of network node to connect to (default: 8333) port=8333 # JSON-RPC server user, password. Uses HTTP Basic authentication. rpcuser=XXXX rpcpass=YYYY # JSON-RPC server incoming TCP port (default: 9332) rpcport=9332 # database directory db=/tmp/chaindb # log filename, or '-' or no-value for standard output log=/tmp/chaindb/node.log # if present, import these blocks into the block database loadblock=/tmp/blk0001.dat # if present, disable all signature checking in new blocks # (disabled by default) nosig=1 # if present, force signature checking on all blocks, # even those normally skipped because they were prior # to a checkpoint. # (disabled by default) forcesig=1 node.py connects to a single remote node, and does not accept incoming P2P connections. If the connection is lost, node.py exits. See the "mini-node" branch for a single-file, non-chaindb node.