Casper网络1.4.3版本技术发布及更新日志

Posted CasperLabs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Casper网络1.4.3版本技术发布及更新日志相关的知识,希望对你有一定的参考价值。

关键时间节点

1.4.3版本发布到主网的关键时间节点

关键变化(核心)

增强安全性能及稳健性

  1. **I/O改进:**1.4.3版本对磁盘I/O进行了重大改进,禁用了LMDB存储中默认的预读功能,其会导致大量无用的页面交易。现在我们可以看到加入节点的同步速度及读写性能有了明显提高。
  2. **延迟改进:**1.4.3版本中,我们优化了一些代码,通过将块执行任务转到专门的线程,从而改善网络的延迟及可靠性,通过使用semaphores将execute_finalized_block的执行从组件反应器中移除来实现,可能对少于四核的机器带来积极影响(https://github.com/casper-network/casper-node/pull/2218/commits)。
  3. **修复丢失的部署:**修复了1.4.1版本中待执行和已完成的部署会完全丢失的缺陷。这只在有部署待执行或节点因某种原因(如升级)而重新启动的特定情况下才会出现。修复原理是将待执行的部署先进行存储,并在节点启动时从存储中检索,但由于出块部署的缓存性质,少量部署仍然可能丢失(https://github.com/casper-network/casper-node/pull/2282/commits)。
  4. 对遗漏区块的改进:我们加强了拍卖状态,奖励分配过程中取消了临时钱包的创建,显著改善了遗漏区块的创建。现在,新铸代币将直接分配到钱包中,而非临时钱包。之前由于在奖励分配过程中存在临时钱包,会拖慢step-commit功能的速度(https://github.com/casper-network/casper-node/pull/2396)。

特点和改进

  1. **对额外增加的投标成本进行修复:**修复了1.4.1版本中的缺陷。该问题仅发生在特定情况下,当委托人首次委托给验证器或验证器首次出价时,会收取额外的2.5cspr,原因是此时会创建一个新钱包导致产生了额外的成本(2.5cspr),现已修复(https://github.com/casper-network/casper-node/pull/2205)。
  2. **十六进制校验码:**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网络的功能互动,更多细节请参见附录。

智能合约

  1. 加强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)。
  2. **修复向后兼容:**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的一些变化。

附录(核心)

WeX5 APP发布及版本升级注意事项

1. 发布模式打包的区别:

模式一:发布时使用,智能更新,多版本运行,可以无Web端;
模式二:发布时使用,立即更新,无网络时,无法正常显示;

2. 版本更新注意事项:

  1. UI资源更新和App更新不同:UI资源更新:系统自动判断自动更新,App更新则是重新打开App时判断是否更新,手动更新;
  2. appVersionChecker.js需要在index.js中引用:require(“$UI/XX/appVersionChecker”);
  3. XX_in_server文件是不会被打包到App中的,即使想把它打包到App中,也无法打进去;
  4. 【更新UI资源】编译使用的UI资源,然后复制”WWW”中的文件夹覆盖上述的“父级文件夹”;
  5. 【App更新】XX_in_server.js文件中修改版本号以及更新信息;

3. 打包流程:

(1)推荐选择模式一,并填写应用名:

(2)选择UI资源和服务地址,注意Web路径,此路径要对应服务器上的部署路径:

(3)填写版本号,如果是升级版本,版本号要比之前的高;如果希望对资源进行加密,可勾选加密资源的单选框:

(4)配置开发者证书相关,如果是IOS打包,则确保证书文件对应的BundleID和上一步的应用包名保持一致:

(5)屏幕设置,可固定app界面横屏或者竖屏显示:

(6)插件配置,此处一定要注意,微信或支付宝参数配置时,务必去掉类似空格的字符,保证参数和第三方开放平台上的相关key保持一致:

(7)配置信息更新,此处是版本升级的重点。此处的资源版本号要和第三步的版本号保持一致,并配置正确的app下载地址(注意端口号),更新说明部分主要是版本推送升级的时候,对话框中显示的内容:

(8)打包成功后,将“www”文件夹下的文件拷贝至项目文件夹中(文件夹的名称和web服务器项目名保持一致),比如项目文件夹叫“Test”,就将此处的文件拷贝到“Test”文件夹中,文件内容如图所示:

(9)然后在WeX5安装目录中找到WEB-INF文件夹,并将此文件夹拷贝至“Test”文件夹中(与上图文件同级),最后,将项目部署到服务器中,启动tomcat即可。

以上是关于Casper网络1.4.3版本技术发布及更新日志的主要内容,如果未能解决你的问题,请参考以下文章

以太坊性能优化:分片技术雷电网络Casper-下一代以太坊共识协议

Gate.io 土耳其社区与 Casper AMA圆满完成,共话Casper未来发展

Gate.io 土耳其社区与 Casper AMA圆满完成,共话Casper未来发展

Gate.io 土耳其社区与 Casper AMA圆满完成,共话Casper未来发展

text casper ghost默认主题黑色版本

python b站动态转发动态评论区抽奖(已打包成exe,可以下载食用)