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在eclipse中查找测试类   sql JAVA如何将数组传递到@NamedNativeQuery   Java通用列表   java JnetPcap:从脱机文件读取非常慢   从java读取Arduino上的LED状态   java NetBeans在安装JAXRPC插件后不会启动   java我只能连接到数据库一次   java如何将Eclipse的自动插入分号移动到光标之前?   java Kotlin Lint测试失败,即使它在生产环境中工作   在java代码中使用python库   安卓 java。lang.IllegalArgumentException:baseUrl必须以/结尾,同时对GET方法使用改型2.1.0   java如何理解servlet中的参数值?   java按子类导入父类包限定符的内部接口   在LibGDX中,在程序运行时更改fixture定义   javajavax。servlet。LocalStrings缺少资源   java如何使用FCM令牌向Android中的特定用户发送通知?   actionscript 3 Flex与Java GWT的集成   java无法解析hibernate。cfg。xml   使用相同的正则表达式时,Python和Java正则表达式的行为不同