Skip to main content

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

  1. Update all .proto files (protobuf dir)
  2. Install protoc
  3. Install go
  4. Install gogo protobuf via go
  5. Run make gogo

Or using Docker container:

  1. Update all .proto files (protobuf dir)
  2. Build image:sudo docker build -t abcidev .
  3. Run container: sudo docker run -it  abcidev sh
  4. 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).

  1. Build tm-bench and move to tm-abci directory (you can get it here)
  2. Change testing config in tm-bench command section of docker-compose.yml
  3. Run sudo docker-compose -f docker-compose.yml up -d
  4. 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

  1. Extend the BaseApplication class
  2. Implement the Tendermint ABCI callbacks - see https://github.com/tendermint/abci
  3. 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.

Files for tm-abci, version 0.6.3
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

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page