SWAY:金色观察|Sway:Fuel虚拟机的特定语言

Fuel是一个很有趣的以太坊拓展层项目,其项目主要目的是提高以太坊的可扩展性,与其他L2链相同的是,都为了更高的吞吐量在努力,而不同的是,Fuel聚焦于在执行部分解决问题。

Fuel?v1早于2020年部署,是第一个推出到以太坊主网的生产级Optimistic?Rollup。目前已经进展到了Fuel?v2。

更有趣的是,在Fuel?v1时,Fuel推出了Yul+语言,主要用于以太坊虚拟机语言功能的完善。

而在Fuel?v2上又推出了虚拟机语言Sway,本文中将总结Sway的资料,了解其特性。

金色财经挖矿收益播报丨BTC全网算力约113.61EH/s:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约113.61EH/s,全网难度约13.73T,BTC当前块高633810。

当前BTC收益(PPS):0.00000916BTC/T/天。随着丰水期场地的通电,矿机陆续上架开机,全网难度将会在下个周期将会有较大幅度的上调。预测下次难度14.32T(+4.27%),距离调整还剩还有7天。[2020/6/9]

Fuel虚拟机(Fuel?VM)是一种专为Fuel区块链设计的区块链优化VM。Sway则是Fuel?VM的特定语言(DSL),Sway基于Rust,并包含利用区块链VM的语法。

金色相对论 | 初夏虎:国内区块链基础技术和应用落地是占据优势的:在今日的金色相对论中,元界创始人初夏虎发言指出:海外和国内的氛围很不同,其实国内的基础区块链技术并不输给海外,比如密码学技术。区块链应用落地,我们国内是领先于海外的,如同互联网一样,我们国内的应用场景非常丰富,用户数量很大,培养用户的习惯比海外用户容易,资金也非常充足,所以我们区块链落地应用会比海外要容易很多。但是,DEFI,分布式金融的研究和项目,在海外已经大有取代传统金融之势,我希望这个国内的区块链研究者能快速跟上。[2020/1/22]

Sway程序有四种类型:contract、predicate、script、library。每个Sway文件都必须以它是什么类型的程序的声明开头。

金色晨讯 | 前比特大陆员工组建新公司 将提供加密贷款等服务:1.李笑来回应“种大麻”:雄岸科技签署协议并非个人行为

2.为应对加密货币冲击,马萨诸塞州成立金融科技专家组

3.泰国石油公司测试区块链能源交易平台

4.富达已向合格用户推出比特币托管方案

5.河南人大代表:应打造一县一品特色区块链典范

6.CFTC主席:推出比特币ETF将降低比特币价格

7.加密货币行业开发人员目前约为2017年的2倍

8.前比特大陆员工组建新公司,将提供加密贷款等服务

9.比特币支付星巴克咖啡或构成重大税务申报问题

10.?英国FCA报告:加密投资者受利益驱动以获得快速致富[2019/3/8]

例如,声明文件是一个被调用的wallet_lib。Sway合约应该在库中声明一个ABI,以便下游合约可以重用它。

金色财经现场报道 圆桌环节嘉宾关于EOS是否能担当起区块链3.0时代的代表的观点:金色财经现场报道,今日在纽约举行的2018区块链无国界峰会上,Certik联合创始人顾荣辉EOS及TPS不是区块链3.0,需要用数学方法证明程序没有bug。IOST联合创始人及CEO钟家鸣表示,EOS过于“简单粗暴”,21个超级节点中联盟无法避免,长远来看不看好超级节点。Hydro Protocol联合创始人王博闻表示需要等到EOS主网6月上市后再做评测。[2018/5/13]

Sway工具链由以下几个组件组成。

Forc

“Fuel?Orchestrator”Forc相当于Rust的Cargo。它是创建、构建、测试和部署Sway项目的主要入口。

Sway语言服务器(forc-lsp)

提供Sway语言服务器forc-lsp以向IDE公开功能。目前,仅通过插件支持Visual?Studio?Code,Vim支持即将推出。

Sway格式化程序(forc-fmt)

提供了一个规范的格式化程序forc-fmt,可以手动运行。Visual?Studio?Code插件将forc-fmt在保存时自动格式化Sway文件。

Fuel?Core

虽然不是Sway工具链的直接部分,但提供了Fuel协议的实现Fuel?Core。

标准库

与Rust类似,Sway带有自己的标准库。

Sway标准库是可移植Sway软件的基础,它是一组适用于更广泛的Sway生态系统的最小共享抽象。它提供核心类型,如Result<T,E>和Option<T>、语言原语上的库定义操作、本机资产管理、区块链上下文操作、访问控制、存储管理以及对来自其他VM的类型的支持等。

Sway与Solidity的区别

Sway所针对的底层虚拟机是Fuel?VM。Solidity指定以太坊虚拟机(EVM)为目标。

Fuel?VM中的字节是64位,而不是EVM的256位。因此,原始整数只能达到u64,而哈希不在寄存器中,而是在内存中。因此,Ab256是指向包含哈希值的32字节内存区域的指针。

Fuel?VM只有无符号整数作为原语提供:u8、u16、u32和u64。不提供有符号整数运算。如果需要,可以在高级库中实现有符号整数和有符号整数算术。

Fuel?VM中的恐慌是全局性的,可以完全无条件地恢复交易的状态效果,减去使用的gas。

Fuel?VM中的数学计算默认是安全的。安全检查在VM实现中本地执行,而不是像Solidity的默认安全数学计算那样在字节码级别执行。

Sway合约没有实际的代码大小限制。物理限制由VM_MAX_RAMVM参数控制,在撰写本文时为64MiB。

Sway与Rust的区别

在Rust中,枚举通常采用以下三种形式之一:单元变体,没有内部数据,结构变体,包含命名字段,元组变体,其中包含数据元组。

在Sway中,该过程被简化了。枚举变体必须全部指定一种类型。这种类型代表他们的内部数据。这实际上与Rust提供的同构,只是语法不同。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

BTC区块链:不再深奥的跨链桥:一文全解

全文7050字,预计阅读时间17分钟文章速览01/为什么需要跨链02/跨链发展的五个阶段03/3种基本运作原理04/3种验证机制05/链桥主流分析维度06/链桥安全性分析07/第三方桥代表项目0.

[0:78ms0-1:163ms