Fuel内幕-2022年11月 (Inside Fuel-November 2022)

Inside Fuel — November 2022

The latest news from the fastest modular execution layer.
来自最快模块化执行层的最新消息。

Welcome to Inside Fuel, our review of technical developments and everything happening on the Fuel Network. Take a moment to catch up on all the latest news.

欢迎来到 Inside Fuel,这是我们对技术发展和 Fuel 网络上发生的一切的回顾。欢迎拨冗了解所有最新消息。

🆕 新入职员工 (Newest Additions To Fuel)

Building the fastest modular execution layer would not be possible without an incredible contributor team.  Here are the newest additions to the team this month:

没有令人难以置信的贡献者团队,构建最快的模块化执行层是不可能的。以下是本月团队的最新成员:

📰 媒体曝光 (In The News)

According to the Rust In Blockchain monthly review, Fuel is one of the most active Rust-based projects this November with 247 merged PRs, 165 closed issues, and 137 open issues.  We are ranked fourth right behind Parity, Sui, and Solana.

根据Rust In Blockchain 月度评论,Fuel 是今年 11 月最活跃的基于 Rust 的项目之一,有 247 个合并的 PR 、165 个已关闭问题和 137 个未解决问题。我们排名第四,仅次于 Parity、Sui 和 Solana。

🎙️ 播客和 AMA (Podcasts & AMAs)

Nick Dodson took part in the Devs Do Something podcast to talk about Sway and the FuelVM.

Nick Dodson 参加了Devs Do Something 播客,谈论SwayFuelVM

点击查看

He also joined Blockchain Capital with John Adler to explain Fuel's vision of scaling Ethereum with the power of the fastest modular execution layer.

他还与 John Adler 一起加入了 Blockchain Capital,解释了Fuel 以最快模块化执行层的力量扩展以太坊的愿景.

点击查看

Cami Ramos joined the Espacio Crypto podcast (in Spanish) to talk about her experience in growing the Fuel developer community.

Cami Ramos 加入了 Espacio Crypto 播客(西班牙语),讲述了她在发展 Fuel 开发者社区方面的经验。

点击查看

🌴 Sway 日 (SwayDay)

We hosted the second episode of Sway Day, a monthly discussion about all-things Sway. This time, the main topic was Predicates - Why and how you should use them. where we had the chance to have the founders of one of our granted projects, Poolshark, a DEX with a Price-Time-Priority feature, building on Fuel.

我们主持了 Sway日 的第二集,这是一个关于所有 Sway 的月度讨论。这一次的主题是**谓词 - 为什么以及如何使用它们**。在那里,我们有机会拥有我们的一个授权项目 Poolshark 的创始人,这是一个基于 Fuel 的,具有价格-时间优先功能的去中心化交易所。

Read the TL;DR and listen to the replay here 👇:

阅读 省流助手 并在此处收听重播👇:

Missed the second episode of Sway Day featuring @poolsharks_labs?

We got you covered.

Here are some of the highlights 👇 🧵 https://t.co/Opd1TUA2Dr

— Sway (@SwayLang) December 5, 2022

错过了 @poolsharks_labs 的第二集 Sway 日?

我们为您提供保障。

以下是一些亮点 👇 https://t.co/Opd1TUA2Dr

— Sway (@SwayLang) 2022 年 12 月 5 日

公开露面 (Public Appearances)

🌉 以太坊基金会 (EthSF)

We attended and sponsored the first edition of EthSF in the Bay area, a 3 day-long hackathon during which hackers teamed up to build DApps this November. Read more about the winning projects here.

我们参加并赞助了在湾区举行的第一届 EthSF,这是一个为期 3 天的黑客马拉松,黑客们在今年 11 月联手构建 DApp。阅读有关获奖项目的更多信息 点击此处


💻 技术更新 (Technical Updates)

Fuelup

Fuelup是什么 (What is Fuelup?)

Fuelup is the official package manager and multiplexer for Fuel that installs The Fuel Toolchain from the official release channels. It enables you to easily install pre-packaged toolchains, keep them up to date or even create custom toolchains and switch between them.

FuelupFuel 的官方包管理器和复用器,它从官方发布渠道安装Fuel工具链 (The Fuel Toolchain)。它使您能够轻松安装预打包的工具链,使其保持最新状态,甚至创建自定义工具链并在它们之间切换。

Binaries are executed through Fuelup as proxies which allow for flexibility in the execution of tools.

二进制文件通过 Fuelup 作为代理执行,使得工具的执行变得灵活。

It simplifies building and maintaining Sway applications with forc and fuel-core for common platforms.

它为一般平台使用 forcfuel-core 简化了 Sway 应用的构建和维护。

  • Introduction of testnet-specific toolchains: beta-1 and beta-2 toolchains. Installable through fuelup toolchain install beta-2 for example;

  • forc-doc and fuel-indexer are now packaged in a default toolchain;

  • fuelup has completions thanks to an external contributor @0xYYY;

  • fuelup update can be used as a shorthand for fuelup toolchain install latest|nightly;

  • 引入特定测试网的工具链:beta-1beta-2 工具链。例如,可通过fuelup toolchain install beta-2 安装;

  • forc-docfuel-indexer 现在打包在默认工具链中;

  • 感谢外部贡献者 @0xYYYfuelup 已经完成;

  • fuelup update 可以用作fuelup toolchain install latest|nightly 的简写;

Sway库 (Sway Libraries)

The Sway Libraries Repository

The purpose of this repository is to contain libraries which users can import and use that are not part of the standard library.

此存储库的目的是包含用户可以导入和使用的不属于标准库的库。

These libraries contain helper functions, generalized standards, and other tools valuable to blockchain development.

这些库包含辅助函数、通用标准和其他对区块链开发有价值的工具。

⚠️ Note: Sway is a language under heavy development therefore the libraries may not be the most ergonomic. Over time they should receive updates/improvements in order to demonstrate how Sway can be used in real use cases.

⚠️ 注意:Sway 是一种正在大力开发的语言,因此库可能不是最符合人体工程学的。随着时间的推移,他们应该会收到更新/改进,以演示如何在实际用例中使用 Sway。

So far, the following libraries are available to use:
到目前为止,可以使用以下库:

Sway Applications

The Sway Applications Repository

The purpose of the Sway Applications repository is to demonstrate what can be built with Sway and to promote good development practices.

Sway 应用存储库的目的是演示可以使用 Sway 构建的内容并促进良好的开发实践。

That being said, the repository should be deemed as a living project since the applications will be actively maintained, and thus it is likely that none of them will ever reach their final form!

所以,存储库应该被视为一个活跃的项目,因为应用将得到积极维护,因此它们很可能永远不会达到最终形式!

The repository is young so there isn't anything for anyone to use yet, however, we have lots of applications in development, and lots more planned to be worked on in the near future.

这个存储库还很年轻,所以还没有任何人可以使用,但是,我们有很多应用正在开发中,并且计划在不久的将来进行更多的工作。

So far, the applications are planned to have a smart contract to demonstrate Sway, tests written in Rust to demonstrate the Rust-SDK, and a user interface to demonstrate the use of the Typescript-SDK.

到目前为止,应用计划有一个智能合约来演示 Sway,用 Rust 编写的测试来演示 Rust-SDK,以及一个用户界面来演示 Typescript-SDK 的使用。

This part presents the applications that have gone through some level of scrutiny and have been deemed acceptable to be merged into the master branch.

这部分介绍了经过一定程度审查并被认为可以合并到主分支中的应用。

NOTE
注意

This does not mean that they are complete nor that development has ceased.

这并不意味着它们已经完成,也不意味着开发已经停止。

  • New English Auction application. The auction allows sellers to put up assets that they would like to sell based on an initial price and a reserve price. Users bid until the reserve price is met or the time expires;
    新的英语拍卖应用。拍卖允许卖家根据初始价格和底价出售他们想要出售的资产。用户竞价直至达到底价或直到时间结束;

  • New Name Registry application which allows users to own a human-readable name that can be used to transfer assets. This means that a user does not have to use the hex format of random characters; instead, they can use a memorable word/name to transfer;
    新的名称注册应用允许用户拥有可用于转移资产的人类可读名称。这意味着用户不必使用随机字符的 hex 格式;相反,他们可以使用一个好记的词/名字来转移;

  • New Over-The-Counter (OTC) Swap Predicate application demonstrates a proof-of-concept whereby coins to be swapped are locked behind predicates. Anyone can spend these coins, as long as their transaction sends a certain quantity of coins back to a provided address - thereby completing a stateless atomic swap between two parties.
    新的场外交易 (OTC) Swap Predicate 应用演示了一个概念验证,其中要交换的代币被锁定在谓词后面。任何人都可以花费这些代币,只要他们的交易将一定数量的硬币发送回提供的地址——从而完成两方之间的无状态原子交换。

Note: This minimal example could serve as the basis for an entire order book exchange, where orders are circulated off-chain, and settled solely through the funding and spending of predicates. This design would be orders of magnitude more performant than a storage-backed smart contract implementation.

注意: 这个最小的例子可以作为整个订单簿交换的基础,其中订单在链下流通,并仅通过谓词的资金和支出来结算。这种设计的性能将比存储支持的智能合约实现高出几个数量级。

  • New Automated Market Maker (AMM) application. It allows users to swap assets via liquidity pools;
    新的自动做市商 (AMM) 应用。它允许用户通过流动性池交换资产;

Sway

Sway是什么 (What is Sway?)

Sway is a language for writing smart contracts for the Fuel Virtual Machine (FuelVM), a blazing-fast, blockchain-optimized VM designed for the Fuel blockchain. It is heavily inspired by Rust and aims to bring modern language development and performance to the blockchain ecosystem. Start learning the Sway language today with the Sway Book and the FuelVM Bootcamp.

Sway 是一种用于为 Fuel 虚拟机 (FuelVM) 编写智能合约的语言,这是一种专为 Fuel 区块链设计的超快、区块链优化的虚拟机。它深受 Rust 的启发,旨在为区块链生态系统带来现代语言开发和性能。立即通过 Sway Book 和 [FuelVM Bootcamp](https: //www.youtube.com/watch?v=GKNuaFcPaXc) 来学习吧!

一般更新 (General Updates)

  • New intrinsic functions for operating on raw_ptrs;
    用于操作 raw_ptrs 的新内置函数;
  • Bug fix to address dead and incorrectly typed blocks into IR, triggering a verification failure;
    错误修复以解决 IR 中死块和错误键入的块,从而触发验证失败;
  • Disallow assigning to initialized registers in asm blocks;
    不允许分配给 asm 块中的初始化注册器;
  • Disallow control flow opcodes in asm blocks;
    禁止在 asm 块中使用控制流操作码;
  • Bug fix for a **Cannot infer type** error regarding call site span;
    针对与调用站点跨度有关的**无法推断类型**错误的错误修复;
  • Bug fixes for errors regarding generic types;
    修复了关于泛型类型的错误;
  • Allow returning raw_ptr from scripts;
    允许从脚本中返回 raw_ptr
  • New Checks-Effects-Interactions pattern static analysis feature;
    新的检查-效果-交互模式静态分析功能;
  • Bug fix to control flow graph node uniqueness to prevent erroneous never used errors;
    Bug修复-控制流图节点的唯一性以防止错误的**从未使用过**错误;
  • New compiler error when using private methods of the library;
    使用库的私有方法时出现新的编译器错误;
  • New array out-of-bounds analysis at compile time;
    编译时新增数组越界分析;
  • More opcodes to check_invalid_opcodes for predicates;
    谓词的 check_invalid_opcodes 更多操作码;
  • Improve warnings on unnecessary storage annotations;
    改进对不必要的存储注释的警告;
  • Fix error message for arity mismatch on method calls;
    修复方法调用中元数不匹配的错误消息;
  • Disallows while loops in predicates;
    不允许在谓词中使用 while 循环;
  • New support for mutable arrays;
    新支持可变数组

标准库更新 (Standard Library Updates)

  • New as_u128 method for to U256;
    新的 as_u128 方法用于 U256
  • New generic trait From<T>;
    新的通用特征From<T>
  • Updates and rework to the raw_ptr library with breaking changes;
    raw_ptr 库进行更新和返工,并进行重大更改;
  • Updates and rework to the alloc library with breaking changes;
    alloc 库进行更新和返工,并进行重大更改;
  • General rework and reformat of the standard library;
    标准库的一般返工和重新格式化
  • Small optimizations to U128 and U256;
    U128U256 的小优化;

工具更新 (Tooling Updates)

  • Removal of the forc-explore plugin;
    删除了forc-explore插件;
  • New workspace building feature;
    新的工作区建设功能;
  • Add **[workspace]** table to workspace manifest files;
    **[workspace]** 表添加到工作区清单文件;
  • Provide a way to detect the type of manifest files and general refactor for workspace builds;
    提供一种方法来检测清单文件的类型和工作区构建的一般重构;
  • Output **manifest** file parsing errors/warnings for workspace members;
    为工作区成员输出**清单**文件解析错误/警告;
  • Introduction of Sway Unit Tests;
    引入Sway 单元测试
  • New feature to show fn signature and type info, visibility, and mutability on hover requests;
    在悬停请求上显示fn 签名和类型信息、可见性和可变性的新功能;

Fuel核心 (Fuel Core)

  • Moved block timestamps to TAI64 in compliance with the specs;
    将块时间戳移至符合规范的TAI64
  • GraphQL Subscriptions via SSE for transaction status updates;
    通过 SSE 进行 GraphQL 订阅以获取交易状态更新;
  • Upgrade to Cynic 2.2;
    升级到 Cynic 2.2
  • Prometheus metrics for transaction pool & p2p;
    交易池和 p2p 的 Prometheus 指标;
  • Fix for block pagination in GraphQL API;
    修复了 GraphQL API 中的块分页;
  • VM fixes for MROO & LB;

MROO&LB 的虚拟机修复

SDK(Fuel-TS 和 Fuel-RS)-SDKs (Fuel-TS & Fuel-RS)

  • Better debugability through parsed readable revert errors;
    通过解析可读的恢复错误来提高可调试性;
  • Predicate data encoder;
    谓词数据编码器;
  • Block time manipulation, useful for testing;
    块时间操作,对测试有用;
  • Support for script arguments;
    支持脚本参数;
  • Transaction fee payment using bridged assets (e.g. ETH);
    使用跨链资产(例如 ETH)支付交易费用;
  • Support for parsed logs in scripts;
    支持在脚本中解析日志;
  • Contract call dependencies estimation and auto-setup: automatically sets up your contract input set and variable outputs;
    合约调用依赖估计和自动设置:自动设置你的合约输入集和变量输出;
  • New support for EVM addresses;
    新支持EVM 地址;
  • New Fuel TypeScript SDK documentation;
    新的 Fuel TypeScript SDK 文档;
  • Rust SDK (Fuel-RS) only: Support for running contract calls in async environments (e.g. passing a contract instance to a thread);
    仅限 Rust SDK (Fuel-RS):支持在异步环境中运行合约调用(例如,将合约实例传递给线程);

敬请关注 (Follow Us)

关于我们 (About Us)

Fuel is the fastest execution layer for the modular blockchain stack. Powerful and sleek, the technology enables parallel transaction execution, empowering developers with the highest flexible throughput and maximum security required to scale. Developers choose the FuelVM for its superior developer experience and the ability to go beyond the limitations of the EVM.

Fuel 是模块化区块链技术栈的最快执行层。该技术功能强大且时尚,支持并行交易执行,为开发人员提供了扩展所需的最高灵活吞吐量最大安全性。开发人员选择 FuelVM 是因为它卓越的开发人员体验和运行能力 ,突破了 EVM 的限制**。

成为贡献者 (Become a Contributor)

赞赏