brain-zhang / chainhorn

standalone, easy-to-use Python module implementing the full Bitcoin SPV client protocol.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chainhorn

Build Status

WARNING: chainhorn is still developing, so please be patient if things change or features iterate and change quickly. Once chainhorn hits 1.0, it will slow down considerably!

chainhorn is a standalone, easy-to-use Python module implementing the full Bitcoin SPV client protocol.

It's designed with mobile Lightning Network clients and compatible with lnd;

Now you must run a full bitcoin node to serve Lightning Network, chainhorn wants to provide a simple and light node for lightning network in the future;

Chainhorn is inspired with pyspv, python-bitconlib, btcpy, neutrino, pycoind;

Requirements(ubuntu16.04)

pip install -r requirements.txt
sudo apt install -y supervisor
sudo apt install -y libgdbm-dev

Run

bin/chainhorn start

Roadmap to v1 && Features

  • [TODO] SPV implementation, so relatively lightweight
  • [TODO] Python, useful for server and user applications
  • [TODO] Testnet support
  • [TODO] Extensible payment monitor and transaction building system
  • [TODO] Support for segwit
  • [TODO] Support for BIP157
  • [TODO] Support for BIP158
  • [TODO] simple mini api set compatible with bitcore core rpc

Commands

Available commands:

  • GET '/v1/node'
  • GET '/v1/node/peers'
  • PUT '/v1/node/shutdown'
  • PUT '/v1/node/start'
  • GET '/v1/wallet'
  • POST '/v1/wallet/address'
  • POST '/v1/wallet/spends'
  • POST '/v1/wallet/sendtoaddress'
  • POST '/v1/wallet/importprivkey/string:wif'
  • GET '/v1/wallet/dumpprivkey/string:address'
  • POST '/v1/wallet/broadcasttx/string:tx'

Documentation

TODO

About

standalone, easy-to-use Python module implementing the full Bitcoin SPV client protocol.

License:MIT License


Languages

Language:Python 98.6%Language:Shell 1.1%Language:Dockerfile 0.2%