IoTeX主网 v1.7 正式上线,打造安全、可靠、性能卓越的L1区块链网络

IoTeX主网v1.7版本(IoTeX-core 1.7.0)已正式激活,平稳运行!新版本对API进行了多方面的改进,聚焦于提升DApp的开发效率以及复杂智能合约的Bug调试。节点运营者将获得更简单便捷的以太坊API服务架构以及更好的日志管理系统,数据库和网络性能也实现了大幅提升。为了促进DApp的开发和大规模应用,IoTeX不断优化和迭代底层架构,让区块链基础设施变得更可靠、更安全、更高性能。这里,我们一起来了解一下主网v1.7都有哪些重大更新。

API

追踪合约执行API

区块链合约的执行调试相当复杂,特别是涉及到调用其他合约时。通常来说,EVM兼容平台中的标准区块链API只能告诉开发人员某个操作是成功了还是被撤销了。此次主网v1.7配置的全新TraceTransactionStructLogs API调用相当于以太坊的trace_call,在执行调用单个合约的时候收集底层数据信息,为开发人员提供操作执行期间发生的有效信息,并且可以在任何启用了API网关服务的IoTeX节点上使用。

合约存储解码API

通过本地的IoTeX GRPc API (ReadContractStorage)和以太坊JSON API来调用(eth_getStorageAt),用于解码智能合约中储存在特定内存位置的数据。

用于查询Gas费用的getActions API

在查询某个操作的详细信息时,响应对象中可能会缺失特定操作实际的Gas费用。目前,任意一个可显示交易细节的本地或以太坊API调用都可以提供Gas费用数据。

交易明细和EVM日志中的索引值

在主网v1.7版本中,当我们查询交易信息时,能看到EVM日志列表中每个日志条目的transactionIndex值和logIndex值。其中,transactionIndex字段显示该笔交易在区块中的位置,在交易排序中发挥重要作用,而logIndex则用来提供合约执行期间EVM日志的正确顺序。

节点运行

本地以太坊JSON API

主网v1.7版本的发布对IoTeX开发人员来说是一个伟大的里程碑。随着IoTeX节点支持以太坊签名交易以及以太坊JSON API服务(“Babel通天塔”)的发布,IoTeX与以太坊实现了完全兼容。开发人员可以轻松将任何以太坊DApp移植到IoTeX网络,不需要对合约或客户端代码进行任何更改。然而,以太坊API是作为一个外部服务实现的,必须单独部署并“指向”一个特定的IoTeX节点。

IoTeX-core 1.7.0上线之后,以太坊API服务器可以在本地集成数据并直接由IoTeX节点公开,不再需要通过外部服务运行、配置和管理。如今,只需启用IoTeX节点的网关功能,就可以同时公开IoTeX本地的API和以太坊API。

日志轮转

为了更有效地管理和存储节点日志文件,IoTeX团队在节点Docker中预设了Logrotate。现在,节点将创建多个较小的文件,而不是单个的大日志文件。logrotate配置位于Docker映像中,默认每天创建新的日志文件,并将30天前的日志文件删除。

Docker映像:

GitHub - iotexproject/iotex-bootstrap: Config and instructions for running IoTeX node

性能

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

在主网v1.7中,基于已经包含在p2p信息中的ChainID值,IoTeX测试网和主网将在p2p网络层面中被分离开。这项优化能够降低主网和测试网之间的网络流量干扰,在特殊情况下减少某些类型的攻击。

更多优化

区块链节点运行追踪

在主网v1.6中,IoTeX引入了追踪代码以收集节点关键执行路径上的运行日志。现在,追踪代码已经配置完成,能够将数据发送到后端并对数据进行聚合和分析。对于IoTeX核心开发团队来说,这将是一个非常实用的工具,可以用来监视链上节点的运行,并在检测到异常行为或错误时及时发出警报。这项功能是公开的,任何人都可以在 https://tracing.iotex.me 上查看数据。

主网v1.7还对一些Bug进行了修复和优化,欢迎全球开发者通过GitHub代码发布和加入IoTeX Discord开发者频道了解更多信息,一起探索IoTeX 主网v1.7版本的最新功能。

GitHub代码发布:

Releases · iotexproject/iotex-core · GitHub

IoTeX Discord开发者频道:

IoTeX Official

2 Likes