Inside Fuel — October 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.
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.
🎙️ Podcasts & AMAs
Fullstack Fuel: Writing Smart Contracts in Rust with Sway
Minority Programmers: Building Smart Contracts on Fuel with 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.
🇨🇴 - Devcon, Bogota
We flew to Colombia to attend one of the most significant events of the year, where we participated in various talks:
- New Paradigms by Non-EVM Compatible L2s ft. Nick Dodson
- Scaling Ethereum with the Fastest Modular Execution Layer, by John Adler
- Machismo, Remittance, & Inflation: Scaling Ethereum for Widespread Adoption in LATAM, by Camila Ramos
🇵🇹 - Lisbon
We participated in various events in Lisbon this month, here is an overview of a few of them:
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.
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.
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.
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.
Binaries are executed through Fuelup as proxies allowing flexibility in the execution of tools.
It simplifies building and maintaining Sway applications with forc and fuel-core for common platforms.
forc-wallet now comes with the toolchain by default, i.e. running
fuelup toolchain install latest grabs
forc-wallet automatically as well.
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.
- 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
asmcontrol flow for previously unsupported cases;
- A new
raw_ptrtype and a new
- Rework of method application syntax so that
~is no longer needed;
- New support for adding Turbofish-type arguments (
::<T, F>) to method calls;
- 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;
- Removal of the
bytetype in favor of using the
- Introduce a
__revertintrinsic and disallow
impl selfblocks for
- Enable predicate-specific
- Detect and disallow multiple methods with the same name;
- Improvements to error recovery during compilation;
Standard Library Updates
- New function
BinaryLogarithmtraits implemented for
- New trait
not()to replace the free function
StorageMapto the standard library prelude;
- Revamped implementation of
Fuel Orchestrator (Forc) Updates
forc-docplugin for automatically generating documentation from doc comments;
- Introduce support for
- Support for
forc-clientfor signing transactions without
- Better error message when fetching a git dependency failed;
- Improve how dependencies are fetched when local git sources are available;
- Additions to the Sway formatter;
- Remove Rust integration testing behavior from
- Extract tracing utilities from
forc-utilinto a dedicated
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 Core Updates
- Configurable block production modes (instant, interval, hybrid) for Proof of Authority (PoA);
- PoA block signing has been implemented;
- Multi-transaction blocks;
- Cross-chain asset bridging to/from ETH;
- Coinbase* transactions;
- Generically typed transactions;
- State opcodes now return whether the storage is unset or zeroed via
*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.
Fuels-rs (Rust SDK) Updates
ParamTypesfrom your JSON ABI
- 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;
- Contract instance creation now takes a
Bech32ContractId, not a string, improving the type-safety around contract instantiation;
- Notable QoL improvements
- Query the balance from your contract through the
- Many improvements to the
ProviderAPI and many new methods for it;
- Query the balance from your contract through the
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
WalletLockedfor read-only operations and WalletUnlocked for write operations;
- Automatic variable output estimation;
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.