IoTeX 主网 v1.8 发布公告
在发布 IoTeX 协议版本 1.7 两个月后,开发核心团队刚刚发布了新版本 1.8。此版本代表当前协议的 "硬分叉"。它将在区块 17,662,681 激活(大约在 2022 年 5 月 30 日 UTC 晚上 11 点),所有区块生产者和委托者应将节点软件升级到最新正式版本 v1.8.0。完整的节点安装说明可以在 这里 找到。
以下是此版本新内容的详细分解。
通过 Metamask 进行 IoTeX Staking
让我们从最重要的功能开始:能够通过所有 以太坊钱包和软件库 访问 IoTeX staking。这是一个重要的目标,经过核心开发者几个月的开发和准确测试,但为了通过向以太坊客户端公开 IoTeX 自定义 staking 交易,完成以太坊兼容性,绝对是必要的。
但这到底是怎么回事?要理解这一点,重要的是要知道从创建质押、选择委托节点到转移存款的 IoTeX staking 操作是作为 区块链原生协议的一部分的自定义交易 实现的,而不是如某些人认为的那样是智能合约。这个选择为 IoTeX staking 提供了很大的可扩展性,可以轻松处理成千上万的质押存款。它也是极其具有成本效益的。每个质押操作不涉及执行昂贵的智能合约调用,而只是发送一个 原生交易,这仅需 0.01 IOTX,和简单的 IOTX 代币转账交易的费用相同。另一方面,这些特定类型的 "staking 交易" 不是以太坊协议的一部分。它们 对以太坊客户端是不知道的。因此,直到现在,无法使用像 Metamask 或 Trust Wallet 这样的以太坊钱包与 IoTeX staking 进行交互,只能通过 ioPay,即 IoTeX 区块链的本地钱包。
那么,它是如何工作的呢?虽然实现细节并不简单,但从高级别来看,解决方案是简单的。通过此次更新,IoTeX 区块链现在拥有一个特殊的 "接收地址" (0x04C22AfaE6a03438b8FED74cb1Cf441168DF3F12),该地址被硬编码并由协议控制。这允许任何以太坊客户端通过正常的 IOTX 转账交易发送质押交易,质押操作数据编码在交易的有效载荷中。在内部,IoTeX 协议拦截所有发送到此特殊地址的交易,从有效载荷中解码质押操作,并将其转换为原生质押交易以执行操作。
有关此新功能的所有详细信息可以在 IIP-12 改进提案 中找到。
错误修复与更多
版本 v1.8.0 包含几个额外的修复:
- 改进了 p2p 网络连接的鲁棒性,以解决部分委托者在升级到 v1.7.1 后偶尔报告的完整节点无法加入主网的问题
- 引入了链服务构建器以更好地管理服务的启动和关闭
- 对 API 模块进行了多次代码重构和改进
您可以在 GitHub 的官方仓库中找到更详细的信息: https://github.com/iotexproject/iotex-core