IoTeX 2021 Q1技术更新: 主网V1.2蓄势待发!

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

除了性能和安全性的大幅增强,主网v1.2版本还包含了EVM、区块链数据库以及节点管理的优化升级。主网v1.2将于2021年4月发布,让我们先睹为快,一起来了解新版本带来的强大功能和工具!

以太坊虚拟机(EVM)的优化和升级

IoTeX目前支持0.5.13版本的基于可靠度的智能合约,Mainnet v1.2将支持新的EVM v0.6.x版本,为开发人员提供更多新功能和工具,包括:让代码更清晰和安全的强制性“关键字”,改善代码的语义和语法,try / catch构造异常处理,地址至地址Payable和Payable(x)指令实现清晰的转换,推动动态存储阵列等等。新版本推出后,开发人员会拥有更强大的开发工具,在IoTeX网络上构建新一代的智能合约。

在交易收据中引入“Revert”消息

如果你是一名开发者或智能合约用户,你可能会遇到“Revert”消息,表明因为不知道的原因,智能合约执行失败。这些错误通常是由智能合约开发人员故意触发的。例如,当“require”或“assert”指令在编码条件未满足后停止合约执行时:

如果能知道为什么不用调试工具就能恢复合约执行,这可以为开发人员带来极大便利。在主网v1.2中,开发人员可以轻松地直接从交易收据中获取错误信息,甚至可以直接在IoTeX浏览器中查看。

区块链数据库管理升级

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网络,与区块链重新同步,从而降低网络中断带来的风险。

下一步规划

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

主网v1.2版本上线之后,IoTeX网络的发展将进入新阶段,请大家持续关注我们的官方渠道,了解更多项目进展和更新!