From 5eef176fbd4bc6a780a84574171a1007c4828b58 Mon Sep 17 00:00:00 2001
From: Ake <10195782+akegaviar@users.noreply.github.com>
Date: Tue, 14 Jul 2026 09:56:38 +0700
Subject: [PATCH 1/2] docs: decommission Fantom Opera Testnet and Scroll
Sepolia (network sunset Jul 2026)
---
docs/nodes-clouds-regions-and-locations.mdx | 2 -
docs/protocols-networks.mdx | 4 +-
node-options-master-list.json | 44 +--------------------
3 files changed, 4 insertions(+), 46 deletions(-)
diff --git a/docs/nodes-clouds-regions-and-locations.mdx b/docs/nodes-clouds-regions-and-locations.mdx
index ed76f90c..c08082b7 100644
--- a/docs/nodes-clouds-regions-and-locations.mdx
+++ b/docs/nodes-clouds-regions-and-locations.mdx
@@ -240,7 +240,6 @@ description: Browse available cloud providers, regions, and geographic locations
| Network | Cloud | Region | Location | Mode | Debug & trace |
| ------- | --------------------------| ------- | --------- | ------- | ------------- |
| Mainnet | Chainstack Global Network | global1 | Worldwide | Archive | Available |
-| Testnet | Chainstack Global Network | global1 | Worldwide | Archive | Available |
## opBNB
@@ -257,7 +256,6 @@ description: Browse available cloud providers, regions, and geographic locations
| Mainnet | Chainstack Cloud | lon1 | London | Full | NA |
| Mainnet | Chainstack Cloud | lax1 | Los Angeles | Full | NA |
| Mainnet | Chainstack Cloud | fra1 | Frankfurt | Full | NA |
-| Testnet | Virtuozzo | fra1 | Frankfurt | Full | NA |
## Aptos
diff --git a/docs/protocols-networks.mdx b/docs/protocols-networks.mdx
index 46e4bab7..f4152ba5 100644
--- a/docs/protocols-networks.mdx
+++ b/docs/protocols-networks.mdx
@@ -41,7 +41,7 @@ description: Browse all supported blockchain networks on Chainstack including Et
| Etherlink | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/build-better-with-etherlink/#request) |
| Ethereum | Elastic, Dedicated | Full, Archive | Full, Archive | Sepolia Testnet, Hoodi Testnet | Yes | [Deploy through platform](https://console.chainstack.com) |
| Everclear | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/dedicated-nodes/) |
-| Fantom | Elastic, Dedicated | Full, Archive | Full | Testnet | Yes | [Deploy through platform](https://console.chainstack.com) |
+| Fantom | Elastic, Dedicated | Full, Archive | - | - | Yes | [Deploy through platform](https://console.chainstack.com) |
| Filecoin | Dedicated | - | - | - | No | [Request deployment](https://chainstack.com/dedicated-nodes/) |
| Fluent | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/dedicated-nodes/) |
| Fraxchain | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/build-better-with-fraxchain/#request) |
@@ -77,7 +77,7 @@ description: Browse all supported blockchain networks on Chainstack including Et
| Polkadot | Elastic, Dedicated | Full, Archive | - | - | No | [Deploy through platform](https://console.chainstack.com) |
| Polygon | Elastic, Dedicated | Full, Archive | Full, Archive | Amoy Testnet | Yes | [Deploy through platform](https://console.chainstack.com) |
| Ronin | Elastic, Dedicated | Full, Archive | Full, Archive | Saigon Testnet | Yes | [Deploy through platform](https://console.chainstack.com) |
-| Scroll | Elastic, Dedicated | Full, Archive | Full, Archive | Sepolia Testnet | Yes | [Deploy through platform](https://console.chainstack.com) |
+| Scroll | Elastic, Dedicated | Full, Archive | - | - | Yes | [Deploy through platform](https://console.chainstack.com) |
| Shibarium | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/build-better-with-shibarium/#request) |
| Solana | Elastic, Dedicated | Full, Archive | Full, Archive | Devnet | No | [Deploy through platform](https://console.chainstack.com) |
| Soneium | Dedicated | - | - | - | Yes | [Request deployment](https://chainstack.com/build-better-with-soneium/#request) |
diff --git a/node-options-master-list.json b/node-options-master-list.json
index 90a40860..76b5e602 100644
--- a/node-options-master-list.json
+++ b/node-options-master-list.json
@@ -1760,27 +1760,7 @@
}
]
},
- "testnets": [
- {
- "network_name": "Sepolia Testnet",
- "faucet_url": "https://faucet.chainstack.com",
- "locations": [
- {
- "cloud": "Chainstack Global Network",
- "node_type": "Global Node",
- "region": "global1",
- "location": "Worldwide",
- "deployment_options": [
- {
- "mode": "Archive",
- "debug_trace": true,
- "warp_transactions": false
- }
- ]
- }
- ]
- }
- ],
+ "testnets": [],
"additional_notes": "N/A"
},
"opBNB": {
@@ -1889,27 +1869,7 @@
}
]
},
- "testnets": [
- {
- "network_name": "Testnet",
- "faucet_url": "https://faucet.fantom.network/",
- "locations": [
- {
- "cloud": "Virtuozzo",
- "node_type": "Trader Node",
- "region": "fra1",
- "location": "Frankfurt",
- "deployment_options": [
- {
- "mode": "Full",
- "debug_trace": false,
- "warp_transactions": false
- }
- ]
- }
- ]
- }
- ],
+ "testnets": [],
"additional_notes": "Sonic client does not have automatic state pruning, no difference between full and archive nodes"
},
"Aptos": {
From ff1cb6c252967e582fdda8579195d63a0b0da428 Mon Sep 17 00:00:00 2001
From: Ake <10195782+akegaviar@users.noreply.github.com>
Date: Tue, 14 Jul 2026 10:02:12 +0700
Subject: [PATCH 2/2] docs: retire Fantom testnet tutorial, repoint Scroll
tutorial to mainnet
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fantom Opera Testnet and Scroll Sepolia are being decommissioned, so their pinned
tutorials break:
- Retire the Fantom ERC-721 tutorial (delete page, remove from nav, redirect to
fantom-tooling) — Fantom is superseded by Sonic.
- Repoint the Scroll Uniswap v3 tutorial from Scroll Sepolia to Scroll Mainnet:
mainnet WETH9 0x5300000000000000000000000000000000000004 (verified on Scrollscan),
scrollscan.com explorer, real-funds warning, mainnet bridge instead of faucet.
- Regenerate llms.txt (drops the retired tutorial).
---
docs.json | 2 +-
...contract-with-truffle-and-openzeppelin.mdx | 315 ------------------
docs/llms.txt | 1 -
...e-uniswap-v3-smart-contracts-on-scroll.mdx | 37 +-
4 files changed, 18 insertions(+), 337 deletions(-)
delete mode 100644 docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin.mdx
diff --git a/docs.json b/docs.json
index 831d2906..674691d4 100644
--- a/docs.json
+++ b/docs.json
@@ -102,6 +102,7 @@
{ "source": "/docs/tutorial-covalent-api-magic-how-to-retrieve-all-transactions-made-by-an-account", "destination": "/docs/fetching-transactions-to-and-from-a-specific-address-with-eth_getblockbynumber" },
{ "source": "/recipes/fetching-contract-deployment-transactions-with-the-chainstack-covalent-sdk", "destination": "/docs/fetching-transactions-to-and-from-a-specific-address-with-eth_getblockbynumber" },
{ "source": "/docs/goerli-to-sepolia-transition", "destination": "/docs/faucets" },
+ { "source": "/docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin", "destination": "/docs/fantom-tooling" },
{ "source": "/docs/polygon-zkevm-methods", "destination": "/docs/protocols-networks" },
{ "source": "/docs/polygon-zkevm-tooling", "destination": "/docs/protocols-networks" },
{ "source": "/docs/polygon-zkevm-tutorial-deploy-a-smart-contract-using-hardhat", "destination": "/docs/protocols-networks" },
@@ -1099,7 +1100,6 @@
"docs/gnosis-tutorial-simple-soulbound-token-with-remix-and-openzeppelin",
"docs/cronos-tutorial-dutch-auction-smart-contracts-on-cronos-with-hardhat",
"docs/filecoin-tutorial-deploy-a-deal-making-contract-on-filecoin-with-hardhat",
- "docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin",
"docs/tron-mastering-energy-bandwidth-with-python-and-chainstack",
"docs/tron-polling-for-trc20-transfers",
"docs/sonic-swap-farming-for-points-walkthrough-in-python",
diff --git a/docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin.mdx b/docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin.mdx
deleted file mode 100644
index 2342a067..00000000
--- a/docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin.mdx
+++ /dev/null
@@ -1,315 +0,0 @@
----
-title: "Fantom: ERC-721 collection with Truffle & OpenZeppelin"
-description: Deploy an ERC-721 NFT collection contract on Fantom using Truffle, OpenZeppelin, and a Chainstack node endpoint for testnet contract verification.
----
-
-**TLDR:**
-* This tutorial shows how to build and deploy a straightforward ERC-721 contract on the Fantom testnet.
-* You’ll leverage Truffle and OpenZeppelin to set up and compile the NFT collection, which can be minted by anyone.
-* Once deployed, you can verify the contract on FTMScan for easy interactions like minting or querying balances.
-* You can eventually take the same approach for Fantom mainnet and list your collection on an NFT marketplace such as Artion.
-
-## Main article
-
-ERC-721 is the non-fungible token (NFT) standard for smart contracts.
-
-In this tutorial, you will:
-
-* Create a simple ERC-721 collection contract that allows anyone to mint new non-fungible tokens in the collection.
-* Deploy the contract on the Fantom testnet through a node deployed with Chainstack.
-* Interact with the deployed contract.
-* See that you can register your collection on an NFT market.
-
-## Prerequisites
-
-* [Chainstack account](https://console.chainstack.com/) to deploy a [reliable Fantom RPC endpoint](https://chainstack.com/build-better-with-fantom/).
-* [Truffle Suite](https://trufflesuite.com/) to create and deploy contracts.
-* [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/) to use the audited [ERC-721 libraries](https://docs.openzeppelin.com/contracts/4.x/erc721) to create your ERC-721 collection contract.
-
-## Overview
-
-To get from zero to a deployed ERC-721 contract on the Fantom testnet, do the following:
-
-1. With Chainstack, create a public chain project.
-2. With Chainstack, join the Fantom testnet.
-3. With Chainstack, access your Fantom node credentials.
-4. With OpenZeppelin, create an ERC-721 contract.
-5. With Truffle, compile and deploy the contract through your Fantom node.
-6. With FTMScan, verify the deployed contract.
-
-## Step-by-step
-### Create a public chain project
-
-See [Create a project](/docs/manage-your-project#create-a-project).
-
-### Join the Fantom testnet
-
-See [Join a public network](/docs/manage-your-networks).
-
-### Get your Fantom node access and credentials
-
-See [View node access and credentials](/docs/manage-your-node#view-node-access-and-credentials).
-
-### Install OpenZeppelin Contracts
-
-See [OpenZeppelin Contracts](https://docs.openzeppelin.com/contracts/4.x/).
-
-### Install Truffle Suite
-
-See [Truffle Suite: Installation](https://trufflesuite.com/docs/truffle/how-to/install/).
-
-### Create the contract
-
-1. On your machine, in the contract directory, initialize Truffle:
-
-
- ```bash Shell
- truffle init
- ```
-
-
- This will generate the Truffle boilerplate structure:
-
- ```
- .
- ├── contracts
- │ └── .gitkeep
- ├── migrations
- │ └── .gitkeep
- ├── test
- │ └── .gitkeep
- └── truffle-config.js
- ```
-
-2. Go to the `contracts` directory. In the directory, create your ERC-721 contract `Fantom721Collection.sol`.
-
-
- ```solidity solidity
- //SPDX-License-Identifier: MIT
- pragma solidity ^0.8;
-
- import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
-
- contract Fantom721Collection is ERC721URIStorage {
- uint256 public tokenCounter;
- constructor () public ERC721 ("COLLECTION_NAME", "COLLECTION_TICKER"){
- tokenCounter = 0;
- }
-
- function createCollectible(string memory tokenURI) public returns (uint256) {
- uint256 newItemId = tokenCounter;
- _safeMint(msg.sender, newItemId);
- _setTokenURI(newItemId, tokenURI);
- tokenCounter = tokenCounter + 1;
- return newItemId;
- }
-
- }
- ```
-
-
- The contract implementation is the following:
-
- * The contract uses OpenZeppelin audited [ERC-721 contract templates](https://docs.openzeppelin.com/contracts/4.x/erc721).
- * The contract is a mintable collection. Anyone can add a token to the collection through `createCollectible`.
- * COLLECTION\_NAME — any name to give to your collection
- * COLLECTION\_TICKER — any ticker for your collection
-
-3. Create `2_deploy_contracts.js` in the `migrations` directory.
-
-
- ```js JavaScript
- module.exports = function(deployer) {
- var Fantom721Collection = artifacts.require("./Fantom721Collection.sol");
- deployer.deploy(Fantom721Collection);
- };
- ```
-
-
- This will create the contract deployment instructions for Truffle.
-
-### Compile and deploy the contract
-
-1. Install `HDWalletProvider`.
-
- [HDWalletProvider](https://github.com/trufflesuite/truffle/tree/develop/packages/hdwallet-provider) is Truffle's separate npm package used to sign transactions.
-
- Run:
-
-
- ```bash Shell
- npm install @truffle/hdwallet-provider
- ```
-
-
-2. Edit `truffle-config.js` to add:
-
- * `HDWalletProvider`
-
- * Your Fantom node access and credentials
-
- * Your Fantom account that you will use to deploy the contract.
-
-
- ```js JavaScript
- const HDWalletProvider = require("@truffle/hdwallet-provider");
- const private_key = 'YOUR_PRIVATE_KEY';
-
- module.exports = {
- networks: {
- testnet: {
- provider: () => new HDWalletProvider(private_key, "YOUR_CHAINSTACK_ENDPOINT"),
- network_id: 4002
- }
- },
-
- compilers: {
- solc: {
- version: "0.8.9",
- }
- }
- };
- ```
-
-
- where
-
- * `testnet` — any network name that you will pass to the `truffle migrate --network` command.
- * `HDWalletProvider` — Truffle's custom provider to sign transactions.
- * YOUR\_PRIVATE\_KEY — the private key of your Fantom account that will deploy the contract. The account must have enough FTM funds to run the deployment. See also [Fantom testnet faucet](https://faucet.fantom.network/).
- * YOUR\_CHAINSTACK\_ENDPOINT — your Fantom node HTTPS endpoint deployed with Chainstack. See also [View node access and credentials](/docs/manage-your-node#view-node-access-and-credentials) and [Tools](/docs/fantom-tooling).
- * `network_id` — the network ID of the Fantom network: mainnet is `250`, testnet is `4002`.
- * `solc` — the Solidity compiler version that Truffle must use.
-
-3. Run:
-
-
- ```bash Shell
- truffle migrate --network testnet
- ```
-
-
- This will engage `2_deploy_contracts.js` and deploy the contract to the Fantom testnet as specified in `truffle-config.js`.
-
-### Interact with the contract
-
-Once your contract is deployed, you can view it online at [FTMScan testnet](https://testnet.ftmscan.com/).
-
-For an easy way to interact with your deployed contract, verify it on FTMScan.
-
-### Flatten your contract code
-
-Since your ERC-721 contract uses imported OpenZeppelin libraries, you must put all the imports into one `.sol` file to make FTMScan be able to verify it.
-
-1. Install Truffle Flattener.
-
- Run:
-
-
- ```bash Shell
- npm install truffle-flattener
- ```
-
-
-2. Flatten the contract.
-
- In the `contracts` directory, run:
-
-
- ```bash Shell
- npx truffle-flattener Fantom721Collection.sol > FlatFantom721Collection.sol
- ```
-
-
-3. Clean up the licensing information.
-
- The flattened contract will have the same licensing note imported from each of the files. Multiple licensing notes in one file break the FTMScan verification, so you have to leave one licensing note for the entirety of the flattened contract.
-
- The easiest way to clean up is to search for the `SPDX` mentions in the file and remove all of them except for the very first one.
-
-### Verify the deployed contract on FTMScan
-
-At this point, you have your flattened and cleaned-up contract ready for the FTMScan verification.
-1. Go to [FTMScan testnet](https://testnet.ftmscan.com/).
-2. Find your deployed contract. The address of your contract should have been printed by Truffle at the end of the deployment in the `contract address` field.
-3. On the contract page on FTMScan, click **Contract** > **Verify and Publish**.
-4. In **Compiler Type**, select **Solidity (Single file)**.
-5. In **Compiler Version**, select **v0.8.9**. This is the version this tutorial used to compile the contract.
-6. In **Open Source License Type**, select **MIT License (MIT)**.
-7. Click **Continue**.
-8. Keep the **Optimization** option set to **No** as Truffle does not use optimization by default.
-9. Paste the entirety of your flattened `.sol` contract in the **Enter the Solidity Contract Code below** field.
-10. Click **Verify and Publish**.
-
-FTMScan will take a few seconds to compile your contract, verify, and publish it.
-
-### Interact with the contract
-
-Now that your ERC-721 contract is verified, FTMScan is effectively a front-end instance for your contract.
-
-### Mint an NFT in the collection
-
-You can use any account to call the `createCollectible` function.
-
-Make sure you have:
-
-* MetaMask installed and unlocked as you will need it to call the contract. See [Fantom tooling: MetaMask](/docs/fantom-tooling#metamask).
-* Testnet FTM on the account to pay for the transaction. See [Fantom testnet faucet](https://faucet.fantom.network/).
-
-1. On FTMScan, on your contract, click **Contract**.
-2. Click **Write Contract**.
-3. Click **Connect to Web3**.
-4. Under **createCollectible**, in the **tokenURI** field, provide any string to serve as metadata for this specific NFT. See also [OpenZeppelin ERC-721](https://docs.openzeppelin.com/contracts/4.x/erc721) for a metadata example.
-5. Click **Write**.
-
-This will send a transaction to mint in NFT in your contract collection and distribute the token to the account called `createCollectible`.
-
-### Check the balances
-
-Check the NFT balance of an address:
-
-1. On FTMScan, on your contract, click **Contract**.
-2. Click **Read Contract**.
-3. Scroll to the **balanceOf** field.
-4. In the **owner (address)** field, provide the address of the account you used to deploy the contract.
-5. Click **Query**.
-
-Check the number of minted NFTs
-
-1. On FTMScan, on your contract, click **Contract**.
-2. Click **Read Contract**.
-3. Check the **tokenCounter** field.
-
-### Listing on an NFT market
-
-Having gone through the tutorial to understand the basics of creating an NFT collection, you can amend the contract to your needs and deploy it on the Fantom mainnet.
-
-Once deployed, you can list the collection at an NFT marketplace—[Artion](https://artion.io/).
-
-See [Artion: Register Collection](https://artion.io/collection/register).
-
-## Conclusion
-
-This tutorial guided you through the basics of creating and deploying a contract in the ERC-721 non-fungible token standard.
-
-The contract that you created is a collection that anyone on the Fantom network can interact with to add their tokens to the collection.
-
-When you are ready, you can also deploy your own ERC-721 contract on the Fantom mainnet and list the collection on a Fantom NFT marketplace.
-
-This tutorial uses testnet, however, the exact same instructions and sequence work on the mainnet.
-
-
-
-
-
- Director of Developer Experience @ Chainstack
-
Talk to me all things Web3
-
20 years in technology | 8+ years in Web3 full time years experience
-
-
-
-
diff --git a/docs/llms.txt b/docs/llms.txt
index 14af256f..4b8c51ba 100644
--- a/docs/llms.txt
+++ b/docs/llms.txt
@@ -83,7 +83,6 @@
- [Gnosis: Soulbound token with Remix and OpenZeppelin](/docs/gnosis-tutorial-simple-soulbound-token-with-remix-and-openzeppelin.md)
- [Cronos: Dutch auction smart contract with Hardhat](/docs/cronos-tutorial-dutch-auction-smart-contracts-on-cronos-with-hardhat.md)
- [Filecoin: Deploy a deal-making contract using Hardhat](/docs/filecoin-tutorial-deploy-a-deal-making-contract-on-filecoin-with-hardhat.md)
-- [Fantom: ERC-721 collection with Truffle & OpenZeppelin](/docs/fantom-tutorial-erc-721-collection-contract-with-truffle-and-openzeppelin.md)
- [TRON: Energy and Bandwidth with Python & Chainstack](/docs/tron-mastering-energy-bandwidth-with-python-and-chainstack.md)
- [TRON: Polling for TRC20 transfers in Node.js](/docs/tron-polling-for-trc20-transfers.md)
- [Sonic: Swap farming for points walkthrough in Python](/docs/sonic-swap-farming-for-points-walkthrough-in-python.md)
diff --git a/docs/scroll-tutorial-deploy-the-uniswap-v3-smart-contracts-on-scroll.mdx b/docs/scroll-tutorial-deploy-the-uniswap-v3-smart-contracts-on-scroll.mdx
index c76c6500..a645626b 100644
--- a/docs/scroll-tutorial-deploy-the-uniswap-v3-smart-contracts-on-scroll.mdx
+++ b/docs/scroll-tutorial-deploy-the-uniswap-v3-smart-contracts-on-scroll.mdx
@@ -4,7 +4,7 @@ description: "Deploy Uniswap V3 smart contracts on Scroll with Chainstack. Learn
---
**TLDR:**
-* Shows how to deploy the entire Uniswap v3 suite onto the Scroll Sepolia Testnet in a few steps
+* Shows how to deploy the entire Uniswap v3 suite onto Scroll Mainnet in a few steps
* Guides through setting up the v3 deploy repository, configuring a Scroll RPC endpoint, and specifying WETH and admin settings
* Explains core Uniswap v3 contracts (Router, Factory, NFT positions, migrator, etc.) and how they compose the AMM
* Emphasizes the Scroll environment’s hierarchical ZKP optimizations, making this deployment straightforward and efficient
@@ -13,7 +13,7 @@ description: "Deploy Uniswap V3 smart contracts on Scroll with Chainstack. Learn
[Scroll](https://scroll.io/) network is a new scaling solution for Ethereum that uses zero-knowledge proofs to make transactions fast, secure, and cheap. It's fully compatible with the EVM (Ethereum Virtual Machine), so developers can easily port their DApps to Scroll without any changes.
-Chainstack recently announced support for Scroll’s Sepolia Testnet, which makes it even easier for developers to get started. In this tutorial, you’ll learn how to deploy the full Uniswap v3 AMM suite on Scroll in just a few easy steps.
+Chainstack supports Scroll Mainnet, which makes it even easier for developers to get started. In this tutorial, you’ll learn how to deploy the full Uniswap v3 AMM suite on Scroll in just a few easy steps.
## Why use Scroll?
@@ -34,12 +34,12 @@ As a result of its hierarchical ZKP system, Scroll is able to achieve much faste
## Overview
-This tutorial shows you how to deploy the Uniswap V3 smart contracts on the Scroll Sepolia Testnet. To get from zero to a deployed instance of Uniswap V3, do the following:
+This tutorial shows you how to deploy the Uniswap V3 smart contracts on Scroll Mainnet. To get from zero to a deployed instance of Uniswap V3, do the following:
1. With Chainstack, create a public chain project.
-2. With Chainstack, join the Scroll Sepolia Testnet.
-3. With Chainstack, access your Scroll Sepolia node endpoint.
-4. Fund your account through the Chainstack Faucet.
+2. With Chainstack, join Scroll Mainnet.
+3. With Chainstack, access your Scroll Mainnet node endpoint.
+4. Fund your wallet with ETH on Scroll.
5. Deploy the Uniswap v3 suite.
## Step-by-step
@@ -48,24 +48,21 @@ This tutorial shows you how to deploy the Uniswap V3 smart contracts on the Scro
See [Create a project](/docs/manage-your-project#create-a-project).
-### Join the Scroll Sepolia Testnet
+### Join Scroll Mainnet
See [Join a public network](/docs/manage-your-networks).
-### Get your Scroll Sepolia node endpoint
+### Get your Scroll Mainnet node endpoint
See [View node access and credentials](/docs/manage-your-node#view-node-access-and-credentials).
### Fund your wallet
-Before diving into the project, top up your wallet with testnet Scroll ETH. The best option is to get some Sepolia ETH from the Chainstack Faucet and then bridge them to Scroll Sepolia:
+Deploying on Scroll Mainnet spends real ETH. Fund your deployer wallet with ETH on Scroll by bridging from Ethereum Mainnet with the [Scroll Bridge](https://scroll.io/bridge), or by withdrawing to Scroll from an exchange that supports it.
-1. Get Sepolia ETH from the [Chainstack Sepolia Faucet](https://faucet.chainstack.com).
-2. Bridge to Scroll Sepolia using the [Scroll Bridge](https://sepolia--scroll-io.netlify.app/bridge).
-
-
- To deploy the Uniswap v3 Suite you will need about 0.5 ETH in your wallet with a gas price of 11 gwei. Make sure you have enough funds in your wallet before you proceed.
-
+
+ This deploys to mainnet and spends real funds. Budget roughly 0.5 ETH as a safe buffer for the full suite, and confirm the current Scroll gas price before you deploy.
+
### Deploy the Uniswap v3 suite
@@ -121,7 +118,7 @@ $ cat shebang.txt dist/index.js > dist/index.cmd.js && mv dist/index.cmd.js dist
For the next step, you will need the following:
* The private key of the account deploying the smart contracts, starting with `0x`
-* The Chainstack Scroll Sepolia HTTPS endpoint
+* The Chainstack Scroll Mainnet HTTPS endpoint
* The address of the account that will manage the smart contracts
In the console, run the following command, adding your private key, endpoint, and address:
@@ -131,7 +128,7 @@ In the console, run the following command, adding your private key, endpoint, an
yarn start \
-pk YOUR_PRIVATE_KEY \
-j YOUR_CHAINSTACK_ENDPOINT \
- -w9 0xa1EA0B2354F5A344110af2b6AD68e75545009a03 \
+ -w9 0x5300000000000000000000000000000000000004 \
-ncl ETH -o YOUR_ADDRESS
```
@@ -140,7 +137,7 @@ Here is a list of what the flags mean:
* `-pk` — your deployment account's private key.
* `-j` — the JSON-RPC endpoint.
-* `-w9` — the address of the WETH9 contract. On the Scroll Testnet, this contract is deployed at `0xa1EA0B2354F5A344110af2b6AD68e75545009a03`.
+* `-w9` — the address of the WETH9 contract. On Scroll Mainnet, WETH9 is deployed at `0x5300000000000000000000000000000000000004`.
* `-ncl` — the native currency label. This is the symbol for the native token, which is `ETH`.
* `-o` — the owner's address of the deployed administrator contract.
@@ -189,10 +186,10 @@ Step 2 complete [
You can also find the details of the contracts in the `state.json` file.
-Congratulations, you deployed all of the Uniswap v3 smart contracts on the Scroll Sepolia Testnet.
+Congratulations, you deployed all of the Uniswap v3 smart contracts on Scroll Mainnet.
- Use the [block explorer](https://sepolia-blockscout.scroll.io/) to see the transactions.
+ Use the [block explorer](https://scrollscan.com/) to see the transactions.
## Understanding the smart contracts