0x00 前言

因为上一篇文章写了太多内容,特别是我记录了许多踩坑的细节和问题修复的过程,对读者可能不那么友好,因此我认为有必要做一个关键点的总结,更方便阅读和实践。

0x01 前篇总结

上一篇文章,我们分别完成了:

  1. 使用 Cosmos-SDK 搭建区块链并启动单个节点
  2. 使用 Ignite 搭建区块链并启动单个节点(开发节点)
  3. 使用 Ignite Chain 发布区块链并启动多个节点

使用 Cosmos-SDK 搭建区块链并启动单个节点

这步骤仅用于体验如何使用 Cosmos-SDK 来构建区块链,实际开发中我们直接使用 Ignite。参考 https://tutorials.cosmos.network/tutorials/3-run-node/ ,编译构建 Cosmos-SDK 提供的 simapp,然后手动执行链初始化、添加账户、发起创世交易、启动节点操作,成功启动节点。这个过程中一般不会遇到太多问题。

使用 Ignite 搭建区块链并启动单个节点(开发节点)

按照官方教程(https://docs.ignite.com/welcome/install)安装 Ignite:

curl <https://get.ignite.com/cli>! | bash

使用 ignite version 检查是否安装成功,会展示如下信息。下面展示的各服务版本号也是我自己执行时的版本号,建议你所使用的版本号和下面保持一致:

? Ignite uses anonymized metrics to enhance the application, focusing on features such as command usage. We do not collect identifiable personal information. Your privacy is important to us. For more details, please visit our Privacy Policy at ht✔ Yes
Ignite CLI version:		v28.8.2
Ignite CLI build date:		2025-03-16T20:29:10Z
Ignite CLI source hash:		a1f12a73d0ff1d87a478d7c9287ea3722671da17
Ignite CLI config version:	v1
Cosmos SDK version:		v0.50.13
Your OS:			darwin
Your arch:			arm64
Your go version:		go version go1.23.8 darwin/arm64
Your uname -a:			...
Your cwd:			...
Is on Gitpod:			false

然后使用 Ignite 脚手架启动一个 example 区块链

ignite scaffold chain example

启动这个 example 区块链(他会自动帮你进行上面的初始化、账号创建等操作)

ignite chain serve

启动成功:

Blockchain is running

✔ Added account alice with address cosmos1g588ugr4lfy8rkdhee66fm4l84v4svesrml5ae and mnemonic:
monster <mnemonic-of-alice> sphere

✔ Added account bob with address cosmos14fptatf0xze9lykkwy3rw5mzs9pfq07nmp50vu and mnemonic:
shoulder <mnemonic-of-bob> pass

🌍 Tendermint node: <http://0.0.0.0:26657>
🌍 Blockchain API: <http://0.0.0.0:1317>
🌍 Token faucet: <http://0.0.0.0:4500>

⋆ Data directory: /Users/<your-user-name>/.example
⋆ App binary: /Users/<your-user-name>/go/bin/exampled