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.
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:
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.
John Adler gave an AMA with vVv Fund
Camila Ramos on Devs Do Something's Podcast
Fullstack Fuel: Writing Smart Contracts in Rust with Sway
Minority Programmers: Building Smart Contracts on Fuel with Sway
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.
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
Scaling Ethereum with the Fastest Modular Execution Layer, by John Adler
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.
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.
The forc-wallet
now comes with the toolchain by default, i.e. running fuelup toolchain install latest
grabs forc-wallet
automatically as well.
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;
A new raw_ptr
type and a new **
operator;
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 byte
type in favor of using the u8
type;
Introduce a __revert
intrinsic and disallow rvrt
, ret
and retd
in asm
blocks;
Disallow impl self
blocks for Contract
;
Enable predicate-specific asm
checks;
Detect and disallow multiple methods with the same name;
Improvements to error recovery during compilation;
New function set
for the Vec<T>
type;
New Root
, Logarithm
, and BinaryLogarithm
traits implemented for u8
, u16
, u32
, u64
and U128
;
New trait core::ops::Not
with method not()
to replace the free function core::ops::not(b: bool)
;
Add StorageMap
to the standard library prelude;
Rename transfer_to_output
to transfer_to_address
;
Revamped implementation of send_message
;
Remove raw_ptr::addr()
;
New forc-doc
plugin for automatically generating documentation from doc comments;
Introduce support for [contract-dependencies]
to Forc.toml
;
Support for forc-client
for signing transactions without stdio
prompts;
New --silent
and --log-level
flags;
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 forc test
;
Extract tracing utilities from forc-util
into a dedicated forc-tracing
plugin;
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;
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 $rB
flag;
*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.
Generate ParamTypes
from your JSON ABI TypeApplications
;
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 contract_instance
;
Create Bits256
from strings;
Many improvements to the Provider
API and many new methods for it;
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;
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.