Avalanche子网创建全攻略:从零开始构建你的自定义区块链网络


在Avalanche生态系统中,子网(Subnet)是一项核心且强大的功能,它允许用户创建和定制自己的区块链网络,具备独立的共识机制、虚拟机和规则集,无论是为特定应用构建专用链、 launching Layer 2 解决方案,还是组织私有联盟链,子网都提供了极大的灵活性和可扩展性,本教程将带你一步步了解并创建一个属于自己的Avalanche子网。

什么是Avalanche子网?

在深入创建步骤之前,我们先简单理解子网的概念,Avalanche的原生共识机制称为雪崩(Avalanche),它通过抽样子网中的验证者来达成共识,整个Avalanche网络由多个主网(Mainnet)链(如X链、C链、P链)和无数个子网组成。

  • 主网链:提供核心功能,如资产交易(X链)、智能合约(C链)和验证者管理(P链)。
  • 子网:可以看作是“链的集合”或“验证者池”,一个子网可以包含一条或多条具有自定义共识规则和虚拟机的区块链,这些链可以是:
    • Avalanche原生链:使用Avalanche共识,但可以自定义参数。
    • EVM兼容链:与以太坊虚拟机兼容,可以运行Solidity智能合约(如Avalanche上的C-Chain本身就是一个巨大的子网,你也可以创建自己的EVM子网)。
    • 其他VM链:支持如Avascript等其他虚拟机。

创建子网前的准备工作

  1. Avalanche节点:你需要在你的机器上运行一个Avalanche节点,你可以从Avalanche官方GitHub获取最新版本的avalanchego二进制文件或源代码,并按照官方文档进行搭建和配置。
  2. AVALANCHE_CLI工具avalanche-cli是用于与Avalanche节点交互的命令行工具,简化了节点管理和子网创建等操作,你可以通过go install命令安装它:
    go install github.com/ava-labs/avalanchego/tools/avalanche-cli@latest
  3. 足够的AVAX:你需要向你的Avalanche节点钱包中转入足够的AVAX,用于支付创建子网、添加验证者等操作所需的交易费用(称为“subnet creation fee”和“stake fee”,具体金额可能随网络状态变化)。
  4. 基本命令行操作能力:熟悉Linux/Mac命令行操作,Windows用户可能需要WSL(Windows Subsystem for Linux)环境。

创建子网的详细步骤

假设你已经完成了准备工作,并成功启动了你的Avalanche节点。

步骤1:初始化Avalanche CLI并连接节点

你需要初始化avalanche-cli并让它连接到你的本地节点,打开终端,运行:

avalanche-cli --endpoint=http://localhost:9650 init

根据提示,输入你的节点信息,如果你的节点运行在默认端口9650上,--endpoint参数可以省略。

步骤2:创建新的子网

这是创建子网的核心步骤,使用create-subnet命令:

avalanche-cli create-subnet

命令执行后,你会被要求输入一些信息:

  • 子网名称(Subnet Name):给你的子网起一个唯一的、易于识别的名称,例如my-awesome-subnet
  • 随机配图