Devnet、testnet 与 mainnet
ZooBC 运行着三个网络:devnet、testnet 和 mainnet。每个网络都是一条独立的链,有自己的创世区块、自己的节点和自己的余额。Mainnet 是其 ZBC 承载真实价值的网络。Testnet 以同样的方式运作,但其币没有价值;devnet 则为开发而采用更短的时间参数。
三条独立的链
| mainnet | testnet | devnet | |
|---|---|---|---|
| 配置中的链 id | zoobc-mainnet | zoobc-test | zoobc-dev |
| 用途 | 真实价值 | 无风险地试用每一项功能 | 开发和测试改动 |
| 规则与数值 | 基准 | 与 mainnet 相同 | 规则相同,时间参数更短 |
| 创世席位 | 11 | 11 | 11 |
| 创世币 | 14 | 同样的 14 种 | 同样的 14 种 |
由于它们是各自独立的链,这三个网络不共享任何东西:
- 在一个网络上获得资金的地址在另一个网络上一无所有:那里的 API 会报告余额为零,而不是返回错误。
- 为一个网络签名的交易在其他网络上无效,因为每个签名都覆盖它所针对那条链的创世哈希(链绑定签名)。
- 不同网络的节点拒绝相互连接:它们会先比较创世哈希(创世区块)。
要查看一个节点服务的是哪个网络,请读取 /api/v1/node/info 中的 genesis_hash。
Mainnet
Mainnet 是用于承载真实价值的网络。本维基各处给出的数值都是 mainnet 的数值。
Testnet
Testnet 是公开的测试网络。从 0.5.8 版本起,它与 mainnet 保持一致:规则相同,数值也相同,例如 30 天的快照周期、600 天除以席位数的准入节奏(保持在 7 到 90 天之间,第一个新加入者在创世后 7 天准入),以及 100 ZBC 的队列最低额和 250 ZBC 的上限(准入节奏、注册节点)。在 testnet 上可行的东西,在 mainnet 上也以同样的方式运作。
它的币没有价值。任何人都可以从 testnet 网关上的水龙头领取一些,用来试用钱包、代币、市场、应用或 API。水龙头第一次请求最多发放 100 ZBC,之后依次为 50、25、12.5 等等,每次减半,直到某次请求的发放额会少于 1 ZBC 为止。它按地址或按互联网地址统计已领取的数量,额度每周重置(网关)。
Devnet
Devnet 是开发网络,用于试验改动。它保留 15 秒的区块间隔,但缩短了许多时长,使其效果在几分钟或几小时内就能显现,而不必等上几天或几周:
| devnet | mainnet 和 testnet | |
|---|---|---|
| 回滚上限 | 60 个区块(15 分钟) | 720 个区块(3 小时) |
| 脊链区块 | 每小时 | 每天 |
| 脊链检查点和快照的深度 | 80 个区块 | 760 个区块 |
| 快照周期 | 240 个区块(1 小时) | 172,800 个区块(30 天) |
| 账户租金 | 每 240 个区块 1 ZBC | 每 172,800 个区块 0.01 ZBC |
| 默认更新延迟 | 120 个区块 | 11,520 个区块(2 天) |
| 分数时钟的最小单位 | 120 个区块(30 分钟) | 2,880 个区块(12 小时) |
| 准入节奏 | 180 秒 ÷ 席位数,保持在 60 到 300 秒之间 | 600 天 ÷ 席位数,保持在 7 到 90 天之间 |
| 启动时的队列最低额 | 1 ZBC(上限 2.5 ZBC) | 100 ZBC(上限 250 ZBC) |
其他 mainnet 参数列在 mainnet 上的节点参数 中。