Inside Fuel — June 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 monthly review of the technical developments on the Fuel Network. Take a moment to catch up with all of the latest news.
Updates
Sway Updates
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.16.2 were released (7 Updates)
- The addition of
StorageMap
,Vec
,Identity
,U256
, and 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; - The introduction of the
#[storage(read)]
,#[storage(write)]
, and#[storage(read, write)]
attributes, which allow the compiler to statically analyze which functions are accessing storage and provide you with purity guarantees; - Major improvements to the dead code analysis, include a 1000x speedup and better error messages;
- Allow a mutable
self
argument in methods inside ofimpl
blocks; - The addition of the rest pattern (
..
) in struct definitions, which can be used as the last token in a pattern to not have to specify all the struct fields; - Additional operators added, including
+=
and-=
; - A new feature that allows reassignment of individual indices inside of mutable tuples;
- The addition of
break
andcontinue
can direct control flow inside of while loops; - A new feature that expands the set of types that can be
const
declarations to include certain non-primitive types; - Improvements to the type system allowing for more complex type inference;
Fuel Core Updates
Versions 0.9.1 - 0.9.4 were released (3 updates)
- Fractional pricing for subunit gas metering;
- New GraphQL APIs:
- Debugging for FuelVM;
- Deployed contract info and balances;
- Support for SDK / Wallet to auto-configure gas limits and minimum prices;
- Genesis configurable transaction validation rules;
- Prometheus metrics for RocksDB;
Fuel-rs (Rust SDK) Updates
Versions 0.15.0 - 0.16.1 were released (6 updates)
- Better contract log capturing;
- Updated support for arrays and tuples with custom types;
fuels-core
in the Rust SDK now supports WASM, other modules will follow soon;- Essential support for Sway’s
Result<T>
andOption<T>
; - New
ContractCallHandler
abstraction to enable users to interact with the crafted transaction before sending it; - You can now run your Rust SDK-based tests using the
fuel-core
bin. You can still run it against thefuel-core
library with the new feature flag:--features=fuel-core-lib
; - fuels-abigen-macro doesn’t need to be explicitly imported anymore. Now, all you need to use the Rust SDK is
fuels::prelude::*
; - New centralized examples crates;
- Coming up in the Rust SDK in a few weeks: Executing transactions at a target block height;
Fuel-ts (Typescript SDK) Updates
Version 0.7.0 was released
- Storage initialization;
- Ergonomics improvements to the provider abstraction;
- Predicates support;
- Many bug fixes on both SDKs, thanks to the community and users for finding and reporting bugs!
Sway Applications
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 master
branch.
NOTE
This does not mean that they are complete nor that development has ceased.
Escrow
An escrow is a decentralized third party that temporarily stores assets on behalf of multiple parties, typically a buyer and a seller.
Fundraiser
The fundraiser is another decentralized app that allows users to create campaigns to which anyone can pledge their assets to. If the specified funding goal has been reached then the author of the fundraiser can claim those funds otherwise everyone can retrieve their pledge.
Multi-Signature Wallet
A multi-signature wallet is an extension of a simple wallet that has a single owner. The multisig has multiple owners; thus, any transaction must be approved by a certain number of trusted owners. This allows for additional security especially when large amounts of funds are kept in the wallet.
SwaySwap
After months of work, we had the pleasure of releasing a Uniswap-like decentralized application running on a persistent Fuel devnet: SwaySwap.
SwaySwap is a blazingly fast DEX running completely on Fuel, a UTXO-based modular execution layer.
Check us out at: https://github.com/FuelLabs/sway-applications
Other
In the News
According to the Rust In Blockchain monthly review, Fuel is still one of the most active Rust-based projects. Fuel ranked 4th, right behind Parity, Solana, and Sui, with 339 merged PRs, 214 closed issues, and 180 open issues in June 2022.
Podcast Appearance
Follow us
If you don’t want to miss any update on the Fuel Network, simply follow us and activate the notification bell:
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.
Join us
If you want to join us in this journey, here are our current job openings.