Tendermint快速入门指南:从单节点到集群部署

Tendermint快速入门指南:从单节点到集群部署

tendermint ⟁ Tendermint Core (BFT Consensus) in Go tendermint 项目地址: https://gitcode.com/gh_mirrors/te/tendermint

什么是Tendermint

Tendermint是一个高性能的区块链共识引擎,它采用BFT(拜占庭容错)共识算法,能够在不信任的网络环境中实现分布式一致性。Tendermint核心由两部分组成:区块链共识引擎和通用应用程序接口(ABCI)。

安装Tendermint

快速安装方法

对于Ubuntu 16.04系统,可以使用以下脚本快速安装:

curl -L https://git.io/fFfOR | bash
source ~/.profile

安全提示:执行来自网络的脚本前,请确保你理解脚本内容。

手动安装

如需手动安装,需要先安装Go语言环境(1.13+版本),然后通过以下命令安装:

git clone https://github.com/tendermint/tendermint.git
cd tendermint
make install

安装完成后,可以通过tendermint version命令验证安装是否成功。

初始化单节点

初始化你的第一个Tendermint节点非常简单:

tendermint init

这个命令会在$HOME/.tendermint目录下创建必要的配置文件:

├── config
│   ├── config.toml    # 主配置文件
│   ├── genesis.json   # 创世文件
│   ├── node_key.json  # 节点密钥
│   └── priv_validator.json # 验证者密钥
└── data               # 数据目录

启动本地节点

启动一个带有内置KV存储应用的节点:

tendermint node --proxy_app=kvstore

注意kvstore是一个非持久化应用。如需持久化存储,可以使用persistent_kvstore

启动后,你将看到区块生成的日志信息:

I[01-06|01:45:15.592] Executed block module=state height=1 validTxs=0 invalidTxs=0

节点状态查询

可以通过以下命令查询节点状态:

curl -s localhost:26657/status

返回的JSON数据包含节点高度、最新区块哈希等关键信息。

交易操作

发送简单交易

向KV存储应用发送交易:

curl -s 'localhost:26657/broadcast_tx_commit?tx="abcd"'

查询交易

查询刚才发送的交易:

curl -s 'localhost:26657/abci_query?data="abcd"'

键值对操作

发送键值对交易:

curl -s 'localhost:26657/broadcast_tx_commit?tx="name=satoshi"'

查询特定键的值:

curl -s 'localhost:26657/abci_query?data="name"'

注意:返回的值是十六进制格式。

集群部署

Tendermint真正的威力在于其分布式特性。以下是部署4节点集群的步骤:

  1. 准备4台Ubuntu服务器(建议配置:3GB内存,20GB SSD)
  2. 在每台机器上执行安装脚本
  3. 使用tendermint testnet命令生成集群配置文件
  4. 将配置文件分发到各个节点
  5. 获取各节点的ID:
tendermint show_node_id --home ./mytestnet/node0
  1. 在每个节点上启动Tendermint,并指定持久化对等节点:
tendermint node --home ./mytestnet/node0 --proxy_app=kvstore \
--p2p.persistent_peers="ID1@IP1:26656,ID2@IP2:26656,ID3@IP3:26656,ID4@IP4:26656"

集群特性:当超过2/3的验证者节点在线时,系统将开始生成区块,实现BFT共识。

配置说明

主要配置文件config.toml包含以下重要参数:

  • p2p:P2P网络配置
  • consensus:共识参数
  • rpc:RPC服务配置
  • mempool:交易内存池配置

可以根据实际需求调整这些参数优化性能。

总结

通过本指南,你已经学会了如何:

  1. 安装Tendermint
  2. 初始化并运行单节点
  3. 与节点交互、发送交易
  4. 部署一个分布式集群

Tendermint的强大之处在于其简单易用的接口和高性能的BFT共识算法,使其成为构建各类区块链应用的理想选择。

tendermint ⟁ Tendermint Core (BFT Consensus) in Go tendermint 项目地址: https://gitcode.com/gh_mirrors/te/tendermint

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金斐茉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值