We are excited to launch the beta-4
testnet, enabling public P2P access so anyone can run local nodes connected to Fuel. Fuel now reaches a crucial milestone on its way to Ethereum mainnet.
Following the beta-3
launch, Fuel has experienced significant growth, now comprising over 40 projects in its ecosystem. We're thrilled to witness our community expanding further, with numerous builders and projects joining from the recently concluded Sway Summer Hackathon and the recently announced Q4 Grants Program cohort. With beta-3
, we’ve seen more than 2,000,000 settled blocks and 10,000 deployed contracts, in addition to the Fuel Wallet amassing nearly 100,000 downloads.
Please note that beta-4
is not an incentivized testnet. There will be no direct rewards for participation in this network.
Building upon the foundation of beta-3
, beta-4
introduces a range of enhancements and new features. Some key features of the beta-4
testnet are:
Multi-token support allows the inclusion of sub-identifiers during asset creation. These sub-identifiers can include valuable metadata enabling native-level NFTs, multi-asset pools, NFT marketplaces, and more.
Continuous improvements to P2P networking allow us to enable public P2P networking access in Fuel. This allows users to run a local fuel-core
beta-4
node, which may be useful for testing or indexing applications that are deployed onto Fuel. Public P2P access will also help with stress testing and optimizations in preparation for mainnet.
Many new VM opcodes have been added that should allow for significant bytecode size reductions in contracts, as well as various performance and safety improvements.
Parallel predicate execution enables Fuel to take advantage of multiple cores to speed up execution processing. Predicates are stateless and inherently parallelizable, making them a good first candidate for parallelizing the FuelVM. This will benefit the performance of applications making heavy use of predicates, such as predicate-based order books.
beta-4
also includes a major upgrade of the native Ethereum bridge. For deposits, this resulted in retryable message UTXOs to enable guaranteed delivery and reduced the number of steps required to bridge native Ethereum. On the withdrawal side, it also improves security and reduces gas costs for users by having the sequencer periodically commit block header hashes to Ethereum. These changes will also enable seamlessly transitioning to a full-rollup mode including DA and fraud-proving in the future.
Here is a full list of features and updates that come with beta-4
:
New storage API.
More complete type system.
Better support for trait constraints.
Disambiguation with fully qualified paths.
Standardized private-by-default modules.
Explicit casting of numeric types.
New language features:
Associated constants.
Type aliases.
Conditional compilation.
OR match patterns.
Super-ABIs.
Copy propagation optimizations.
Register spilling.
Base support of the reputation system, allowing connection of external users to the network.
Support of Sparse Merkle trees for the contracts state.
Parallelization of the predicate verification and estimation.
Allowing managing multiple tokens per one contract.
Supports a wide arithmetic operations.
Retryable messages support for more safe token bringing.
Performance optimizations and benchmarking.
Refactoring of the FuelVM and fixation of corner cases that could corrupt the VM state.
Support Secp256r1 signature recovery and Ed25519 verification.
Optimized and added new opcodes that allow to reduce the size of the contract.
forc-test
now runs unit tests concurrently.
forc-doc
added support for nested submodules. Allows jumping into the documentation for any submodules relative to the current file.
fuel.nix
has become stable and now has its own install and usage guide.
forc-deploy
UX has been improved and now comes with a TUI and integrates with forc-wallet
.
Sway Playground now has an interactive user interface that gets generated from the contract ABI.
Complete integration with the sway-compiler, now have access to 100% of the tokens.
Huge gains in backend performance. Most features are now 90% faster than in beta-3
.
Semantic renaming.
Semantic highlighting.
Code actions to auto-generate doc comments using the SRC-2; Inline documentation standard.
Links in hover popup boxes.
Rust SDK
Ergonomic support for custom transaction inputs and outputs for predicates;
Support for payable methods;
Integration with the new Sway’s assert_eq
;
Improved Script
's custom script building;
Support for config-time constants;
Better way to setup tests and load and deploy contracts with the new setup_program_test!
macro and more;
Bytes
and raw slices as inputs;
Pay for transactions using predicates (same interface as a wallet);
Better way to work with logs;
Gas estimation for script calls;
low_level_call
support;
Many developer experience and QoL improvements as well as many bug-fixes;
Typescript SDK
Support for vectors as outputs;
Main arguments support for scripts;
Main arguments support for predicates;
Script support for the new abi-typegen
;
Predicate support for the new abi-typegen
;
Transaction dependencies estimation;
Support for payable methods;
Pay for transactions using predicates (same interface as a wallet)
Fuel core control API: launch and manage Fuel nodes using the TS SDK;
Improved support for more complex types in vectors;
The current Fuel Wallet available on the Chrome web store (v0.11) is only compatible with beta-3
. The next version of the Fuel Wallet v0.12.4 will be only compatible with beta-4
once we release it will be automatically distributed to all users. If you want to update or start testing the beta-4
you can install this version using the link bellow.
To download and use version 0.11 on beta-3
→ Fuel Wallet (Beta)
To install version 0.12.4 on beta-4
→ Fuel Wallet Development (Beta)
See what projects are building on Fuel → https://alpha.fuel.network/ecosystem/
Fuel's block explorer (still heavily WIP) → https://fuellabs.github.io/block-explorer-v2/beta-4/#/
Support for custom types - any type defined in your Sway contract can be indexed.
Create, build, and deploy indexers in one seamless forc
experience using the forc index
plugin.
The SRC-20; Token Standard defines the implementation of a standard API for Native Assets using the Sway language. A Token Library that follows this standard for rapid development has also been released.
The SRC-3; Mint and Burn Standard is used to enable mint and burn functionality for Native Assets.
The SRC-5; Ownership Standard is used to restrict function calls to admin users in contracts. The Ownership Library has been updated to reflect these changes.
The SRC-2; Inline Documentation Standard defines how to document your Sway files.
A minimal String
type has been introduced.
The StorageKey
has been introduced and storage api has been changed to enable complex storage types.
The StorableSlice
trait alongside the StorageBytes
and StorageString
types have been introduced.
Hasher
type and Hash
trait have been introduced.
block_header_hash()
, output_asset_to()
, output_asset_id()
have been introduced and improvements to the VM flags have been added.
Identity
has received QOL improvements such as as_address()
and token features such as transfer()
.
The std-lib has now been throughly documented.
Various optimizations and developer experience improvements.
beta-3
, active builders in the Fuel ecosystem can follow the testnet migration guide → https://docs.fuel.network/guides/testnet-migration/beta-4
is available here.For an overview of Fuel, take a look at the new Fuel documentation portal.
To begin building on Fuel, check out the developer quickstart. This guide provides an end-to-end walkthrough for developers building a dapp on Fuel.
Join the recently announced Fuel Q4 Grants Program by building or integrating on Fuel.
Apply now and receive up to $50,000 USD in funding and become a part of Fuel’s Ecosystem.
The application period for the upcoming Q4 cohort opens on Monday the 28th of August and closes on Monday the 11th of September.
If you have any questions (development-related or otherwise), you can join the Fuel Labs Discord and head to the #questions channel under the Testnet category. Be sure to follow our Twitter for updates.
Note that the
beta-4
testnet is under active development and may see breaking upgrades and even regenesis events.