Welcome to the third issue of Road to Mainnet, our series sharing the latest network updates, DevEx improvements, ecosystem developments and community activities. Stay informed and connected as we progress together towards Fuel Mainnet launch.
The invite-only program (IOP) in our Attackathon with Immunefi kicked off last week with a $65,000 bounty pool going to whitehats who help secure ThunderNFT’s code. For those who found at least one vulnerability in the Fuel Attackathon, be sure to keep an eye out for our IOP’s with Spark, Sail, and Fluid! And be sure to follow @BuildOnFuel, to get the latest updates about new features, integrations, and developments in the Fuel ecosystem.
This issue, we’re focusing on developer progress and technical updates in the Fuel network. For ecosystem updates, keep an eye out for the next Road to Mainnet.
Without further ado, let’s get into it!
Solana wallets are now supported on Fuel, letting dApps on Fuel connect with SVM wallets as well as EVM ones. This update simplifies the process, allowing users to create Fuel accounts, sign transactions, and swap assets directly in Solana wallets such as Phantom, Solflare, and Backpack. Get started here.
We’ve rolled out significant upgrades to the network and developer experience with improvements including non-blocking transaction and contract deployment calls, enhanced support for large contracts and unfunded read-only calls. These updates give developers the ability to handle transactions asynchronously, deploy contracts of any size, and make calls that don't change the chain state without needing to fund their wallet. For more details on these advancements, check out our complete release logs.
We successfully completed a planned reorg of the testnet on August 19 to fix a corrupted forkless upgrade. Builders must use the new genesis chain config and fuel-core v0.33.0 to connect with the latest stable testnet versions now live—marking the last release before mainnet.
Cookbook AI is now available in our Docs. With GPT integration, it provides developers with contextual code suggestions and troubleshooting tips, simplifying the dApp development process.
The Fuel Sepolia Testnet is nearing 2 million users, passed 1 million contracts created, and processed over 25 million transactions to date!
At Fuel, we’re continuously improving our technology and network with key updates, including our Solana wallet integration, UI improvements, and a new Burner Wallet Connector for added flexibility. We've also resolved conflicts between Ethereum and Solana connectors, ensuring a smoother experience for developers and users.
Solana wallets now work on Fuel, allowing dApps built on Fuel to connect with SVM wallets in addition to EVM wallets!
This update lowers entry barriers, enabling users to securely create Fuel accounts, sign transactions, and swap assets directly within Solana wallets like Phantom, Solflare, and Backpack. Several Fuel dApps, including Spark and Mira, have already integrated this support. Developers can start integrating with Fuel using the provided developer documentation.
v0.9.0:
Feature Addition: Solana Connector has been integrated, allowing users to connect any Solana wallet directly within the Fuel ecosystem.
This enhancement is demonstrated in the example app, which now supports sending transactions and waiting for them asynchronously.
v0.9.1
Bug Fix: Resolved conflicts between the Ethereum and Solana connectors.
This update refactors the logic behind WalletConnect and Solana connectors to eliminate conflicts arising around Web3Modal instances when both connectors were used simultaneously in the same application. Users can now connect WalletConnect and Solana connectors without issue.
React Hooks + Connectors UI:
v0.23.0 - UI Alignment with Wagmi/WalletConnect
v0.24.0 - Burner Wallet Connector
On August 19, we conducted a planned outage for the testnet to reorg the blockchain and fix a corrupted forkless upgrade. All user transactions from August 13-19 were preserved, though the block IDs for that period have changed. The reorg was successfully completed, and the network is now fully operational. Builders who are running nodes or wish to connect to the network must download the updated genesis chain config and use fuel-core v0.33.0 to ensure compatibility.
Additionally, we released the final stable versions for the testnet, marking the last major update before mainnet. These stable versions contain the final breaking changes and will be the same ones that builders will use post-mainnet.
To enhance the experience for our developers and users, we’ve rolled out important improvements to our products, tooling suite, Sway, and the Rust and TypeScript SDKs.
UI Fixes + e2e Test Improvements:
Enhancements: Made several UI fixes and improved end-to-end (E2E) tests.
Specific improvements include validation of asset names in contract tests and enabling tests for fauceting directly from the wallet.
Created “Fee options” in Approve Transaction screen, allowing the user to customize the fee they accept to pay in transactions.
Performance and UX improvements:
Cached some requests on eth contracts to optimize costs on Alchemy.
Address representations now appear in b256 format instead of bech32.
ToggleGroup now supports next.js prefetching. The transaction page is now faster when changing between tabs, making the Fuel Explorer quicker and more seamless to use.
Replaced the proxy backend API with the new Explorer Indexer (#375), enabling numerous new features and possibilities for the Block Explorer.
Added pagination to the Account Transactions page and sorted transactions by the latest first to improve usability and navigation.
See the full releases of the Fuel Wallet, Bridge and Explorer.
v0.63.1 - Contract Enhancements and ABI Upgrades:
Have made progress on typed slices, formalized new syntax and slicing intrinsics.
Standard proxies for your upgradable contract can be enabled and automatically updated on deployment using the new `[proxy]` attribute, making it easier to enable and update proxies.
Compiler refactors and new symbol resolution pass move us closer to fixing impl coherence and other type system issues, creating clearer coding structures.
New ABI File Specification brings a unique self describing type identifier that can be used for indexing.
Contract chunking allows deployment of contracts larger than the size limit using the new VM blob feature. This enables developers to create more complex applications without being restricted by size limitations.
v0.23.0 - Upgradability Library and Enhancements:
Added new upgradability library, including associated tests and documentation, making it easier for users to build upgradable contracts and proxies as well as to debug contracts and index events.
Added the SetMetadataEvent and ensured it is emitted when the _set_metadata() function is invoked
Introduced OrdEq functionality to Signed Integers.
Added the TryFrom implementation from signed integers to unsigned integers.
Enabled the metadata events now that the Rust SDK supports wrapped heap types.
Improved the admin storage process by hashing the string "admin" with the bits of an Identity when creating a storage slot in the Admin Library.
Deprecated the Fixed Point number library.
ℹ️ Discover the new features in the Sway Playground and see how they can streamline your development process.
Unfunded read-only calls, which means there is no need to fund your wallet for making calls that don’t change the chain state, reducing friction for interacting with the blockchain.
Added account/wallet impersonation, allowing testing and debugging by simulating different account interactions with dApps.
Added support for large contracts so users can deploy and interact with contracts split into on-chain blobs/chunks, enabling the creation of more complex applications without size limitations and without having to directly deal with the complexities of blobs.
Added support for static gas price setting in NodeConfig: enables setting predictable gas costs, giving developers control over transaction fees.
Added full support for raw_slice and string_slice, improving data handling by allowing more predictable, efficient operations with portions of data.
ℹ️ Read the full Rust SDK release change logs to see how these changes can improve your development experience.
Added support for the new ABI Spec: this adds support for the new ABI Spec, introduced by forc 0.63.0 and 0.63.1, which brings deterministic goodies via hashed-based IDs.
Made typegen API more straightforward and ergonomic: parts of our great experience are shipped through the typegen generated files, which contain most of the boilerplate necessary to interact with Sway programs. We revised everything around this and trimmed all templates nicely to support a more ergonomic and intuitive API.
Reduced required roundtrips and bandwidth for submitting transactions: in keeping with our constant desire to improve network efficiency around transaction estimation, submission, and dry runs, we managed to reduce one request to speed up node interactions.
Added ability to deploy big contracts via Blob transactions: users can now deploy contracts of any size, and the SDK will choose the most appropriate deployment method depending on the contract size and whether it is greater than the accepted max contract size for a chain.
Improved the bytecode compression for Typegen: using a mix of Base64 with Gzip, typegen generated files are now up to 40%+ smaller than before, which can be huge for substantial Sway programs.
ℹ️ To get started on Fuel Sepolia, visit our Developer Quickstart Guide for a detailed walkthrough of how to write a smart contract in Sway, deploy to Fuel, or build a front end. And check out the full SDK release logs to see how these changes improve your developer experience.
One of our community members, JecikPo, put together two Sway development guides. Check them out!
How to write a basic SRC20 contract in Sway: https://github.com/jecikpo/Tutorial-Fuel-SRC20
How to create a UniswapV2 clone in Sway: https://github.com/jecikpo/Tutorial-Sway-UniswapV2
Cookbook AI is now available in our Docs.
We published Part II of our Ethereum series, The Missing Piece in Execution.
This series aims to provide comprehensive insights into the challenges associated with enhancing Ethereum's performance and capacity, as well as the current solutions working to make it more efficient and scalable for widespread adoption.
Our core team is hard at work tuning the chain for maximum performance - expect to see several updates as we continue to add new features to the testnet and Sway as we move rapidly toward Mainnet.
Upcoming Events: Subscribe to the Fuel Luma calendar.
Test your Sway skills and start building with Fuel at the Fuel x Encode Hackathon, beginning on September 2nd, 2024. This four-week event offers exclusive technical workshops, opportunities to build on Fuel, and the chance to win exciting prizes. With an Open Track prize pool of $30,000, anyone can participate. The top prize winner will receive $5,000, and an additional $15,000 grant is available for winners who continue building.
Register here, and once you’ve signed up, sharpen your skills with our recently completed Fuel Educate series.
Follow @BuildOnFuel on X to stay updated on our road to Mainnet.