关键时间节点
1.4.3版本发布到主网的关键时间节点
关键变化(核心)
增强安全性能及稳健性
- **I/O改进:**1.4.3版本对磁盘I/O进行了重大改进,禁用了LMDB存储中默认的预读功能,其会导致大量无用的页面交易。现在我们可以看到加入节点的同步速度及读写性能有了明显提高。
- **延迟改进:**1.4.3版本中,我们优化了一些代码,通过将块执行任务转到专门的线程,从而改善网络的延迟及可靠性,通过使用semaphores将execute_finalized_block的执行从组件反应器中移除来实现,可能对少于四核的机器带来积极影响(https://github.com/casper-network/casper-node/pull/2218/commits)。
- **修复丢失的部署:**修复了1.4.1版本中待执行和已完成的部署会完全丢失的缺陷。这只在有部署待执行或节点因某种原因(如升级)而重新启动的特定情况下才会出现。修复原理是将待执行的部署先进行存储,并在节点启动时从存储中检索,但由于出块部署的缓存性质,少量部署仍然可能丢失(https://github.com/casper-network/casper-node/pull/2282/commits)。
- 对遗漏区块的改进:我们加强了拍卖状态,奖励分配过程中取消了临时钱包的创建,显著改善了遗漏区块的创建。现在,新铸代币将直接分配到钱包中,而非临时钱包。之前由于在奖励分配过程中存在临时钱包,会拖慢step-commit功能的速度(https://github.com/casper-network/casper-node/pull/2396)。
特点和改进
- **对额外增加的投标成本进行修复:**修复了1.4.1版本中的缺陷。该问题仅发生在特定情况下,当委托人首次委托给验证器或验证器首次出价时,会收取额外的2.5cspr,原因是此时会创建一个新钱包导致产生了额外的成本(2.5cspr),现已修复(https://github.com/casper-network/casper-node/pull/2205)。
- **十六进制校验码:**1.4.3版本中,我们增加了一个可选的校验码,以防止(如转账中)发生的复制错误,保护目标账户哈希值和任何其他十六进制编码的值;校验对十六进制字符串采用特殊的编码和解码方式,详见CEP57(https://github.com/casper-network/ceps/pull/57/files)(https://github.com/casper-network/casper-node/pull/1557/commits,https://github.com/casper-network/casper-node/issues/1415)。从1.4.3版本开始,十六进制字符串公钥将包含混合大小写字符,但旧格式的十六进制仍可正常使用。
**注意:**这是一个重大变化,影响到casper-js-sdk的用户与Casper网络的功能互动,更多细节请参见附录。
智能合约
- 加强Casper测试支持:我们对Cargo-Casper测试支持(现在是Cargo-Casper 2.0.0)进行了一些框架修改(https://github.com/casper-network/casper-node/issues/1978),删除了TestContext,改用WasmTestBuilder,这将使智能合约开发者可以通过访问Casper网络开发者使用的相同测试框架来构建更广泛的测试集。这对现有的测试线束是一个重大变化,需要重构测试代码(注意:对智能合约或项目没有影响),详情请见(https://casper.network/docs/dapp-dev-guide/testing)。
- **修复向后兼容:**1.4.1版本中,我们对casper-contract crate的功能集进行了一些更新,默认为no_std(在no_std环境下构建Wasm智能合约,可能会产生更小的、更合算的二进制文件),这会影响个别智能合约的向后兼容性。1.4.3版本已通过启用std功能为这些合约实现了向后兼容(https://github.com/casper-network/casper-node/pull/2263/commits)。
已知问题(核心)
目前该版本未发现有恶化的、严重的或高优先级的问题,但是我们仍希望用户了解这些重大变化并按照附录中列出的细节来进行升级。
发布范围(核心)
1.4.3版本的完整范围可参看更新日志及https://docs.google.com/spreadsheets/d/1XEHEyMDaRsSz9xQJTvK-3RPHV1V1CURjYIdtc9vO6EI/edit?usp=sharing。
执行内容
请参考下表,了解Casper主网不同用户的执行步骤及其注意事项。
工作安排(核心)
下列路线图及正在开展的后继版本的相关工作进展,以及cspr.live的一些变化。