Build blockchain applications in Python for Tendermint
Supports: ABCI v0.16.0 and Tendermint v0.31.5
Requires Python >= 3.6.5
pip --user install bigchaindb-abci
OR python setup.py install
You ONLY need to mess with the protobuf stuff if you're developing on this code base, not to create apps.
If you just want to create apps, jump to Getting Started
A note on protobuf. You'll notice 2 additional directories: github
and protobuf
.
The github
dir is the protobuf generated code used by abci
. It adds proper Python
path (via __init___) and preserves all the import statements used by Tendermint for the various
protobuf files spread across their codebase. The protobuf
directory is the
source .proto files.
To build the protobuf files:
- Install protoc so it's available as a command from a terminal
- Run the genproto.py script
- Extend the BaseApplication class
- Implement the Tendermint ABCI callbacks - see https://github.com/tendermint/abci
- Run it
See the example app counter.py
application under the examples
directory
here: https://github.com/davebryson/py-abci/blob/master/examples/counter.py