Tendermint基于Python的ABCI服务器
tm-abci的Python项目详细描述
用python为tendermint构建区块链应用程序
版本
支持ABCI v0.15.0和最新的Tendermint(0.26.0)
安装
需要python>;=3.6.5
pip install tm-abci或python setup.py install
生成protobuf
仅用于开发此代码库,而不是创建应用程序。如果你 只想创建应用程序,转到“入门”
- 更新所有.proto文件(protobuf dir)
- 安装protoc
- 安装go
- 通过go安装gogo protobuf
- 运行生成gogo
或使用Docker容器:
- 更新所有.proto文件(protobuf dir)
- 生成图像:sudo docker build -t abcidev .
- 运行容器:sudo docker run -it abcidev sh
- 容器内部运行:make gogo
使用TM台架进行测试
如果要测试服务器和应用程序的吞吐量,请使用此选项。默认情况下,使用dummpy应用程序, 您可以在docker-compose.yml的abci命令部分(构建之前)更改它。
- 建立tm bench并移动到tm abci目录(您可以获得它here)
- 在docker-compose.yml的tm bench命令部分更改测试配置
- 运行sudo docker-compose-fdocker-compose.yml up -d
- 请稍等几分钟(如果更改了默认值,则稍等/稍等),然后运行sudo docker-compose-fdocker-compose.yml logs --tail 50 tm-bench
开始
- 扩展baseapplication类
- 实现TenderMint ABCI回调-请参见https://github.com/tendermint/abci
- 运行它
请参阅examples目录下的示例应用程序counter.py应用程序 这里:https://github.com/SoftblocksCo/tm-abci/blob/master/examples/counter.py