WebAssembly 是什么? WebAssembly 简称为 Wasm,是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm 被设计成一个可移植的目标,用于编译高级语言(如 C/ c /Rust),支持在 web 上部署客户端和服务器应用程序。 WebAssembly 有什么特性? 高效 WebAssembly 有一套完整的语义,实际上 wasm 是体积小且加载快的二进制格式, 其目标就是充分发挥硬件能力以达到原生执行效率。 安全 WebAssembly 运行在一个沙箱化的执行环境中,甚至可以在现有的 JavaScript 虚拟机中实现。在web环境中,WebAssembly将会严格遵守同源策略以及浏览器安全策略。 开放 WebAssembly 设计了一个非常规整的文本格式用来、调试、测试、实验、优化、学习、教学或者编写程序。可以以这种文本格式在web页面上查看wasm模块的源码。 标准 WebAssembly 在 web 中被设计成无版本、特性可测试、向后兼容的。WebAssembly 可以被 JavaScript 调用,进入 JavaScript 上下文,也可以像 Web API 一样调用浏览器的功能。当然,WebAssembly 不仅可以运行在浏览器上,也可以运行在非web环境下。 为什么要使用 WebAssembly? WebAssembly 是一种平台无关的二进制格式,这意味着它可以在它所操作的任何机器上运行相同的指令。区块链需要确定性,以便在点对点网络中的所有节点上进行可靠的状态转换更新,而不强制每个节点运行完全相同的硬件。Wasm 非常适合用于可能不同的机器集之间的可靠性。Wasm 既高效又快速。这种效率意味着它可以作为一团代码上传到链上,而不会造成太多的状态膨胀,同时保持其以接近本机速度执行的能力。 分叉升级 通过在 Substrate 中使用 Wasm,可以支持 DC、Kusama 和许多连接链,这些链可以在不进行硬分叉的情况下升级其 runtime 逻辑。硬分叉是升级区块链的标准方法,由于需要离线协调,它很慢、效率低、容易出错,因此倾向于将多个升级打包到一个大型事件中。通过在链上部署 Wasm,并让节点在特定的块高度自动执行新的逻辑,升级可以是小的、单独的、非常具体的。 —- 编译者/作者:sky110 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
DC为什么选择使用WebAssembly?
2021-03-29 sky110 来源:区块链网络
LOADING...
相关阅读:
- 共识大学(ConsensusUniversity)简介2021-03-29
- CVNT大变局:以规模落地业务撬动区块链Web3.02021-03-29
- 新西兰退休基金数百万美元的比特币分配在五个月内激增460%2021-03-29
- 2021年华云公链赋能牡丹产业高峰论坛圆满落幕2021-03-29
- Osasion欧赛区块同步节点竞选构建全球共识2021-03-29