IoTeX 主网v1.2于4月30日正式上线,全面支持以太坊工具Web3.js

2021年第一季度,IoTeX项目飞速发展,向社区介绍了新的研究成果、合作伙伴、生态系统倡议等诸多进展。但这只是IoTeX团队工作的一部分,在幕后,技术团队一直未敢有丝毫松懈,积极推进研发工作,以增强IoTeX网络的“心脏”——iotex-core。这个由所有节点共同运行的区块链协议,持续不断地为整个IoTeX网络注入活力。

主网v1.2将于2021年4月30日正式发布,接下来,我们来抢先了解主网v1.2即将带来的强大功能和工具!

IoTeX上的以太坊工具Web3.js

IoTeX是一个兼容以太坊虚拟机(EVM)的区块链平台,支持Solidity智能合约,以太坊上的Dapps可以轻松移植到IoTeX网络上。为了方便以太坊开发人员在IoTeX平台上构建/扩展产品,我们引入了Babel(代码代号,源于圣经“通天塔”)——用于支持以太坊节点API的Wrapper包装器,可以让IoTeX用户/开发人员在IoTeX网络中使用像MetaMask, Remix, Truffle, Graph等众多以太坊生态系统的工具和服务!

Web3.js是一个库的集合,允许用户使用HTTP、IPC、WebSocket与本地或远程以太坊节点交互。小伙伴们请持续关注我们,了解如何配置Web3.js,以及在IoTeX网络上使用以太坊工具开发DApps的详细内容。

区块链数据库管理升级

iotex-core的全节点数据库现在已经接近60GB,随着网络中设备和Dapp的快速扩张,数据库也将不断增长。IoTeX技术团队一直致力于优化区块链代码,让任何人都可以运行一个完整的节点,甚至是能参与共识的全民节点,并且不需要在硬件和存储上花费过多资金。主网v1.2将通过各种区块链数据库管理的升级,实现这一目标。

多个数据库文件

近期,IoTeX团队花费了大量的时间和精力来精简区块链数据库,随着主网v1.2的发布,iotex-core将把数据库分割成多个数据库文件,每个文件包含100万个区块。从长远来看,这种分割可以预防单个、大量数据库文件造成的瓶颈,并为与网络进行更快的增量同步提供了可能;同时,节点可以有选择地从最新的数据库中下载文件。

压缩数据库文件,释放存储空间

除了使用多个数据库文件升级存储架构外,IoTeX还采用具有更好压缩性能的改进区块存储方法彻底检查了数据库文件本身,释放了大约30%的存储空间。换句话说,IoTeX网络现在具备更快的同步速度和流线型存储,大幅提升节点的操作体验!

优化区块链的查询速度

IoTeX团队一直在改进数据库中的交易索引方案。新版本推出后,对于特定的API查询,比如查询某个区块范围内的某个地址的所有交易,可以得到更快的响应。

节点管理和日志升级

当软件出现意外时,日志可以帮助用户。但是,研究区块链节点的日志(特别是像IoTeX这样的快速响应网络,每5秒就能生成一个即时完成的区块)是一件复杂且耗时的事情。由于日志的内容过多,用户想要获取相关数据变得异常困难。主网v1.2优化了节点管理和日志升级,修复了这个问题。

支持ELK的节点日志格式

IoTeX团队将通过改进日志格式,与ELK堆栈兼容,进一步简化节点的操作和运行。用户能够通过安装在节点上的“Beats”代理从节点中提取日志,并将其发送到Elasticsearch和Kibana服务器来分析这些日志,实现节点监视、故障排除、安全分析等功能的可视化。最重要的是,ELK是完全开源的,部署和管理都有极大的灵活性。

不再有“僵尸”节点

可能有一些节点已经注意到了,在失去网络连接后无法与区块链同步,即使是很短的一段时间。对于没有监控系统的节点来说,很可能会导致该节点处于“僵尸”运行状态,即使连接恢复,也无法与区块链同步。这种状态对于全民节点来说尤其危险,因为可能会影响区块的生成。为了避免这一潜在风险,我们升级了iotex-core的代码,让节点可以及时检测到意外事件,并在网络连接恢复后立即重新连接到p2p网络,与区块链重新同步,从而降低网络中断带来的风险。

下一步规划

主网v1.2的上线标志着IoTeX网络的发展迈入了一个新的水平。从2020年8月主网v1.1上线开始,IoTeX团队一直在为即将发布的主网v1.2做准备。除了新的主网版本之外,经常关注我们Github的社区成员们也能看到我们为ioPay、iotexscan、Pebble原石、SDK以及staking repo进行的优化和升级。IoTeX已经火力全开,向着可信物联网的未来全速前进!

主网v1.2的代码将于4月30日(周五)正式发布,开放给节点安装更新。作为一次硬分叉代码发布,节点们将有大约10天的时间来完成相应的升级。请大家持续关注我们的官方渠道,了解更多项目进展和更新!

在即将发布的v1.2版本代码中,IoTeX主网将支持新的EVM v0.6.x版本,为开发人员提供更多新功能和工具,包括:让代码更清晰和安全的强制性“关键字”,改善代码的语义和语法,try / catch构造异常处理,地址至地址Payable和Payable(x)指令实现清晰的转换,推动动态存储阵列等。