Hi Guest

More contents, please log on!

Bitmere.com 区块链前沿 Content

使用Python编写Tendermint应用程序

来自星星G
12 0 0
在计算机科学中,状态机指的是读取一系列输入的东西,并且基于这些输入,将转换到新状态。
使用Tendermint的状态机,我们从“创世状态”开始。这类似于在网络上发生任何事务之前的空白状态。执行事务时,此创世状态转换为某种最终状态。在任何时间点,这个最终状态代表了Tendermint的当前状态。

开发人员应该定义容忍故障的初始状态和该状态下的允许转换集,系统确保每个副本以相同的状态开始,并且每个副本以相同的顺序进行相同的状态转换,这是状态机复制。
或者我们可以称之为区块链。现在让我们深入了解事情的细节。
使用tendermint编写应用程序
Tendermint可以复制用任何编程语言编写的确定性状态机。

安装tendermint
让我们首先运行一个预先构建的应用程序,然后了解如何使它成为我们的程序。我们将使用名为kvstore的应用程序。这是一个简单的应用程序,它将采用“密钥”和“值”并存储它。因此,稍后您可以在搜索“密钥”时获取该值,这是一个非常简单的数据库应用。

运行预建的kvstore
Tendermint团队已经在应用程序中构建了kvstore示例。
最好按照我们的方式输入这些内容,这就是我没有输入输出的原因。

让我们使用命令’tendermint node’来分解我们启动应用程序的过程。 tendermint应用程序在本地计算机上的端口26657上运行。 转到该端口以查看应用程序是否顺利运行。
KVStore使用abci-cli
为什么我们使用不同的方式执行相同的任务,您没有总是键入curl命令。 Tendermint有一个名为abci-console的工具,它允许您轻松地向Tendermint应用程序发送请求。
ABCI是应用程序区块链接口的简称,它将应用程序与区块链连接起来。
abci-console允许大家轻松发送交易。 现在让我们看看在abci-console中使用的方法将事务发送到Tendermint。

我们使用deliver_tx发送事务,这是在我们的机器中更新状态的部分。 我们提交了该事务来存储事务,状态增加链存储块高度的地方。 之后我们从Tendermint节点查询它,基本上查找给定键值的状态。

让我们总结一下。
您交付交易,然后提交交易,然后您可以查询交易。
现在,让我们看看如何根据需要制作KV Store应用程序。
如果你注意到我使用了home标志,那就是确保genesis标记位于名为node的文件夹中。
具体实现代码请到公众号:区块链研究实验室获取
BitMere.com is Information release platform,just provides information storage space services.
The opinions expressed are solely those of the author,Does not constitute advice, please treat with caution.
You have to log in before you can reply Login | 立即注册

Points Rules

Write the first review

来自星星G 小学生
  • Follow

    0

  • Following

    0

  • Articles

    6

Promoted