Tendermint基于Python的ABCI服务器

tm-abci的Python项目详细描述


用python为tendermint构建区块链应用程序

版本

支持ABCI v0.15.0和最新的Tendermint(0.26.0)

安装

需要python>;=3.6.5

pip install tm-abcipython setup.py install

生成protobuf

仅用于开发此代码库,而不是创建应用程序。如果你 只想创建应用程序,转到“入门”

  1. 更新所有.proto文件(protobuf dir)
  2. 安装protoc
  3. 安装go
  4. 通过go安装gogo protobuf
  5. 运行生成gogo

或使用Docker容器:

  1. 更新所有.proto文件(protobuf dir)
  2. 生成图像:sudo docker build -t abcidev .
  3. 运行容器:sudo docker run -it  abcidev sh
  4. 容器内部运行:make gogo

使用TM台架进行测试

如果要测试服务器和应用程序的吞吐量,请使用此选项。默认情况下,使用dummpy应用程序, 您可以在docker-compose.yml的abci命令部分(构建之前)更改它。

  1. 建立tm bench并移动到tm abci目录(您可以获得它here
  2. 在docker-compose.yml的tm bench命令部分更改测试配置
  3. 运行sudo docker-compose-fdocker-compose.yml up -d
  4. 请稍等几分钟(如果更改了默认值,则稍等/稍等),然后运行sudo docker-compose-fdocker-compose.yml logs --tail 50 tm-bench

开始

  1. 扩展baseapplication类
  2. 实现TenderMint ABCI回调-请参见https://github.com/tendermint/abci
  3. 运行它

请参阅examples目录下的示例应用程序counter.py应用程序 这里:https://github.com/SoftblocksCo/tm-abci/blob/master/examples/counter.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java传递实现接口的内部类   java为什么managedbean方法在post请求中的过滤器调用之前调用   java Android应用程序在Android M,O上崩溃,登录A/libc时出错:tid 17938中的致命信号11(SIGSEGV),代码2,故障地址0x343a2944   java JPA存储库。findByAll()返回null,但数据库中存在所有内容   用于发送电子邮件的java Ant脚本   Java小程序HTML页面发生了奇怪的事情   在Postman的请求正文中传递多个JSON数据,并使用Jersy(JXRS)进入Java Rest API   无法强制转换java DAO类   10分钟后重新连接java   正则表达式如何在java中选择字符串直到某个字符   java我的输出有一些问题   Objective中的java时间段   java如何在新屏幕上基于按钮单击在webview中打开url   java哪个selenium版本与Firefox ESR 45.2.0兼容   java无法使用Apache Camel 3.1.0将XML转换为JSON