Inside Fuel — Summer 2022
Welcome to Inside Fuel, our monthly review of the technical developments on the Fuel Network. Take a moment to catch up with all of the latest news.
Welcome to Inside Fuel, our review of the technical developments on the Fuel Network. Take a moment to catch up with all of the latest news.
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 which allow for flexibility in the execution of tools.
It simplifies building and maintaining Sway applications with forc and fuel-core for common platforms.
Right now, fuelup has the
latest toolchain as the only pre-packaged official toolchain. Components in this toolchain are tested for compatibility in our GitHub CI before being updated. For more flexibility at the cost of possible incompatibility or instability, advanced users can specify specific versions of components they want to install and use.
Basic usages such as keeping the toolchain or Fuelup up to date can be found here.
For more details on how Fuelup works, as well as usage examples, please refer to The Fuelup Book.
Note that Fuelup is still in active development with more features soon to come. Opening issues for any bugs, or suggestions to improve it are welcome.
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.
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.
That isn't to say that you cannot have a CLI application, a plugin, or any other type of app. Those are simply not in development at the moment.
This part presents the applications that have gone through some level of scrutiny and have been deemed acceptable to be merged into the
This does not mean that they are complete nor that development has ceased.
New DAO Smart-Contract prototype
What is a DAO?
A decentralized autonomous organization (DAO) is akin to an on-chain government where participants are able to cast votes on proposals using some governance token. Various consensus mechanisms may be implemented in order to determine whether a proposal will pass and if that happens then the DAO will begin to operate under the rules of the new proposal.
In this implementation, the user deposits governance tokens and receives some number of votes that can be cast and recast on different proposals. They can vote in favor or against proposals and they can transform their votes back into the governance tokens if they wish to withdraw.
- The smart contract is mostly complete for the basic implementation. There are some issues that need to be worked out but a UI can be started.
- The user interface does not currently exist.
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.
Versions 0.14.5 - 0.21.0 were released
- The addition of
StorageVecand more, in the standard library. These are useful data structures for writing Sway programs! And they also open up the doors for Sway users to implement their own complex data structures;
continuestatements are now supported;
swapmethod now available on
- New JSON ABI format supporting generics has been added;
- A new minimum forc version field has been added to the
- Introducing configuration-time constants in
- Bytecode size has been optimized;
Fuel Core Updates
Versions 0.9.1 - 0.10.1 were released
- New fuel-debugger CLI with Automatic Storage Management (ASM) support;
- New VM instructions are now supported:
GTF- get transaction field;
SMO- send message output;
JMP/JNE- dynamic jump;
- The Produce Block API is now usable for SDK tests;
- Integrated Ethereum contract event handling into fuel-core;
- Message inputs and outputs in Fuel Core:
- Message receiving in the Relayer from L1;
- TxPool validation of Message inputs;
- Block execution message spending validation;
- GraphQL APIs for querying available messages to include in a transaction;
- Breaking Transaction format changes:
- Added TxPointer;
- Removed byte_price;
- Removed static contracts;
- Integrated latest VM Changes into fuel-core v0.10.x node:
- Previously implemented opcodes such as
GTFare now available for use in the node;
TIMEopcode to fetch the timestamp on the current block header;
- Previously implemented opcodes such as
Fuel-rs (Rust SDK) Updates
Versions 0.17.0 - 0.21.0 were released
- You can now bundle many contract calls into one, with
ContractMultiCall, which has been officially released;
- New feature to directly convert raw bytes into contract-defined types;
- New API for manual and automatic storage initialization;
- New API to manipulate block height, very useful for testing specific conditions between contract calls;
- New API to fetch the contract ID and the wallet used to create a contract instance;
Bech32support: all of the internal addresses (
Address) are now represented as
- You can now create test wallets with multiple custom assets;
- You can now generate test nodes with configurable consensus parameters;
- You can now change the underlying wallet of a contract instance with the new contract API
Wallet.get_coinsimprovement: now you can specify with assets to be returned;
- Support for the new JSON ABI — generics,
Resultsupport coming up!
Walletfor read-only operations that don’t need a private key and
WalletUnlockedfor read-write operations. This reduces the scope of the default wallet and reduces security risks;
- Predicates are now supported;
For more details, check out the Rust SDK Book here.
Fuel-ts (Typescript SDK) Updates
Versions 0.7.0 - 0.12.0 were released
- New way to pass
assetIdoverrides with the new
- Added contract slots on contract deployments;
- New contract getter on the
- New balances API have been added;
- New multicall (contract calls bundling) API;
- Full predicates support;
- You can now set the gas for each call;
Providernow integrated with query chain information;
- Support for generic custom types;
- Support for
- Support for the new JSON ABI —
Vecsupport is coming up!
- Fixes to the required amount of coins for contract calls;
- Automatic storage initialization upon contract deployment;
- Better interface for transaction fee payment;
Start building on Fuel today
Developer Resources for Building with Fuel
- A step-by-step guide to building a full-stack dapp on Fuel can be found here.
- The Fuel Book can be found here. It contains everything you need to know about Fuel, from its modular design to its key features.
- The Sway Book can be found here.
Introducing the Fuel Grants Program
The Fuel Grants program is a way to support projects building on Fuel. Currently, we are offering generous grants ranging from 10,000 - 150,000 USD to developers, creators, and new or existing projects to come build on the world's fastest modular execution layer. We welcome all builders with a passion for decentralization, web3, and building the future. We envision an autonomous future, where systems are built to power the next generation of human coordination and cooperation.
Building on Fuel means breaking free from the constraints of monolithic blockchains that have held us back.
To get started applying for a grant, fill out this form. We’re incredibly excited to launch this program, see more people building on Fuel, and taking the modular pill. If you have any additional questions please feel free to reach out to firstname.lastname@example.org.
Podcasts and Twitter Spaces
In case you missed it, discover SwaySwap, a blazingly fast DEX built on the fastest modular execution layer with the developers that built it during the Twitter Space: SwaySwap AMA.
In the News
☕ ️English Content
- Volt Capital:
- The Blockchain Modularity report
- Twitter threads by Soona and Alec
- Rollups: Execution Through the Modular Lens report from Eshita
- Delphi Digital:
- Is Fuel the best Modular Execution Layer? report from Can Gurel
🇹🇷 Turkish Content
- A New Look at the Execution Layer: Fuel Network report from Caner Budak
🇷🇺 Russian Content
- About the Fuel Project report from Aryakeri and Netwrkcrypt
According to the Rust In Blockchain monthly review (July and August), Fuel is still one of the most active Rust-based projects this summer. Fuel ranked 5th in July and August 2022, right behind Sui, Aptos, Parity, and Solana, with 225 merged PRs, 203 closed issues, and 142 open issues in July and 253 merged PRs, 193 closed issues, and 139 open issues in August.
We had the opportunity to give several talks during the EthCC in Paris (July 19-21). In case you missed them, here are the replay links below:
- Emily Herbert: Developing Smart Contracts in Sway;
- John Adler: "Always Has Been" (or, "Wait, It's All Resource Pricing?" Part 2) in continuation of last year's talk;
- Alex Hansen: A year's progress in Sway, the Smart Contract language for the Fuel VM;
🇩🇪 Berlin Blockchain week & EthBerlin
Some of the Fuel contributors will be attending the Berlin Blockchain week (Sept 12-18) and EthBerlin (Sept 16-18). Come say hi and grab some swag if you're around.
If you don’t want to miss any update on the Fuel Network, simply follow us and activate the notification bell:
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.
If you want to join us in this journey, here are our current job openings.