diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2f8d6154c..1edb64937 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ We try to keep a clean commit history, so we'll follow a standard process initia - Start with a present-tense verb - Keep your commit headline short but sufficient to understand the scope and focus of the change. - Changes are often formatted like `add doc X`, `fix page Y`, `improve docs for Z`. - - Example: "`update contract addresses for USDC on Scroll Sepolia`". + - Example: "`update contract addresses for USDC on Scroll`". - If you touch any infrastructure, make sure it builds with `yarn build` - Trust the autoformatter (prettier) - Make sure images are optimized and compressed diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 2b4d9ebf5..101d0d08a 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -63,7 +63,6 @@ "developers": "Developers", "buildingOnScroll": "Building on Scroll", "faq": "Frequently Asked Questions", - "faucet": "Testnet ETH Faucet", "developerQuickstart": "Developer Quickstart", "verifyingSmartContracts": "Verifying Smart Contracts", "scrollContracts": "Scroll Contracts", @@ -90,12 +89,8 @@ "estimatingGasAndTxFees": "Estimating Gas & Tx Fees", "resources": "Resources", "mainnetResources": "Mainnet Resources", - "sepoliaResources": "Sepolia Resources", "scrollBlockExplorer": "Scrollscan Explorer", "rollupExplorer": "Rollup Explorer", - "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", - "sepoliaRollupExplorer": "Rollup Explorer", - "sepoliaBlockExplorer": "Scrollscan Explorer", "transactionJourney": "Checking Transaction Journey" }, "technology": { diff --git a/src/components/Header/Search/SearchModal.tsx b/src/components/Header/Search/SearchModal.tsx index 236df8582..871309134 100644 --- a/src/components/Header/Search/SearchModal.tsx +++ b/src/components/Header/Search/SearchModal.tsx @@ -20,7 +20,7 @@ const recommendedArticles = [ url: "/en/developers/developer-quickstart", }, { - title: "Sepolia Testnet Contracts", + title: "Scroll Contracts", url: "/en/developers/scroll-contracts", }, { diff --git a/src/components/Tabs/NetworkTabs.astro b/src/components/Tabs/NetworkTabs.astro deleted file mode 100644 index 624a1a9d5..000000000 --- a/src/components/Tabs/NetworkTabs.astro +++ /dev/null @@ -1,14 +0,0 @@ ---- -import { Tabs } from "./Tabs" ---- - - - Sepolia - Mainnet - - - - - - - diff --git a/src/components/index.ts b/src/components/index.ts index b2d09ce51..a0c39a44d 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -8,5 +8,4 @@ export { default as CodeSample } from "./CodeSample/CodeSample.astro" export { default as Aside } from "./Aside.astro" export { default as ClickToZoom } from "./ClickToZoom.astro" -export { default as NetworkTabs } from "./Tabs/NetworkTabs.astro" export { default as PackageManagerTabs } from "./Tabs/PackageManagerTabs.astro" diff --git a/src/config/sidebar.ts b/src/config/sidebar.ts index 865d98122..057ecb124 100644 --- a/src/config/sidebar.ts +++ b/src/config/sidebar.ts @@ -11,7 +11,6 @@ export const getSidebar = () => { { title: t("sidebar.developers.faq"), url: formatUrl("developers") }, { title: t("sidebar.developers.buildingOnScroll"), url: formatUrl("developers/building-on-scroll") }, { title: t("sidebar.developers.scrollContracts"), url: formatUrl("developers/scroll-contracts") }, - { title: t("sidebar.developers.faucet"), url: formatUrl("developers/faucet") }, { title: t("sidebar.developers.ethereumAndScrollDifferences"), url: formatUrl("developers/ethereum-and-scroll-differences"), @@ -110,13 +109,6 @@ export const getSidebar = () => { { title: t("sidebar.developers.scrollBlockExplorer"), url: "https://scrollscan.com/" }, ], }, - { - section: t("sidebar.developers.sepoliaResources"), - contents: [ - { title: t("sidebar.developers.sepoliaRollupExplorer"), url: "https://sepolia.scroll.io/rollupscan" }, - { title: t("sidebar.developers.scrollSepoliaBlockExplorer"), url: "https://sepolia.scrollscan.dev/" }, - ], - }, ], technology: [ { diff --git a/src/content/docs/en/article-components.mdx b/src/content/docs/en/article-components.mdx index 0905d63da..4900689d9 100644 --- a/src/content/docs/en/article-components.mdx +++ b/src/content/docs/en/article-components.mdx @@ -68,23 +68,23 @@ We define the Square-Fibonacci sequence[^1], a variation of the Fibonacci sequen const config: HardhatUserConfig = { ... networks: { - scrollSepolia: { - url: 'https://sepolia-rpc.scroll.io' || '', + scroll: { + url: 'https://rpc.scroll.io' || '', accounts: process.env.PRIVATE_KEY !== undefined ? [process.env.PRIVATE_KEY] : [], }, }, etherscan: { apiKey: { - scrollSepolia: , + scroll: , }, customChains: [ { - network: 'scrollSepolia', - chainId: 534351, + network: 'scroll', + chainId: 534352, urls: { - apiURL: 'https://api-sepolia.scrollscan.com/api', - browserURL: 'https://sepolia.scrollscan.com/', + apiURL: 'https://api.scrollscan.com/api', + browserURL: 'https://scrollscan.com/', }, }, ], diff --git a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx index f74291f9a..07d728ab7 100644 --- a/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx +++ b/src/content/docs/en/developers/ethereum-and-scroll-differences.mdx @@ -10,7 +10,7 @@ excerpt: "There are a number of technical details that differ between Ethereum m import Aside from "../../../../components/Aside.astro" -A number of technical details differ between Ethereum mainnet's EVM and Scroll's modified design for a zkEVM. Below you can see those differences as they exist on Scroll and Scroll Sepolia. +A number of technical details differ between Ethereum mainnet's EVM and Scroll's modified design for a zkEVM. Below you can see those differences as they exist on Scroll. For open-source contributors and infrastructure builders, please contact our team for additional support. diff --git a/src/content/docs/en/developers/faucet.mdx b/src/content/docs/en/developers/faucet.mdx deleted file mode 100644 index 123823cad..000000000 --- a/src/content/docs/en/developers/faucet.mdx +++ /dev/null @@ -1,43 +0,0 @@ ---- -section: developers -date: Last Modified -title: "Testnet ETH Faucet" -lang: "en" -permalink: "developers/faucet" -excerpt: "Learn how to get testnet ETH on Scroll Sepolia testnet." -whatsnext: { "Developer FAQ": "/en/developers/" } ---- - -import Aside from "../../../../components/Aside.astro" - -## Official Scroll Telegram Faucet - -You can request testnet ETH via the official Scroll telegram faucet bot by accepting [this invite](https://t.me/+GbChaKi9K_FmYzcy). Once on the faucet telegram group chat, send your wallet address on a `/drop YOUR_ETHEREUM_ADDRESS` command and the bot will automatically send some funds to you. - -## Alternative Methods - -### Sepolia Faucets - -Scroll Testnet runs on Sepolia, you can bridge Sepolia ETH back and forth on the [Scroll Sepolia Bridge](https://portal-sepolia.scroll.io/bridge). - -Here are a few Sepolia faucet apps: - -- [sepoliafaucet.com](https://sepoliafaucet.com) -- [sepolia-faucet.pk910.de](https://sepolia-faucet.pk910.de) -- [QuickNode Faucet](https://faucet.quicknode.com/drip) -- [Chainstack Faucet](https://faucet.chainstack.com) -- [Infura Faucet](https://infura.io/faucet/sepolia) -- [Ethereum Ecosystem Faucets](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia) - -### Scroll Sepolia Faucets - -If you don't want to interact with the bridge, some faucets directly distribute Scroll Sepolia ETH. - -- [ETH Global](https://ethglobal.com/faucet/scroll-sepolia-534351) -- [HackQuest Faucet](https://www.hackquest.io/en/faucets/534351) -- [QuickNode Scroll Sepolia](https://faucet.quicknode.com/scroll/sepolia) -- [Thirdweb Scroll Sepolia](https://thirdweb.com/scroll-sepolia-testnet) -- [Chainstack Scroll Sepolia](https://faucet.chainstack.com/scroll-sepolia-testnet-faucet) -- [Bware Labs Faucet](https://bwarelabs.com/faucets/scroll-testnet) -- [L2 Faucet](https://www.l2faucet.com/scroll) - diff --git a/src/content/docs/en/developers/guides/bridge-erc20-through-the-custom-gateway.mdx b/src/content/docs/en/developers/guides/bridge-erc20-through-the-custom-gateway.mdx index 63775bd53..b646e6c15 100644 --- a/src/content/docs/en/developers/guides/bridge-erc20-through-the-custom-gateway.mdx +++ b/src/content/docs/en/developers/guides/bridge-erc20-through-the-custom-gateway.mdx @@ -18,7 +18,7 @@ This guide will walk through how to use Scroll's bridge for ERC20s that need cus Bridge](/developers/l1-and-l2-bridging/eth-and-erc20-token-bridge#deposit-eth-and-erc20-tokens-from-l1) for more info. -## Step 1: Launch a token on Sepolia +## Step 1: Launch a token on Ethereum First, we need a token to bridge. There is no need for a particular ERC20 implementation in order for a token to be compatible with L2. If you already have a token, feel free to skip this step. If you want to deploy a new token, use the following contract of a simple ERC20 token that mints 1 million tokens to the deployer when launched. @@ -35,16 +35,16 @@ contract L1Token is ERC20 { } ``` -## Step 2: Launch the counterpart token on Scroll Sepolia testnet +## Step 2: Launch the counterpart token on Scroll -Next, you'll launch a counterpart to this token on Scroll, which will represent the original token on Sepolia. This token can implement custom logic to match that of the L1 token or even add additional features beyond those of the L1 token. +Next, you'll launch a counterpart to this token on Scroll, which will represent the original token on Ethereum. This token can implement custom logic to match that of the L1 token or even add additional features beyond those of the L1 token. For this to work: - The token must implement the `IScrollStandardERC20` interface in order to be compatible with the bridge. - The contract should provide the gateway address and the counterpart token addresses (the L1 token we just launched) under the `gateway()` and `counterpart()` functions. It should also allow the L2 gateway to call the token `mint()` and `burn()` functions, which are called when a token is deposited and withdrawn. -The following is a complete example of a token compatible with the bridge. To the constructor, you will pass the official Scroll Custom Gateway address (`0x058dec71E53079F9ED053F3a0bBca877F6f3eAcf`) and the address of the token launched on Sepolia. +The following is a complete example of a token compatible with the bridge. To the constructor, you will pass the official Scroll Custom Gateway address (`0x64CCBE37c9A82D85A1F2E74649b7A42923067988`) and the address of the token launched on Ethereum. ```solidity // SPDX-License-Identifier: MIT @@ -102,11 +102,11 @@ You need to contact the Scroll team to add the token to `L2CustomERC20Gateway` c ## Step 4: Deposit tokens -Once your token has been approved by the Scroll team, you should be able to deposit tokens from L1. To do so, you must first approve the `L1CustomGateway` contract address on Sepolia (`0x31C994F2017E71b82fd4D8118F140c81215bbb37`). Then, deposit tokens by calling the `depositERC20` function from the `L1CustomGateway` contract. This can be done using [our bridge UI](https://scroll.io/bridge), [Etherscan Sepolia](https://sepolia.etherscan.io/address/0x31C994F2017E71b82fd4D8118F140c81215bbb37#writeProxyContract), or a smart contract. +Once your token has been approved by the Scroll team, you should be able to deposit tokens from L1. To do so, you must first approve the `L1CustomGateway` contract address on Ethereum (`0xb2b10a289A229415a124EFDeF310C10cb004B6ff`). Then, deposit tokens by calling the `depositERC20` function from the `L1CustomGateway` contract. This can be done using [our bridge UI](https://scroll.io/bridge), [Etherscan](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#writeProxyContract), or a smart contract. ## Step 5: Withdraw tokens -You will follow similar steps to send tokens back from L2 to L1. First, approve the `L2CustomGateway` address (`0x058dec71E53079F9ED053F3a0bBca877F6f3eAcf`) and then withdraw the tokens calling the `withdrawERC20` from the `L2CustomGateway` contract. +You will follow similar steps to send tokens back from L2 to L1. First, approve the `L2CustomGateway` address (`0x64CCBE37c9A82D85A1F2E74649b7A42923067988`) and then withdraw the tokens calling the `withdrawERC20` from the `L2CustomGateway` contract. ## Alternative Approach: Launch and set up a custom L1 gateway contract @@ -114,7 +114,7 @@ Adding your token to the Scroll official bridge (as described above) is the reco ### Launch an L1 Custom Gateway -Let’s start by launching the following contract on Sepolia. +Let’s start by launching the following contract on Ethereum. ```solidity // SPDX-License-Identifier: MIT @@ -321,19 +321,19 @@ contract L2CustomERC20Gateway is L2ERC20Gateway, ScrollGatewayBase, Ownable { } ``` -### Setup your Gateway contract on Sepolia +### Setup your Gateway contract on Ethereum Once the contracts are deployed, call the following functions to initialize the contracts and bind them to the corresponding tokens and the gateway on the other side of the bridge. First, call the `initialize` function on the `MyL1Gateway` contract with the following parameters: - `_counterpart`: The address of `MyL2Gateway` we just launched on Scroll. -- `_router`: Set it to `0x13FBE0D0e5552b8c9c4AE9e2435F38f37355998a`, the `L1GatewayRouter` contract on Sepolia. -- `_messenger`: Set it to `0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A`, the `L1ScrollMessenger` contract on Sepolia. +- `_router`: Set it to `0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6`, the `L1GatewayRouter` contract on Ethereum. +- `_messenger`: Set it to `0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367`, the `L1ScrollMessenger` contract on Ethereum. A custom gateway can host multiple token bridges. In this case, we will only be allowing bridging between L1Token and L2Token by calling the `updateTokenMapping` function on the `MyL1Gateway` contract with the following parameters: -- `_l1Token`: The address of the `L1Token` contract we previously launched on Sepolia. +- `_l1Token`: The address of the `L1Token` contract we previously launched on Ethereum. - `_l2Token`: The address of the `L2Token` contract we previously launched on Scroll. ### Setup your Gateway contract on Scroll @@ -342,14 +342,14 @@ Now let’s switch to the Scroll chain and initialize `MyL2Gateway`, following s First, call the `initialize` function from `MyL2Gateway`: -- `_counterpart`: The address of `MyL1Gateway` we just launched on Sepolia. -- `_router`: Set it to `0x9aD3c5617eCAa556d6E166787A97081907171230`, the `L2GatewayRouter` contract on Scroll. -- `_messenger`: Set it `0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d`, the `L2ScrollMessenger` contract on Scroll. +- `_counterpart`: The address of `MyL1Gateway` we just launched on Ethereum. +- `_router`: Set it to `0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79`, the `L2GatewayRouter` contract on Scroll. +- `_messenger`: Set it `0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC`, the `L2ScrollMessenger` contract on Scroll. Next, call `updateTokenMapping` on the `MyL2Gateway` contract: - `_l2Token`: The address of the `L2Token` contract we previously launched on Scroll. -- `_l1Token`: The address of the `L1Token` contract we previously launched on Sepolia. +- `_l1Token`: The address of the `L1Token` contract we previously launched on Ethereum. ### Bridging tokens diff --git a/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx b/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx index c082cbcd2..e887e61aa 100644 --- a/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx +++ b/src/content/docs/en/developers/guides/estimating-gas-and-tx-fees.mdx @@ -11,10 +11,8 @@ import Aside from "../../../../../components/Aside.astro" import ClickToZoom from "../../../../../components/ClickToZoom.astro" import txFeesProjectStructure from "../../../../../assets/images/developers/txFeesProjectStructure.png" -{/* TODO: Update for Sepolia, test and publish to sidebar. */} - :::warning[This article is out of date.] -This page has not been updated and tested against the latest Scroll Sepolia release. Please use with caution. +This page has not been updated and tested against the latest Scroll release. Please use with caution. ::: Since Scroll is an L2 rollup, part of the transaction lifecycle is committing some data to L1 for security. To pay for this, all transaction incurs an additional fee called the _L1 fee_. diff --git a/src/content/docs/en/developers/guides/running-a-scroll-node.mdx b/src/content/docs/en/developers/guides/running-a-scroll-node.mdx index b2009732e..65ff7ee1c 100644 --- a/src/content/docs/en/developers/guides/running-a-scroll-node.mdx +++ b/src/content/docs/en/developers/guides/running-a-scroll-node.mdx @@ -13,12 +13,12 @@ import ToggleElement from "../../../../../components/ToggleElement.astro" This guide will walk you through setting up your own Scroll node using Docker with snapshot. -## Key Differences from Scroll Sepolia +## Key Requirements - Required binary version: **`scroll-v5.8.38`** or higher. -- Use `--scroll` instead of `--scroll-sepolia`. +- Use the `--scroll` flag to run against Scroll Mainnet. - Mainnet requires a fully synced **Ethereum Mainnet RPC** for the `--l1.endpoint` flag. -- Bootnode setup differs (5 default + 2 optional dedicated ones). +- Bootnode setup: 5 default bootnodes + 2 optional dedicated ones. --- @@ -132,9 +132,8 @@ Insert your config in the yaml file and save it, recommended config would be : --l1.endpoint "${Your l1 endpoint}" --da.blob.blobscan "${Your blobscan endpoint}" --da.blob.beaconnode "${Your beaconnode endpoint}" - # Scroll provides aws s3 endpoints for both scroll-mainnet and scroll-sepolia - # scroll-mainnet : https://scroll-sepolia-blob-data.s3.us-west-2.amazonaws.com/ - # scroll-sepolia: https://scroll-mainnet-blob-data.s3.us-west-2.amazonaws.com/ + # Scroll provides an aws s3 endpoint for scroll-mainnet + # scroll-mainnet: https://scroll-mainnet-blob-data.s3.us-west-2.amazonaws.com/ --da.blob.awss3 "${Your aws s3 endpoint}" --cache.snapshot=0 logging: @@ -192,7 +191,6 @@ Genesis json file can be found [here](https://www.notion.so/genesis-json-f89ca24 ### Troubleshooting - The node (APIs, geth console, etc) will not be responsive until all the L1 messages have been synced. - However, the derivation pipeline is already started during the initial sync phase, which can be seen through `L1 sync progress [...]` logs. -- For Scroll Sepolia it might take a little longer (10-20mins) for the first `L1 sync progress [...]` logs to appear as the L1 blocks are more sparse at the beginning. You should see something like this shortly after starting: ```bash diff --git a/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx b/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx index 9bb1c7f6f..bda671bb9 100644 --- a/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx +++ b/src/content/docs/en/developers/guides/scroll-messenger-cross-chain-interaction.mdx @@ -5,21 +5,21 @@ title: "Scroll Messenger Cross-chain Interaction" lang: "en" permalink: "developers/guides/scroll-messenger-cross-chain-interaction" whatsnext: { "Bridge ERC20 through the Custom Gateway": "/en/developers/guides/bridge-erc20-through-the-custom-gateway" } -excerpt: "In this example, we will launch a dummy smart contract on either Sepolia or Scroll Sepolia testnet and interact with it from the opposite chain." +excerpt: "In this example, we will launch a dummy smart contract on either Ethereum or Scroll and interact with it from the opposite chain." --- import Aside from "../../../../../components/Aside.astro" -In this example, we will launch a dummy smart contract on either Sepolia or Scroll and interact +In this example, we will launch a dummy smart contract on either Ethereum or Scroll and interact with it from the opposite chain. We will be using the `ScrollMessenger` that is deployed on both -Sepolia and Scroll. +Ethereum and Scroll. ## Deploying the Contracts ### Target Smart Contract Let’s start by deploying the target smart contract. We will use the Greeter contract for this -example, but you can use any other contract. Deploy it to either Sepolia or Scroll. On Scroll, L1 +example, but you can use any other contract. Deploy it to either Ethereum or Scroll. On Scroll, L1 and L2 use the same API, so it’s up to you. ```solidity @@ -79,7 +79,7 @@ contract GreeterOperator { We pass the message by executing `executeFunctionCrosschain` and passing the following parameters: - `scrollMessengerAddress`: This will depend on where you deployed the `GreeterOperator` contract. - - If you deployed it on Sepolia use `0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A`. If you deployed on Scroll Sepolia use `0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d`. + - If you deployed it on Ethereum use `0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367`. If you deployed on Scroll use `0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC`. - `targetAddress`: The address of the `Greeter` contract on the opposite chain. - `value`: In this case, it is `0` because the `setGreeting`is not payable. - `greeting`: This is the parameter that will be sent through the message. Try passing `“This message was cross-chain!”` @@ -92,7 +92,7 @@ We pass the message by executing `executeFunctionCrosschain` and passing the fol When a transaction is passed from L2 to L1, an additional "execute withdrawal transaction" must be sent on L1. To do this, you must call `relayMessageWithProof` on the L1 Scroll Messenger contract from an EOA wallet. -You can do this directly on [Etherscan Sepolia](https://sepolia.etherscan.io/address/0x50c7d3e7f7c656493d1d76aaa1a836cedfcbb16a#writeProxyContract#F3). +You can do this directly on [Etherscan](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#writeProxyContract#F3). To do so, you will need to pass a Merkle inclusion proof for the bridged transaction and other parameters. You'll query these using the Scroll Bridge API. {/* TODO: finish looking into API issues */} @@ -100,7 +100,7 @@ To do so, you will need to pass a Merkle inclusion proof for the bridged transac We're finalizing the API specifics, but for now, fetch or curl the following endpoint: ```bash -curl "https://sepolia-api-bridge.scroll.io/api/claimable?page_size=10&page=1&address=GREETER_OPERATOR_ADDRESS_ON_L2" +curl "https://mainnet-api-bridge-v2.scroll.io/api/l2/unclaimed/withdrawals?address=GREETER_OPERATOR_ADDRESS_ON_L2&page=1&page_size=10" ``` Replace `GREETER_OPERATOR_ADDRESS_ON_L2` with your GreeterOperator contract address as launched on L2. Read more about Execute Withdraw transactions diff --git a/src/content/docs/en/developers/index.mdx b/src/content/docs/en/developers/index.mdx index 75ffbf0f3..2f8b725b3 100644 --- a/src/content/docs/en/developers/index.mdx +++ b/src/content/docs/en/developers/index.mdx @@ -33,17 +33,6 @@ Use the following configuration to connect your Ethereum tools to Scroll Mainnet | Currency Symbol | ETH | ETH | | Block Explorer URL | [https://scrollscan.com/](https://scrollscan.com/) | [https://etherscan.io](https://etherscan.io) | -**What are the network parameters for Scroll Sepolia Testnet?** - -Use the following configuration to connect your Ethereum tools to Scroll Sepolia Testnet: - -| Network Name | Scroll Sepolia | Ethereum Sepolia | -| ------------------ | ----------------------------------------------------------------- | ------------------------------------------------------------ | -| RPC URL | [https://sepolia-rpc.scroll.io/](https://sepolia-rpc.scroll.io/) | [https://rpc2.sepolia.org](https://rpc2.sepolia.org) | -| Chain ID | 534351 | 11155111 | -| Currency Symbol | ETH | ETH | -| Block Explorer URL | [https://sepolia.scrollscan.com](https://sepolia.scrollscan.com/) | [https://sepolia.etherscan.io](https://sepolia.etherscan.io) | - **Where can I find additional RPC providers and infrastructure for Scroll Mainnet?** - [Scroll RPC Providers on ChainList.org](https://chainlist.org/chain/534352) @@ -51,19 +40,6 @@ Use the following configuration to connect your Ethereum tools to Scroll Sepolia - [Scrollscan](https://scrollscan.com/) - [Scroll Rollup Scanner](https://scroll.io/rollupscan) -**Where can I find additional RPC providers and infrastructure for Scroll Sepolia?** - -- [Scroll Sepolia RPC Providers on ChainList.org](https://chainlist.org/chain/534351) -- [Ethereum Sepolia RPC Providers on ChainList.org](https://chainlist.org/chain/11155111) -- [Sepolia Scrollscan](http://sepolia.scrollscan.com/) -- [Scroll Sepolia Rollup Scanner](https://sepolia.scroll.io/rollupscan) - -## Testnet ETH - -**How do I get testnet ETH on Scroll?** - -See our [Testnet ETH Faucet guide](/en/developers/faucet/) for detailed instructions on obtaining testnet ETH on Scroll. - ## EVM Compatibility & Infrastructure **What are the opcode differences on Scroll compared to Ethereum?** @@ -85,9 +61,7 @@ Use our [Dune dashboard](https://docs.scroll.io/en/developers/developer-ecosyste **Where can i download Scroll node's snapshot?** -Mainnet : https://snapshot.scroll.io/mpt/latest.tar - -Sepolia : https://snapshot.scroll.io/sepolia/mpt/latest.tar +https://snapshot.scroll.io/mpt/latest.tar **Scroll snapshot size is too large, do you have pruned snapshot?** @@ -99,7 +73,7 @@ Yes. Scroll provides a step-by-step tutorial for setting up and running your own ## Errors & Support -**I have a question about my node, the faucet or developing on Scroll. What should I do?** +**I have a question about my node or developing on Scroll. What should I do?** Please join the Scroll Discord server and ask on the `#developers` or `#developer-support` discord channels. diff --git a/src/content/docs/en/developers/l1-and-l2-bridging/the-scroll-messenger.mdx b/src/content/docs/en/developers/l1-and-l2-bridging/the-scroll-messenger.mdx index befcbcd03..67cab4bb2 100644 --- a/src/content/docs/en/developers/l1-and-l2-bridging/the-scroll-messenger.mdx +++ b/src/content/docs/en/developers/l1-and-l2-bridging/the-scroll-messenger.mdx @@ -20,13 +20,12 @@ Sending a cross-chain message through the `ScrollMessenger` is performed by call Unlike L1 to L2 transactions, L2 to L1 transactions need to be finalized using the [`relayMessageWithProof`](#relaymessagewithproof) function on the Scroll Messenger contract. We call this process "submitting an Execute Withdrawal transaction", and it is required for both sending arbitrary messages and transferring assets through a gateway or the router. When you use `relayMessageWithProof`, you'll have to provide a Merkle inclusion proof showing your transaction is included in the trie of "withdrawal" messages, along with other parameters. Producing this proof and these values can be done locally and permissionlessly, but at the moment, the easiest way to retrieve these parameters is through our backend APIs: -- Scroll Sepolia API: https://sepolia-api-bridge-v2.scroll.io/api/ - Scroll API: https://mainnet-api-bridge-v2.scroll.io/api/ Supply the address of the EOA or contract responsible for initiating the original transaction on L2 to the `/unclaimed` endpoint. The API backend will provide you with all the necessary information to successfully conclude the transaction on L1. Take a look at the following example: ```bash -https://sepolia-api-bridge-v2.scroll.io/api/l2/unclaimed/withdrawals?address=0x031407eaaffFB4f1EC2c999bE4477E52C81de3c5&page=1&page_size=10 +https://mainnet-api-bridge-v2.scroll.io/api/l2/unclaimed/withdrawals?address=0x031407eaaffFB4f1EC2c999bE4477E52C81de3c5&page=1&page_size=10 ``` -{" "} - -
- ---- - -## Scroll Sepolia Testnet - -### Scroll Sepolia Contracts - -#### Rollup - -- L1 Rollup (Scroll Chain): [`0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0`](https://sepolia.etherscan.io/address/0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0) - -#### ETH and ERC20 Bridge - -- L1 Gateway Router: [`0x13FBE0D0e5552b8c9c4AE9e2435F38f37355998a`](https://sepolia.etherscan.io/address/0x13FBE0D0e5552b8c9c4AE9e2435F38f37355998a) -- L2 Gateway Router: [`0x9aD3c5617eCAa556d6E166787A97081907171230`](https://sepolia.scrollscan.com/address/0x9aD3c5617eCAa556d6E166787A97081907171230) - -#### Advanced Bridge Contracts - -- Scroll Messenger - - L1 Messenger: [`0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A`](https://sepolia.etherscan.io/address/0x50c7d3e7f7c656493D1D76aaa1a836CedfCBB16A) - - L2 Messenger: [`0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d`](https://sepolia.scrollscan.com/address/0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d) -- ETH Bridge - - L1 ETH Gateway: [`0x8A54A2347Da2562917304141ab67324615e9866d`](https://sepolia.etherscan.io/address/0x8A54A2347Da2562917304141ab67324615e9866d) - - L2 ETH Gateway: [`0x91e8ADDFe1358aCa5314c644312d38237fC1101C`](https://sepolia.scrollscan.com/address/0x91e8ADDFe1358aCa5314c644312d38237fC1101C) - - L1 WETH Gateway: [`0x3dA0BF44814cfC678376b3311838272158211695`](https://sepolia.etherscan.io/address/0x3dA0BF44814cfC678376b3311838272158211695) - - L2 WETH Gateway: [`0x481B20A927206aF7A754dB8b904B052e2781ea27`](https://sepolia.scrollscan.com/address/0x481B20A927206aF7A754dB8b904B052e2781ea27) -- ERC20 Bridge - - L1 ERC20 Standard Gateway: [`0x65D123d6389b900d954677c26327bfc1C3e88A13`](https://sepolia.etherscan.io/address/0x65D123d6389b900d954677c26327bfc1C3e88A13) - - L2 ERC20 Standard Gateway: [`0xaDcA915971A336EA2f5b567e662F5bd74AEf9582`](https://sepolia.scrollscan.com/address/0xaDcA915971A336EA2f5b567e662F5bd74AEf9582) - - L1 ERC20 Custom Gateway: [`0x31C994F2017E71b82fd4D8118F140c81215bbb37`](https://sepolia.etherscan.io/address/0x31C994F2017E71b82fd4D8118F140c81215bbb37) - - L2 ERC20 Custom Gateway: [`0x058dec71E53079F9ED053F3a0bBca877F6f3eAcf`](https://sepolia.scrollscan.com/address/0x058dec71E53079F9ED053F3a0bBca877F6f3eAcf) -- ERC721 Bridge - - L1 ERC721 Gateway: [`0xEF27A5E63aa3f1B8312f744b9b4DcEB910Ba77AC`](https://sepolia.etherscan.io/address/0xEF27A5E63aa3f1B8312f744b9b4DcEB910Ba77AC) - - L2 ERC721 Gateway: [`0x179B9415194B67DC3c0b8760E075cD4415785c97`](https://sepolia.scrollscan.com/address/0x179B9415194B67DC3c0b8760E075cD4415785c97) -- ERC1155 Bridge - - L1 ERC1155 Gateway: [`0xa5Df8530766A85936EE3E139dECE3bF081c83146`](https://sepolia.etherscan.io/address/0xa5Df8530766A85936EE3E139dECE3bF081c83146) - - L2 ERC1155 Gateway: [`0xe17C9b9C66FAF07753cdB04316D09f52144612A5`](https://sepolia.scrollscan.com/address/0xe17C9b9C66FAF07753cdB04316D09f52144612A5) -- Gas Oracle (deployed on Sepolia) - - L1 Message Queue With Gas Price Oracle (*deprecated from Euclid*): [`0xF0B2293F5D834eAe920c6974D50957A1732de763`](https://sepolia.etherscan.io/address/0xF0B2293F5D834eAe920c6974D50957A1732de763) - - L1 Message Queue V2 With Gas Price Oracle: [`0xA0673eC0A48aa924f067F1274EcD281A10c5f19F`](https://sepolia.etherscan.io/address/0xA0673eC0A48aa924f067F1274EcD281A10c5f19F) - - L2 Gas Oracle (*deprecated*): [`0x247969F4fad93a33d4826046bc3eAE0D36BdE548`](https://sepolia.etherscan.io/address/0x247969F4fad93a33d4826046bc3eAE0D36BdE548) - -#### L2 Predeploys - -- Message Queue: [`0x5300000000000000000000000000000000000000`](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000000) -- Gas Price Oracle: [`0x5300000000000000000000000000000000000002`](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000002) -- Whitelist: [`0x5300000000000000000000000000000000000003`](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000003) -- WETH L2: [`0x5300000000000000000000000000000000000004`](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000004) -- Transaction Fee Vault: [`0x5300000000000000000000000000000000000005`](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000005) - - -### Additional Useful Contracts - -- Multicall3: [`0xcA11bde05977b3631167028862bE2a173976CA11`](https://sepolia.scrollscan.com/address/0xcA11bde05977b3631167028862bE2a173976CA11) - -### Tokens - - - -- Gho Token: [`0xD9692f1748aFEe00FACE2da35242417dd05a8615`](https://sepolia.scrollscan.com/address/0xD9692f1748aFEe00FACE2da35242417dd05a8615) diff --git a/src/content/docs/en/developers/transaction-fees-on-scroll.mdx b/src/content/docs/en/developers/transaction-fees-on-scroll.mdx index b129e5acf..44ec7fba9 100644 --- a/src/content/docs/en/developers/transaction-fees-on-scroll.mdx +++ b/src/content/docs/en/developers/transaction-fees-on-scroll.mdx @@ -60,7 +60,7 @@ Transactions aren't committed 1-by-1 -- they are collected in batches of blocks ### Estimating the L1 Data Fee -Scroll has a pre-deployed `L1GasPriceOracle` at `0x5300000000000000000000000000000000000002`, accessible on both [Scroll Mainnet](https://scrollscan.com/address/0x5300000000000000000000000000000000000002) and [Scroll Sepolia](https://sepolia.scrollscan.com/address/0x5300000000000000000000000000000000000002). It provides a `getL1Fee` method to estimate the L1 data fee for a given transaction's raw data. +Scroll has a pre-deployed `L1GasPriceOracle` at `0x5300000000000000000000000000000000000002`, accessible on [Scroll Mainnet](https://scrollscan.com/address/0x5300000000000000000000000000000000000002). It provides a `getL1Fee` method to estimate the L1 data fee for a given transaction's raw data. ```solidity function getL1Fee(bytes memory _data) external view override returns (uint256); @@ -211,14 +211,12 @@ Contracts on L1 can use an L2 Gas Price Oracle deployed to the L1 to get the gas On mainnet, the `L2GasPriceOracle` is deployed at [`0x987e300fDfb06093859358522a79098848C33852`](https://etherscan.io/address/0x987e300fDfb06093859358522a79098848C33852). -On Sepolia, an upgraded `L1MessageQueueWithGasPriceOracle` should be used, deployed to [`0xF0B2293F5D834eAe920c6974D50957A1732de763`](https://sepolia.etherscan.io/address/0xF0B2293F5D834eAe920c6974D50957A1732de763). - If your system supports off-chain mechanisms, you can also call `eth_estimateGas` and `eth_gasPrice` on any Scroll RPC node to get an estimate of the gas required for a given transaction. {/* TODO: Add full documentation of key methods */} diff --git a/src/content/docs/en/technology/bridge/cross-domain-messaging.mdx b/src/content/docs/en/technology/bridge/cross-domain-messaging.mdx index 7e8b815bd..53145e6a4 100644 --- a/src/content/docs/en/technology/bridge/cross-domain-messaging.mdx +++ b/src/content/docs/en/technology/bridge/cross-domain-messaging.mdx @@ -197,7 +197,7 @@ The contract `L2GasPriceOracle` deployed on L1 computes the relay fee of a messa diff --git a/src/features/redirects/redirects.json b/src/features/redirects/redirects.json index 9c5d492f4..7b3d6802e 100644 --- a/src/features/redirects/redirects.json +++ b/src/features/redirects/redirects.json @@ -101,7 +101,12 @@ }, { "source": "user-guide/faucet", - "destination": "/en/developers/faucet", + "destination": "/en/developers/", + "statusCode": 301 + }, + { + "source": "developers/faucet", + "destination": "/en/developers/", "statusCode": 301 }, {