CAIP-2是一种用于人类可读、开发者友好及交易友好的方式来标识区块链。它定义了区块链ID的语法和语义,以便能够在区块链生态系统中唯一标识不同的区块链,如Ethereum和Bitcoin等,并讨论了其在实现过程中的动机和目标。
CAIP-2 定义了一种人类可读、开发者友好和交易友好的方式来识别区块链(例如:以太坊主网、Görli、比特币、Cosmos Hub)。
你经常需要引用一个区块链,例如,当你想说明某个资产或智能合约的位置时。在以太坊中,通常使用 EIP155 链 ID。但是使用以太坊链 ID 你无法引用例如比特币或 Cosmos 链。
创建这个 CAIP(及 CAIP 过程本身)的最终触发因素是关于 [EIP2256] 在 Ethereum-Magicians 中的讨论。 独立地,创建了 Universal Chain Registry,其核心需要恰当地指定链标识符。关于网络 ID 格式的 讨论 把这个小组与 ChainAgnostic 联系在了一起。
区块链 ID(简称“链 ID”)是一个字符串,旨在以开发者友好的方式唯一识别区块链。
chain_id
是一个对大小写敏感的字符串,形式为
chain_id: namespace + ":" + reference
namespace: [-a-z0-9]{3,8}
reference: [-_a-zA-Z0-9]{1,32}
每个 namespace
涵盖一类类似的区块链。通常它描述一个生态系统或标准,例如 cosmos
或 eip155
。
一个命名空间应该指代一种解决方法来解决链的引用。reference
是在给定命名空间内识别区块链的方式。
语义以及更细粒度的语法将委托给每个命名空间规范,并将在分别的 CAIP 中定义,描述解析方法。
一般链 ID 格式的目标是:
以下的次要目标可以轻松实现:
这些次要目标在此过程中已经放弃:
这是一个手动编写的示例列表
## 以太坊主网
eip155:1
## 比特币主网 (见 https://github.com/bitcoin/bips/blob/master/bip-0122.mediawiki#definition-of-chain-id)
bip122:000000000019d6689c085ae165831e93
## 莱特币
bip122:12a765e31ffd4059bada1e25190f6e98
## 羽毛币 (莱特币分叉)
bip122:fdbe99b90c90bae7505796461471d89a
## Cosmos Hub (Tendermint + Cosmos SDK)
cosmos:cosmoshub-2
cosmos:cosmoshub-3
## 币安链 (Tendermint + Cosmos SDK;见 https://dataseed5.defibit.io/genesis)
cosmos:Binance-Chain-Tigris
## IOV 主网 (Tendermint + weave)
cosmos:iov-mainnet
## StarkNet 测试网
starknet:SN_GOERLI
## Lisk 主网 (LIP-0009;见 https://learnblockchain.cn/article/14119)
lip9:9ee11e9df416b18b
## 虚拟最大长度 (8+1+32 = 41 字符/字节)
chainstd:8c3444cf8970a9e41a706fab93e7a6c4
版权及相关权利通过 CC0 放弃。
- 原文链接: github.com/ChainAgnostic...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!