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