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

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

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

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

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

金色午报|1月1日午间重要动态一览:7:00-12:00关键词:罗振宇、上海市数据条例、Injective

1. 罗振宇跨年演讲提及Web3.0和元宇宙;

2. 中国移动:融合数字人民币硬件钱包的和包月活用户突破1亿;

3. 2021年比特币区块链从319GB增长到383GB,增长率创近三年最低;

4. 2021年加密货币种类数量增长近一倍,目前超16,000种;

5. 《上海市数据条例》今日生效:支持区块链、零信任技术创新,推动隐私计算技术应用;

6. Injective在2022年将专注于“Injective Chain上线支持期货”等,以继续为开拓新的Web3经济铺平道路;

7. 数据:灰度目前加密资管规模为430亿美元,低于11月初的609亿美元。[2022/1/1 8:18:17]

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

金色财经挖矿数据播报 :BTC今日全网算力下降2.95%:金色财经报道,据蜘蛛矿池数据显示:

BTC全网算力131.647EH/s,挖矿难度18.60T,目前区块高度663278,理论收益0.00000742/T/天。

ETH全网算力286.944TH/s,挖矿难度3734.56T,目前区块高度11539515,理论收益0.00749744/100MH/天。

BSV全网算力0.768EH/s,挖矿难度0.11T,目前区块高度667468,理论收益0.00117121/T/天。

BCH全网算力1.661EH/s,挖矿难度0.22,目前区块高度667761,理论收益0.00054200/T/天。[2020/12/28 15:51:37]

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

金色晨讯 | SEC再次就Wilshire Phoenix的比特币和国债ETF提案征求意见;加拿大央行或考虑推出央行数字货币:1.SEC再次就Wilshire Phoenix的比特币和国债ETF提案征求意见

2.福特在德国科隆市进行提高燃油效率的区块链试点项目

3.加拿大央行或考虑推出央行数字货币

4.阿联酋金融监管机构发布加密法规草案并寻求反馈

5.穆迪:若采用加密货币,将在支付转账领域消除对金融媒介的需求

6.法国央行第一副行长:Libra所带来的风险必须在其正式推出前予以解决

7.德国财长:Libra对国家自治和民主治理构成威胁

8.报告:区块链是目前最为活跃和具有发展前景的七大深科技领域之一

9.纳斯达克上线市值前100的加密货币“人工智能加密指数CIX100”

10.继Telegram后 美国SEC或会对Filecoin和DFinity下手。[2019/10/16]

例如,声明文件是一个被调用的wallet_lib。Sway合约应该在库中声明一个ABI(一个应用程序二进制接口),以便下游合约可以重用它。

行情 | 金色盘面:BTC压阵,TRX先锋:金色盘面分析:在BTC稳定的情况下,市场开始骚动,先是TRX突围,收出8%的涨幅,而后ADA、BCH相继走强,而之前大跌的XRP也收窄跌幅,市场整体回暖,也许多点开花才是突破的正确选择。提醒投资者理性看待市场波动,做好风控。(登录金色财经APP—发现,查看更多币种的独家点评。)[2018/10/8]

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位(8字节),而不是EVM的256位(32字节)。因此,原始整数只能达到u64,而哈希(b256类型)不在寄存器中,而是在内存中。因此,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:0ms0-0:918ms