为什么越来越多公链项目将wasm拥入怀中?

405845829qq 405845829qq     2023-02-28     534

关键词:

最近越来越多的项目开始转向VNT使用的WASM,像EOS、Ontology,包括最初引入虚拟机EVM运行智能合约环境的以太坊,最近也开始转向使用WASM。

什么是WASM?

WASM ,全称:WebAssembly ,是一种可以使用非 Java 编程语言编写代码并且能在浏览器上运行的技术方案,也是自 Web 诞生以来首个 Java 原生替代方案。

EVM虽然有着较高的兼容性,但需要预编译,同时需要付出gas作为代价,有着很高的编程成本,这种程序本质上都是脚本程序,即由程序翻译指令并执行,而不是由本地机器CPU读取指令并执行,因此效率非常低。而Java的操作相对重复繁琐,在执行过程中耗时较长。和EVM及Java 相比,WASM是谷歌、苹果、微软三大竞争公司同时支持的一种中间代码(字节码), 被所有流行浏览器支持。同时所有其他语言(c, c++, java)编写的程序都可以编译成WASM字节码,基于此建立的应用层生态不仅可以让开发人员有着非常低的学习成本, 而且有着高性能的标准。

WASM有哪些对开发者友好的特点?

无疑,WASM 拓展了智能合约开发者可用的编程语言,这意味着你可以使用任何你熟悉的编程语言开发智能合约,并有着诸多对开发者友好的特点,例如:

1. 性能高效:WASM采用二进制编码,在程序执行过程中的性能优越;

2. 存储成本低:相对于文本格式,二进制编码的文本占用的存储空间更小;

3. 多语言支持:用户可以使用 C/C++/RUST/Go等多种语言编写智能合约并编译成WASM格式的字节码。

VNT Chain(维特链)基于WASM有哪些创新?

VNT Chain采用的是由VNT_P(公有链)+VNT_C(联盟链)+VNT_I(跨链)的聚合链技术架构,其中VNT_P可运行被编译为WASM格式的智能合约,而无需关心智能合约的编写语言。正是因为看到WASM的诸多优势及未来前景,VNT技术支撑方云象在VNT Chain设计之初,,就确定了基于WASM开发VNT Chain虚拟机的技术方案。基于原生的WASM,VNT Chain进行了以下创新及改进:

1. 改造原生 WASM中多线程、浮点数、异常处理等导致计算非确定性的设计,确保计算的确定性;

2、扩展对string、address、hash等数据类型的支持;

3、扩展opcode以支持标准库的方法;

4. 增加燃料(Gas)机制,解决了智能合约中的停机问题;

5. 提供沙箱运行环境,实现资源隔离,保障系统的安全性;

6. 提供编写智能合约所需的各种语言的类库;

7、支持合约调试功能;

8、兼容自主设计智能合约编写语言-Q语言。

基于对WASM语言的应用以及优化改造,VNT Chain的智能合约模块具备更高的兼容性与性能,同时拥有更强的安全性与灵活性。尤其是VNT Chain首创的形式化自我验证能力编程语言,将语言本身的类型系统与数学定理系统结合,并将语言的类型验证与形式化验证结合,为智能合约形式化安全验证提供强有力的支持。

WASM从最初公布不被看好,到现在被广泛使用,我们可以肯定未来它将作为分布式应用开发的基础层被运用到越来越多项目中。

官方蓄力已久,fvm虚拟机将使ipfs激励层生态迎来加速爆发期?

...f0c;是公链赛道之争FVM的推出并非临时起意,其背后是越来越激烈的公链赛道之争。2020年至今,DeFi项目、NFT项目,GameFi游戏、元宇宙项目的数量快速增加,让主流公链资产规模被放大的同时,也让新兴公链、... 查看详情

官方蓄力已久,fvm虚拟机将使ipfs激励层生态迎来加速爆发期?

...f0c;是公链赛道之争FVM的推出并非临时起意,其背后是越来越激烈的公链赛道之争。2020年至今,DeFi项目、NFT项目,GameFi游戏、元宇宙项目的数量快速增加,让主流公链资产规模被放大的同时,也让新兴公链、... 查看详情

ewasm项目初探

为了改进EVM1.0,以太坊的新一代虚拟机项目ewasm(github.com/ewasm)将支持WebAssembly(wasm),wasm在性能,扩展性,开发工具,社区都更有优势。除以太坊外,一些其他项目EOS,Polkadot,Cardano已经或者计划开发支持wasm的虚拟机。WebAsse... 查看详情

新公链aptos何以拉满市场期待值?

...着主网上线进入倒计时,可以预见,新公链Aptos将越来越地频繁地进入加密圈视野。这个全新的Layer1公链可视为Meta(原Facebook)Libra(后更名Diem)计划搁浅后的续篇。今年1月底,Diem被Meta出售,一些... 查看详情

为啥 WASM 文件不同?

...为啥WASM文件不同?【英文标题】:WhyaretheWASMfilesdifferent?为什么WASM文件不同?【发布时间】:2020-11-1402:13:33【问题描述】:我想使用WebAssembly,所以我必须将C文件编译为WASM文件。C文件内容如下//Theonline\'add.c\'WASM_EXPORTintadd(inta,int... 查看详情

艾欧币数字货币商机

...链技术的数字货币因其去中心化、不可复制等特性愈发被越来越多的人们所接受与使用。现今,数字货币已成为标准化、全球化、高波动的热门投资炒作标的。艾欧币优势投资简单——不需繁琐存币不用学习使用钱包波动大、机... 查看详情

layer2跨链和公链三足鼎立,谁将实现区块链的可扩展梦想?

...今年以来的NFT和元宇宙等,新事物在不断出现,越来越多的企业、用户等也陆续参与进来,区块链的浪潮一波未平一波又起。但随着 查看详情

万亿市值公链竞争白热化,新公链还有机会吗?

...链双雄波卡、Cosmos,一个个新公链站在前人的肩膀上越来越具有竞争力,到了今 查看详情

hoosmartchain万物生长计划火热报名中,可视化公链迸发勃勃生机

在DeFi越来越趋向同质化和静态化时,HooSmartChain决定充当破局者,宣布决定AllIn元宇宙,并于2022年3月份开启面向全球去中心化开发者的奖励计划——「万物生长计划」 目前Terra链以260亿的TVL一骑绝尘,成为仅次于... 查看详情

Blazor Wasm 独立发布到 IIS

...VisualStudio每次将web.config替换为默认版本。我试图在我的项目中从文档中添加web.config,因此它 查看详情

blazor_wasm之3:项目结构

Blazor_WASM之3:项目结构BlazorWebAssembly项目模板可选两种,BlazorWebAssemblyAPP及BlazorWebAssemblyAPP-Empty如果使用BlazorWebAssemblyAPP模板,则应用将填充以下内容:一个​​FetchData​​​组件的演示代码,该组件从静态资产(​​weather.json​​... 查看详情

单击使用 Balosar 项目(wasm + openiddict)登录,如何启用 CORS?

】单击使用Balosar项目(wasm+openiddict)登录,如何启用CORS?【英文标题】:ClickonloginwithBalosarproject(wasm+openiddict),howtoenableCORS?【发布时间】:2021-11-0410:25:41【问题描述】:我正在运行Balosarproject如下:我编辑Balosar.ClientProgram.cs:opti... 查看详情

MudBlazor WASM 项目在启动时挂起

】MudBlazorWASM项目在启动时挂起【英文标题】:MudBlazorWASMprojecthangingonstartup【发布时间】:2021-02-1806:51:53【问题描述】:我想使用MudBlazor设置一个新的WASM项目,我正在关注他们文档中的instructions,但是一旦我进入第三步添加&lt... 查看详情

公链or联盟链?xfs到底是什么?

“区块链、公链、联盟链……”,这些只是XFS的一部分,XFS对区块链的探索早已不再局限于这些单独的领域,而是有了更深层次的思考。XFS是什么?有人说,XFS与以太坊非常相似,所以XFS就只是一个公链而... 查看详情

公链与私链在数据隐私和吞吐量上的竞争

...22年2月22日信息来源:bsvblockchain.org本文将讨论大众对公链和私链的常见误解,并从数据隐私和吞吐量两方面来对比公链和私链。当企业和政府实体对不同的区块链解决方案进行审查时,首先考虑的问题之一是他们应... 查看详情

如何通过 wasm-pack 将 Rust Wasm 应用程序与 libpq 链接?

】如何通过wasm-pack将RustWasm应用程序与libpq链接?【英文标题】:HowcanIlinkaRustWasmapplicationwithlibpqviawasm-pack?【发布时间】:2020-02-2900:57:30【问题描述】:我正在尝试创建一个带有Wasm数据库层的NodeJS应用程序。我使用Rust、Diesel作为... 查看详情

项目管理、敏捷管理、产品管理

...相关者都满意。诺基亚CEO:我们并没有做错什么,但不知为什么,我们失败了市场竞争的残酷性表现在:我们已经分辨不出市场中谁是对手,谁是朋友。失败不是因为你做错了什么,而是因为别人做对了没有做错=/= 做对了大... 查看详情

使用 wasm 将模块导入并编译到 webpack 中

】使用wasm将模块导入并编译到webpack中【英文标题】:Importingandcompilingamodulewithwasmintowebpack【发布时间】:2020-10-2614:37:07【问题描述】:我正在尝试导入module以在通过webpack编译的库中使用。尽管模块中的javascriptAPI已加载,但随附... 查看详情