IoTeX 主网 v1.7 已上线!

IoTeX Mainnet v1.7 is Officially Live

今天标志着 IoTeX 区块链的又一次重大发布,并带来了对 IoTeX 协议的显著改进。iotex-core 1.7.0 于 3 月 15 日为节点运营商发布,并刚刚被激活。[大约在 2022 年 3 月 24 日协调世界时 11 点左右]。此次发布带来了许多 API 改进,将加速 dApp 开发和复杂智能合约的调试。节点运营商将受益于更简单的以太坊 API 服务架构和更好的日志管理。数据库和网络性能也得到了提升。IoTeX 一直在构建、完善并迭代工作,以便于更轻松的 dApp 开发和入门。此外,dApp 的构建变得更加简单,区块链的可靠性和安全性也得到了增强,性能得到了提升。让我们更详细地看看一些主要变化...

API

跟踪合约执行

区块链合约执行可以很复杂,特别是当它们涉及对其他合约的调用时。在 EVM 兼容平台的标准区块链 API 通常只告诉开发人员某个操作是否成功或被回滚。新的 TraceTransactionStructLogs API 调用相当于以太坊的 trace_call,并在单个合约调用执行过程中收集低级别的详细信息,为开发人员提供有关操作执行期间发生了什么的有用见解。此 API 在开启 API 网关服务的任何 IoTeX 节点上均可用。

合约存储解码 API

此 API 允许解码特定内存位置处的智能合约存储中的数据。它作为本地 IoTeX GRPc API 调用 (ReadContractStorage) 和以太坊 JSON API 调用 (eth_getStorageAt) 提供。

getActions API 结果中的 gas 费用值

在查询操作详情时,实际用于特定操作的 gas 费用值在响应对象中是缺失的。现在,这个值由任何返回交易详情的本地或以太坊 API 调用提供。

交易收据和 EVM 日志中的索引值

在 1.7.0 激活后,当查询交易收据时,transactionIndex 值以及 EVM 日志数组中每个日志条目的 logIndex 值现在都提供。transactionIndex 字段提供交易在区块中的位置,当交易排序很重要时非常有用。logIndex 提供合约执行的 EVM 日志的正确顺序。

节点操作

本地以太坊 JSON API

区块链发布 1.2.0 标志着 IoTeX 开发者的重要里程碑。通过 IoTeX 节点对以太坊签名交易的本地支持以及以太坊 JSON API 服务(“Babel”)的发布,IoTeX-以太坊的兼容性已完全实现。这允许任何以太坊 dApp 被移植到 IoTeX,而不需要对合约或客户端代码进行任何更改。然而,以太坊 API 是作为一个外部服务实现的,必须单独部署并指向实际的 IoTeX 节点才能使其工作。随着 iotex-core 1.7.0 的发布,以太坊 API 服务器现在已本地集成,并由 IoTeX 节点直接暴露。不需要运行、配置和管理外部服务。只需启用您 IoTeX 节点的 Gateway 功能即可同时获得 IoTeX 原生 API 和以太坊 API 的暴露。

日志轮换

日志轮换已安装到节点 Docker 镜像中,以更有效地管理和存储节点日志文件。节点现在创建多个较小的日志文件,而不是一个大的日志文件。那些过老的日志文件会被删除。logrotate 配置位于 Docker 镜像中。默认设置每天创建新的日志文件。日志文件在 30 天后被删除。

性能

主网和测试网的 P2P 网络分离

通过这个变化,IoTeX 测试网和主网在 P2P 网络级别上根据现已包含在所有 P2P 消息中的 ChainID 的值进行了逻辑分离。这减少了主网和测试网之间的网络流量干扰,并在某些特殊情况下减轻了某些类型的攻击。

其他

区块链节点执行跟踪

在 1.6.0 版本中,我们引入了跟踪代码,以收集节点关键执行路径上的运行时日志。此跟踪代码现已启用并配置为将数据发送到后端,在那里数据会被聚合和分析。这是 IoTeX dev-core 团队用于监控链执行并在检测到奇怪行为或错误时及时发出警报的重要工具。任何人都可以通过访问 https://tracing.iotex.me 查看这些数据。

更多

1.7.0 中还实施了许多其他小错误修复和改进。请访问 GitHub 发布页面 获取更多信息。我们希望您能更多地参与。请加入我们的 Discord 频道