架构设计
最后更新于
Canto 网络是使用 和自定义模块构建的主权链。 Cosmos SDK 链可以使用 搭建、构建和交互。
Canto 支持 EVM,利用名为 的模块部署 EVM 执行环境,使 Solidity 代码可以直接从以太坊网络部署。 Canto 使用 模块在 CosmWasm 代币和 ERC-20 标准代币之间建立原生桥梁。
这就是它的工作原理:
x/erc20 模块维护原生 Cosmos 币面额到 ERC20 代币合约地址(即 sdk.Coin ←→ ERC20)的规范一对一映射,称为 TokenPair。 可以通过治理启用或禁用给定对的 ERC20 代币 ←→ 代币的转换。
原生 Cosmos Coin 对应原生的 sdk.Coin(它控制 Cosmos SDK 中的账户余额和代币供应)。 它可以是原生质押/gas 面额(例如:EVMOS、ATOM 等)或 IBC 可替代代币凭证(即 ibc/{hash} 的 denom 格式)。 当针对现有原生 Cosmos 硬币发起提案时,erc20 模块将部署工厂 ERC20 合约,代表代币对的 ERC20 代币,赋予模块该合约的所有权。
在 Cosmos 币的注册过程中,以下银行元数据用于部署 ERC20 合约:
Canto 链上原生 Cosmos 硬币和 IBC 凭证的持有者可以将他们的硬币转换为 ERC20 代币,然后可以通过创建一个 在 ethermint EVM 中使用。 反之亦然, 允许 Canto 链上的 ERC20 代币持有者将 ERC-20 代币转换回其原生 Cosmos 代币表示形式。
允许用户通过向模块帐户地址发送以太坊 tx 转账,将 ERC20 转换为 Cosmos 币。 这允许通过 Metamask 和支持 EVM 的钱包对通过本地 Cosmos 硬币或 ERC20 令牌注册的两个令牌对进行令牌的本地转换。
要了解有关 Ethermint 模块的更多信息,请单击(感谢 Tharsis)。