金色观察|Sway:Fuel虚拟机的特定语言_区块链:ORC

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

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

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

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

金色晚报 | 10月28日晚间重要动态一览:12:00-21:00关键词:MicroStrategy、灰度、比特币网络、V神

1. MicroStrategy首席执行官私人持有17732枚BTC,购买均价为9882美元。

2. MicroStrategy高管称预计公司将继续购买比特币。

3. 灰度董事总经理:机构投资者向比特币投入巨额资金促使其价格不断上涨。

4. 数据:比特币网络拥堵严重,未确认交易笔数突破11万。

5. 人民数字网:隐私计算成为趋势,区块链技术可以应对主权技术封锁。

6. 腾讯主机安全捕获WatchBogMiner挖矿木马新变种。

7. V神:并未期待加密货币成为记账单位。

8. 重庆区块链财政电子票据试点覆盖300多家市级单位。[2020/10/28]

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

金色财经合约行情分析 | BTC缩量小幅反弹,主流币各有表现:据火币BTC永续合约行情显示,截至今日16:00(GMT+8),BTC价格暂报9647美元(+1.48%),20:00(GMT+8)结算资金费率为0.010000%。

BTC在9500美元一带长时间盘整后,震荡向上,少数主流币出现较大幅度的拉升。根据火币交割合约数据,BTC季度合约成交额大幅减少,持仓量小幅回升,精英多头占比稳定,季度合约保持年化近10%的升水。BTC在此次震荡向上的过程中,量能缩减,预计价格仍会出现一定反复。

USDT于火币全球站OTC的报价为7.06元,溢价率为-0.91%。[2020/6/4]

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

金色晨讯 | 穆长春:央行数字货币引入了私人部门参建:1.中国区块链应用研究中心(江苏)正式成立。

2.马云:区块链技术越来越重要,可以解决隐私和安全问题。

3.银保监周亮:企业若从事金融业务 区块链等技术需按金融监管来进行全覆盖。

4.央行穆长春:央行数字货币引入了私人部门参建;在法律、监管、风险控制等问题解决之前,不宜推出全球性稳定币。

5.加密分析师:今年开采出来的BTC平均价格涨幅为22% 矿工或在2020年实现收益。

6.国家统计局党组理论学习中心组集体学习,学习内容包括区块链。

7.以太坊联合创始人:希望可以与中国的加密货币互通。

8.Facebook近7000页内部机密文件被泄露,此前美国议员曾多次对Libra隐私问题表示担忧。

9.HPB芯链宣布将项目归还社区,三名联合创始人及半数员工将离开。[2019/11/11]

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

金色财经现场报道 百度区块链原生应用负责人柴桥子:百度布局区块链更看重生态:金色财经现场报道,在2018区块链产品技术峰会上,百度区块链原生应用负责人柴桥子发表观点称,腾讯、阿里等大公司布局区块链更多的是内生(原生)的一种需求,而百度、网易等传统互联网公司的入局更看重的是生态。[2018/4/28]

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提供的同构,只是语法不同。

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

金智博客

[0:15ms0-7:164ms