【开发周报】:2018年8月27日-9月2日技术周报

​​最新测试版本0.21.0删除了对用户HTTP API中的MessagePack编码的支持,并通过在所有区块链组件(帐户、合约、oracles等)中使用ID并统一端点路径使HTTP API更加一致。 此最新版本还清除了在节点内签署事务的未使用的HTTP端点。

我们努力确保我们能够在状态通道更新中检测到更多可能的竞争条件,从而还可以通过请求响应签名请求的竞争更新来“轻柔地拒绝”更新。 在实施拒绝签名请求的支持之前,这应该被视为一种临时措施。

我们还努力改变微块以使用仅包含Tx哈希的轻微块。 在大多数情况下,接收节点已经看到了所有事务,因此这节省了带宽并使P2P_PROTOCOL_VSN崩溃。

更新的要素影响共识

最新更新更改了微标题的序列化格式以包含签名。这改变了矿工签署的内容,以及如何计算微块的块散列,随后影响共识。

这个最新版本还精确调整了与状态树上的对象(oracles,查询,响应)的TTL相关的oracle事务费用的动态组件的计算的确定性,将浮点计算移动到基于整数的计算。该更新还将受益人奖励延迟增加到180个关键块/代,这反过来影响共识。

我们最新开发的进一步优势包括:

添加对Sophia编译器的类型别名和类型化合同调用的支持;
更改目标(难度)计算算法以使用DigiShield v3;
修复矿工费用奖励计算,以前过于慷慨;
将oracle事务费用的最小静态组件修改为1,与所有其他事务一样;
为通道脱链合约​​增加链上强制进度;
修复了当inet:getaddr需要花费太多时间来解决时,零星同步发生超时错误的问题。
与往常一样,跟随Mainnet发布(除了GitHub)的开发进度的最佳位置是Pivotal Tracker。