• This repository has been archived on 15/Feb/2024
  • Stars
    star
    152
  • Rank 244,685 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 12 years ago
  • Updated almost 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bitcoin P2P router, in python
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.

More Repositories

1

cpuminer

CPU miner for bitcoin
C
948
star
2

pyminer

Python miner for bitcoin
Python
835
star
3

python-bitcoinrpc

Python interface to bitcoin's JSON-RPC API
Python
645
star
4

picocoin

A bitcoin library in C, SPV wallet & more.
C
271
star
5

pushpool

Bitcoin mining pool server (getwork-based; obsolete)
C
194
star
6

python-bitcoinlib

Bitcoin library
Python
115
star
7

sqlfun

Modern SQL parser using Bison (Yacc) and Flex
Yacc
80
star
8

playground21

21BC playground
Python
79
star
9

moxiebox

Deterministic execution virtual machine sandbox for Moxie arch
C
74
star
10

univalue

High performance RAII C++ JSON library and universal value object class
C++
56
star
11

txtool

Bitcoin transaction tool
JavaScript
45
star
12

smartcoin

Distributed smart property software
Python
41
star
13

rust-protobuf-example

Example rust protobuf project
Rust
32
star
14

rpcsrv

JSON-RPC server based on C++11 and libevent
M4
31
star
15

auctionpunk

Bitcoin-based decentralized auction software
JavaScript
25
star
16

mcp

Payment channels for bitcoin
JavaScript
21
star
17

kvdbd

API service exporting embedded key/value databases to remote users
Rust
18
star
18

kvapp

Rust microservice template. Clone-and-go app exposing HTTP REST API to database.
Rust
17
star
19

bc-hashfs

Bitcoin Computer hashfs
Python
15
star
20

bip100

BIP 100 materials
12
star
21

arbot

Cryptocurrency mining arbitrage bot
Python
12
star
22

pybond

distribution bond market software
Python
12
star
23

posixutils

POSIX command line utilities, from scratch
Roff
11
star
24

itd

iSCSI target daemon
C
9
star
25

nfs4d

NFSv4 daemon
C
6
star
26

gdbm-native-rs

Rust crate library for reading/writing GDBM key/value databases
Rust
6
star
27

jup

Json UPdate tool -- a JSON swiss army knife
M4
5
star
28

tabled

table daemon
C
4
star
29

sparse-llvm

LLVM backend for Sparse
C
3
star
30

pgdb

key/value database library
C
3
star
31

pgdb2

C++ key/value database library
C++
3
star
32

hail

core cloud services
C
3
star
33

dirc

Decentralized IRC server & proxy
JavaScript
3
star
34

self-signed-cert-rs

Tool to generate self-signed TLS certificates for web servers
Rust
3
star
35

dvdns

Authoritative-only DNS server
C
2
star
36

pagedb

An on-disk key/value database library
Python
2
star
37

posixutils-rs

Core POSIX command line utilities in safe Rust
Rust
2
star
38

gdbm-docs

Unofficial technical documentation related to the GDBM database
2
star
39

outdoors

Checklists related to the outdoors, camping, survival, etc.
2
star
40

disclosures

1
star
41

gdbmtool-rs

GDBM interactive database tool
Rust
1
star
42

pcgtools

PCGen file tools
Rust
1
star