IoTeX 主网 v1.8 版本发布公告
在 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 质押进行交互,而只能通过 IoTeX 区块链的原生钱包 ioPay 来完成。
那么,它是如何运作的呢?虽然实现细节并不简单,但从高层次来看,解决方案很简单。通过此次更新,IoTeX 区块链现在拥有一个特殊的“接收地址”(0x04C22AfaE6a03438b8FED74cb1Cf441168DF3F12),该地址由协议硬编码并控制。它允许任何以太坊客户端通过普通的 IOTX 转账交易发送质押交易,其中质押操作的数据被编码在交易的负载(payload)中。在内部,IoTeX 协议会拦截所有发送到这个特殊地址的交易,从负载中解码出质押操作,并将其转换为原生质押交易以执行该操作。
关于这项新功能的所有详细信息,可以在IIP-12 改进提案中找到。
错误修复及其他
v1.8.0 版本包含以下几项额外修复:
- 改进了 P2P 网络连接的稳定性,解决了部分代表在升级到 v1.7.1 后偶尔报告的全节点无法加入主网的问题
- 引入了 chainservice builder,以更好地管理服务的启动和关闭
- 对 API 模块进行了多项代码重构和改进
您可以在 GitHub 官方代码仓库中找到更详细的信息:https://github.com/iotexproject/iotex-core