Fuel内幕-2022年10月 (Inside Fuel-October 2022)

Inside Fuel — October 2022

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.

欢迎来到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 October with 316 merged PRs, 236 closed issues, and 143 open issues.  We are ranked fifth right behind Aptos, Parity, Solana, and Sui.

根据Rust In Blockchain月度回顾,Fuel是今年10月最活跃的基于Rust的项目之一,有316个合并的PR,236个关闭的问题,以及143个开放的问题。  我们排名第五,紧随Aptos、Parity、Solana和Sui之后。

🎙️ 播客和AMAs (Podcasts & AMAs)

John Adler gave an AMA with vVv Fund
John AdlervVv Fund进行了一次AMA

Camila Ramos on Devs Do Something's Podcast
Camila RamosDevs Do Something的播客上发言。

⚙️ 工作坊 (Workshops)

Fullstack FuelWriting Smart Contracts in Rust with Sway
Fullstack Fuel: 在Rust中用Sway编写智能合约。

Minority ProgrammersBuilding Smart Contracts on Fuel with Sway
少数派程序员用Sway在Fuel上构建智能合约

🌴 Sway日 (Sway Day)

We hosted the first edition of Sway Day, a monthly discussion about all-things Sway, where we had the chance to have the founders of Elix Finance, one of the first granted projects on Fuel.

我们举办了第一期Sway Day,这是一个关于Sway所有事情的月度讨论,我们有机会请到了Elix Finance的创始人,这是Fuel上首批授予的项目之一。

The first episode of Sway Day was a BIG hit 🌴
Special thanks to our guests @MauriceWbr and @namakxyz from @elixfinance
Some highlights in case you missed it 👇🧵 https://t.co/ffFZlaJY9Z
— Sway (@SwayLang) October 21, 2022

第一期 "Sway Day "是一个巨大的冲击🌴
特别感谢我们的嘉宾@MauriceWbr和 来自@elixfinance@namakxyz

一些亮点,别错过👇🧵 https://t.co/ffFZlaJY9Z

公开露面 (Public Appearances)

🇨🇴 - Devcon, 波哥大 (Devcon, Bogota)

We flew to Colombia to attend one of the most significant events of the year, where we participated in various talks:

我们飞往哥伦比亚,参加今年最重要的活动之一,在那里我们参加了各种讲座。

Nick Dodson on a panel about Non-EVM Compatible L2s

Nick Dodson在一个关于非EVM兼容的L2的小组中发言

🇵🇹 - 里斯本 (Lisbon)

We participated in various events in Lisbon this month, here is an overview of a few of them:

我们本月在里斯本参加了各种活动,以下是其中一些活动的概述:

TRGC圆桌谈话 (TRGC Panel)

Nick Dodson was on stage during the panel organized by TRGC intituled: Post Tornado Cash: Can Web3 Ever Be Truly Decentralized? Watch the replay here.

Nick Dodson 在由 TRGC 组织的小组讨论会上登台演讲:Post Tornado Cash:Web3 能否永远真正去中心化? 观看重播此处

ETH 里斯本黑客马拉松 (ETH Lisbon Hackathon)

We sponsored ETH Lisbon, a 3 day-long hackathon during which hackers teamed up to build DApps. Read more about the winners here.

我们赞助了 ETH Lisbon,这是一个为期 3 天的黑客马拉松,在此期间黑客们组队构建 DApp。在 此处 阅读有关获奖者的更多信息。

StarknetCC圆桌谈话 (StarknetCC panel)

Nick Dodson participated in a panel during StarknetCC around high-level-languages implementation on top of Rollups, where he explained the reasons and needs for Sway. Read the TL;DR or watch the full panel replay here.

Nick Dodson 参加了 StarknetCC 期间,围绕 Rollups 之上的高级语言实施的小组讨论,他在会上解释了 Sway 的原因和需求。阅读 TL;DR 或在此处观看完整的圆桌谈话回放 .


技术更新 (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 应用的构建和维护。

The forc-wallet now comes with the toolchain by default, i.e. running fuelup toolchain install latest grabs forc-wallet automatically as well.

forc-wallet 现在默认带有工具链,即自动运行 fuelup toolchain install latest grabs forc-wallet


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 support for generic traits in the type system, allowing the writing of more advanced, composable programs with advanced types;

  • 类型系统中对泛型特征的新支持,允许编写更高级、可组合的高级类型程序;

  • Significant improvements to compile times by making optimizations to dead code analysis, Bytecode generation, Type checking, Register allocation, and more;
    通过优化死代码分析、字节码生成、类型检查、注册分配等,显着缩短编译时间;

  • New support for asm control flow for previously unsupported cases;
    对以前不受支持的情况的 asm 控制流的新支持;

  • A new raw_ptr type and a new ** operator;
    新的 raw_ptr 类型和新的 ** 运算符

  • Rework of method application syntax so that ~ is no longer needed;
    方法应用语法的返工,因此不再需要 ~

  • New support for adding Turbofish-type arguments (::<T, F>) to method calls;
    新支持将 Turbofish 类型的参数 (::<T, F>) 添加到方法调用;

  • An updated way of representing function calls in the compiler backend that helps align the high-level compiler design with our vision of Sway features in the future;
    一种在编译器后端表示函数调用的更新方式,有助于使高级编译器设计与我们对未来 Sway 功能的愿景保持一致;

  • Removal of the byte type in favor of using the u8 type;
    删除 byte 类型来支持使用 u8 类型;

  • Introduce a __revert intrinsic and disallow rvrtret and retd in asm blocks;
    asm 块中引入 __revert 内在函数并禁止使用 rvrtretretd

  • Disallow impl self blocks for Contract;
    不允许 impl self 冻结 Contract

  • Enable predicate-specific asm checks;
    启用谓词特定的asm检查;

  • Detect and disallow multiple methods with the same name;
    检测并禁止多个同名方法;

  • Improvements to error recovery during compilation;
    改进了编译期间的错误恢复;

标准库更新 (Standard Library Updates)

  • New function set for the Vec<T> type;
    Vec<T> 类型的新函数set

  • New RootLogarithm, and BinaryLogarithm traits implemented for u8u16u32u64 and U128;
    为 u8、u16、u32、u64 和 u128 实现了新的根、对数和二元对数特征;

  • 新特征

  • New trait core::ops::Not with method not() to replace the free function core::ops::not(b: bool);
    新特征 core::ops::Not 和方法 not() ,来替换自由函数 core::ops::not(b: bool)

  • Add StorageMap to the standard library prelude;
    将 StorageMap 添加到标准库序曲;

  • Rename transfer_to_output to transfer_to_address;
    transfer_to_output 重命名为 transfer_to_address

  • Revamped implementation of send_message;
    改进了 send_message 的实现;

  • Remove raw_ptr::addr();
    删除raw_ptr::addr()

Fuel Orchestrator (Forc) 更新-Fuel Orchestrator (Forc) Updates

  • New forc-doc plugin for automatically generating documentation from doc comments;
    新的 forc-doc 插件,用于从文档评论自动生成文档;

  • Introduce support for [contract-dependencies]  to Forc.toml;
    将对[contract-dependencies] 的支持引入Forc.toml

  • Support for forc-client for signing transactions without stdio prompts;
    支持在没有stdio 提示的情况下签署交易的 forc-client

  • New --silent and --log-level flags;
    新的 --silent--log-level 标志;

Forc后端 (Forc Backend)

  • Better error message when fetching a git dependency failed;
    获取 git 依赖项失败时更好的错误消息;

  • Improve how dependencies are fetched when local git sources are available;
    改进本地 git 源可用时获取依赖项的方式;

  • Additions to the Sway formatter;
    添加了 Sway 格式化程序;

  • Remove Rust integration testing behavior from forc test;
    forc test 中删除 Rust 集成测试行为;

  • Extract tracing utilities from forc-util into a dedicated forc-tracing plugin;
    forc-util中提取跟踪实用程序到专用的 forc-tracing插件中;

Sway语言服务器协议- Sway Language Server Protocol (LSP)

  • New support for inlay hints for variables;
    对变量的嵌入提示的新支持;

  • New support for showing formatted documentation on hover;
    新支持在悬停时显示格式化文档;

  • Errors and warnings are now displayed to users inside of their editors;
    错误和警告现在会在其编辑器中向用户显示;

Fuel核心更新 (Fuel Core Updates)

  • Configurable block production modes (instant, interval, hybrid) for Proof of Authority (PoA);
    权威证明 (PoA) 的可配置块生产模式(即时、间隔、混合)

  • PoA block signing has been implemented;
    已实施 PoA 区块签名;

  • Multi-transaction blocks;
    多交易区块;

  • Cross-chain asset bridging to/from ETH;
    与 ETH 之间的跨链资产桥接;

  • Coinbase* transactions;
    Coinbase* 交易;

  • Generically typed transactions;
    一般类型的交易;

  • State opcodes now return whether the storage is unset or zeroed via $rB flag;
    状态操作码现在通过 $rB 标志返回存储是未设置还是归零;

*Coinbase refers to the validators paying themselves for processing a block from the transaction fees. Having a coinbase transaction on each block make this process transparent to all users.

*Coinbase 指的是验证者为处理一个区块支付自己的交易费用。在每个区块上都有一个 coinbase 交易使这个过程对所有用户透明。

Fuels-rs(Rust SDK)更新 - Fuels-rs (Rust SDK) Updates

  • Generate ParamTypes from your JSON ABI TypeApplications;
    从您的 JSON ABI TypeApplications 生成ParamTypes

  • Automatic variable output estimation: no need to guess the variable outputs for your transactions;
    自动变量输出估计:无需猜测交易的变量输出;

  • You can now .estimate_tx_dependencies(number_of_tries) do update your transaction with the correct number of variable outputs. The same is coming for contract inputs;
    您现在可用 .estimate_tx_dependencies(number_of_tries) ,用正确数量变量输出更新您的交易。合约输入也是如此;

  • Contract instance creation now takes a Bech32ContractId, not a string, improving the type-safety around contract instantiation;
    合约实例的创建,现在采用 Bech32ContractId 而不是字符串,从而提高了合约实例化类型的安全性;

  • Notable QoL improvements
    显着的QoL质量改善

  • Query the balance from your contract through the contract_instance;
    通过 contract_instance 从您的合约中查询余额;

    • Create Bits256 from strings;
      从字符串创建 Bits256

    • Many improvements to the Provider API and many new methods for it;
      Provider API 的许多改进和许多新方法;

Fuels-ts(Typescript SDK)更新 Fuels-ts (Typescript SDK) Updates

  • New wallet functionality: vault export;
    新的钱包功能:保险库导出;

  • Full support for messages, which will enable bridge communication with the base layer, which is a major upcoming release;
    全面支持消息,这将启用与基础层的桥接通信,这是即将发布的主要版本;

  • The wallet now splits into WalletLocked for read-only operations and WalletUnlocked for write operations;
    钱包现在分为用于只读操作的 WalletLocked 和用于写入操作的 WalletUnlocked;

  • Automatic variable output estimation;
    自动变量输出估计


敬请关注 (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)

赞赏