Python based ABCI Server for Tendermint
Project description
Build blockchain applications in Python for Tendermint
Version
Supports ABCI v0.15.0 and latest Tendermint (0.26.0)
Installation
Requires Python >= 3.6.5
pip install tm-abci OR python setup.py install
Generating Protobuf
ONLY needed for developing this code base, not to create apps. If you just want to create apps, goto Getting Started
- Update all .proto files (protobuf dir)
- Install protoc
- Install go
- Install gogo protobuf via go
- Run make gogo
Or using Docker container:
- Update all .proto files (protobuf dir)
- Build image:sudo docker build -t abcidev .
- Run container: sudo docker run -it abcidev sh
- Inside container run: make gogo
Testing with tm-bench
Use this if you want to test throughput of server and application. By default, dummpy app is used, you can change it in docker-compose.yml, abci command section (before build).
- Build tm-bench and move to tm-abci directory (you can get it here)
- Change testing config in tm-bench command section of docker-compose.yml
- Run sudo docker-compose -f docker-compose.yml up -d
- Wait about minute (or more/less if you changed default) and run sudo docker-compose -f docker-compose.yml logs --tail 50 tm-bench
Getting Started
- 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/SoftblocksCo/tm-abci/blob/master/examples/counter.py
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size tm_abci-0.6.3-py3-none-any.whl (26.6 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size tm-abci-0.6.3.tar.gz (22.0 kB) | File type Source | Python version None | Upload date | Hashes View |