Skip to content

Developer guides: Mainnet related updates #102

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,13 @@
"bridgingERC1155ThroughCustomGateway": "Bridging ERC1155 through Custom Gateway",
"estimatingGasAndTxFees": "Estimating Gas & Tx Fees",
"resources": "Resources",
"mainnetResources": "Mainnet Resources",
"sepoliaResources": "Sepolia Resources",
"scrollBlockExplorer": "Scrollscan Explorer",
"rollupExplorer": "Rollup Explorer",
"scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer",
"sepoliaBlockExplorer": "Sepolia Explorer"
"sepoliaRollupExplorer": "Rollup Explorer",
"sepoliaBlockExplorer": "Scrollscan Explorer"
},
"technology": {
"introduction": "Introduction",
Expand Down
12 changes: 9 additions & 3 deletions src/config/sidebar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,11 +154,17 @@ export const getSidebar = () => {
],
},
{
section: t("sidebar.developers.resources"),
section: t("sidebar.developers.mainnetResources"),
contents: [
{ title: t("sidebar.developers.rollupExplorer"), url: "https://scroll.io/rollupscan" },
{ title: t("sidebar.developers.scrollSepoliaBlockExplorer"), url: "https://sepolia-blockscout.scroll.io/" },
{ title: t("sidebar.developers.sepoliaBlockExplorer"), url: "https://sepolia.etherscan.io/" },
{ 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/" },
],
},
],
Expand Down
64 changes: 52 additions & 12 deletions src/content/docs/en/developers/developer-quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,69 @@ import Aside from "../../../../components/Aside.astro"
import ClickToZoom from "../../../../components/ClickToZoom.astro"
import networkSelection from "./_images/mmNetworkSelection.png"
import injectedProviderMM from "./_images/injectedProviderMM.png"
import ToggleElement from "../../../../components/ToggleElement.astro"

With Scroll, your favorite tools for building and testing smart contracts just work.

Since Scroll is bytecode equivalent with the EVM, you’ll just need to point your favorite builder tools at a Scroll Sepolia Testnet RPC Provider.
Since Scroll is bytecode equivalent with the EVM, you’ll just need to point your favorite builder tools at a Scroll RPC Provider.

If you run into any issues, please reach out in [our Discord](https://discord.gg/scroll).

## Acquiring Testnet Ether
## Acquiring Ether

To start building on Scroll, you'll first need to acquire some testnet ETH. See the [Faucet](/user-guide/faucet) page for tips on getting test tokens on Sepolia. After this, you can bridge your testnet ETH to the Scroll Sepolia Testnet (Layer 2) using our [Bridge](/user-guide/bridge).
Scroll uses ETH as its native currency, which will be needed to pay transaction fees for deploying and interacting with the network.

To start building on Scroll, we suggest you begin with using our Scroll Sepolia testnet. You'll first need to acquire some testnet ETH. See the [Faucet](/user-guide/faucet) page for tips on getting test tokens on Sepolia. After this, you can bridge your testnet ETH to the Scroll Sepolia Testnet (Layer 2) using our [Sepolia Bridge](https://sepolia.scroll.io/bridge), as described in the [Bridge article](/user-guide/bridge).

For a walkthrough, start with the User Guide's [Setup](/user-guide/setup) page.

Once you're ready to deploy on Scroll's mainnet, you can bridge over ETH using [our native bridge](https://scroll.io/bridge/) or one of the 3rd-party bridges.

## Network Configuration

### Scroll Mainnet

Use the table below to configure your Ethereum tools to the Scroll mainnet.

| Network Name | Scroll | Ethereum Mainnet |
| ------------------ | -------------------------------------------------- | ---------------------------------------------------- |
| RPC URL | [https://rpc.scroll.io/](https://rpc.scroll.io/) | [https://eth.llamarpc.com](https://eth.llamarpc.com) |
| Chain ID | 534352 | 1 |
| Currency Symbol | ETH | ETH |
| Block Explorer URL | [https://scrollscan.com/](https://scrollscan.com/) | [https://etherscan.io](https://etherscan.io) |

<ToggleElement anchor="mainnet-additional-infra">
<div slot="title">Additional Scroll Mainnet RPCs and Infra</div>
- [Scroll Native Bridge](https://scroll.io/bridge)
- [Scroll RPC Providers on ChainList.org](https://chainlist.org/chain/534352)
- [Ethereum RPC Providers on ChainList.org](https://chainlist.org/chain/1)
{/* - Additional Block Explorers:
- [Dora](https://www.ondora.xyz/network/scroll/interactions)
- [L2Scan](https://scroll.l2scan.co/) */}

</ToggleElement>

### Scroll Sepolia Testnet

Use the table below to configure your Ethereum tools to the Scroll Sepolia Testnet.

| Network Name | Scroll Sepolia Testnet | Sepolia Testnet |
| ------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| RPC URL | [https://sepolia-rpc.scroll.io/](https://sepolia-rpc.scroll.io/) | [https://eth-sepolia-public.unifra.io](https://eth-sepolia-public.unifra.io) |
| Chain ID | 534351 | 11155111 |
| Currency Symbol | ETH | ETH |
| Block Explorer URL | [https://sepolia-blockscout.scroll.io](https://sepolia-blockscout.scroll.io/) | [https://sepolia.etherscan.io](https://sepolia.etherscan.io) |
| 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) |

<ToggleElement anchor="sepolia-additional-infra">
<div slot="title">Additional Scroll Sepolia RPCs and Infra</div>
- [Scroll Sepolia Native Bridge](https://sepolia.scroll.io/bridge)
- [Scroll Sepolia RPC Providers on ChainList.org](https://chainlist.org/chain/534351)
- [Ethereum Sepolia RPC Providers on ChainList.org](https://chainlist.org/chain/11155111)
- Additional Block Explorers:
- [Dora](https://www.ondora.xyz/network/scroll-sepolia/interactions)
- [L2Scan](https://scroll.l2scan.co/)

</ToggleElement>

## Configure your tooling

Expand Down Expand Up @@ -126,7 +166,7 @@ live:
- name: Ethereum
networks:
- chainid: 534351
explorer: https://sepolia-blockscout.scroll.io/
explorer: https://sepolia.scrollscan.com/
host: https://sepolia-rpc.scroll.io
id: scrollSepolia
name: Scroll Sepolia Testnet
Expand Down Expand Up @@ -195,7 +235,7 @@ Be sure to fund the deployment wallet as well! Run `yarn generate` to create the

To configure your frontend, you need to add the Scroll Sepolia Testnet as a network option, then select it as default.

To add the network, modify `packages/react-app/src/constants.js` .
To add the network, modify `packages/react-app/src/constants.js`.

```jsx
...
Expand All @@ -206,7 +246,7 @@ export const NETWORKS = {
color: "#e9d0b8",
chainId: 534351,
rpcUrl: "https://sepolia-rpc.scroll.io/",
blockExplorer: "https://sepolia-blockscout.scroll.io",
blockExplorer: "https://sepolia.scrollscan.com",
},
...
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 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 and Scroll Sepolia.

For open-source contributors and infrastructure builders, please contact our team for additional support.

Expand Down Expand Up @@ -71,7 +71,7 @@ When verifying `EXTCODESIZE`, it is expensive to load the whole contract data in

## Block Time

The Sepolia Testnet aims for a constant block time of 3 seconds. This is shorter and more consistent than the 12 seconds used in the Ethereum under ideal conditions.
Scroll aims for a constant block time of 3 seconds. This is shorter and more consistent than the 12 seconds used in the Ethereum under ideal conditions.

This was chosen for two reasons:

Expand All @@ -90,7 +90,7 @@ You can read in more detail on Shanghai hard fork differences from London on the

## Transaction Fees

The fee charged to Scroll Sepolia transactions contains two parts:
The fee charged to Scroll transactions contains two parts:

- **L2 gas fee:** similar to L1, the amount of L2 execution fee equals to `L2_gas_price * L2_gas_used`, covering the following costs:
- L2 sequencer execution & storage cost
Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/en/developers/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ ensuring that all code executed on the Scroll Layer 2 behaves just as if it were

## Getting Started

**Looking to build on the Scroll Sepolia Testnet?**
**Looking to build on the Scroll?**

- For the essentials: Check out the [Developer Quickstart](/developers/developer-quickstart)
- For a tutorial walking through deploying your first smart contract on Scroll, read our [contract deployment tutorial](/developers/guides/contract-deployment-tutorial)
Expand Down Expand Up @@ -78,9 +78,9 @@ ensuring that all code executed on the Scroll Layer 2 behaves just as if it were
<ToggleElement anchor="community">
<div slot="title">Community — Scroll brings together users and builders.</div>
<p>
We know the challenges of building in the open and getting user engagement before mainnet release! Scroll has a
blossoming community of users and builders, and with a Discord community of over 100,000 users eager to try out
applications on our testnet, we’re excited to connect builders with users that can provide real-world feedback.
We know the challenges of building in the open and getting user engagement! Scroll has a blossoming community of
users and builders, and with a Discord community of over 500,000 members eager to try out applications on our
testnet or mainnet, we’re excited to connect builders with users that can provide real-world feedback.
</p>
</ToggleElement>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,15 @@ the messenger smart contract deployed on L1, `L1ScrollMessenger`. To send a mess
## Finalizing transactions on L1

Any upcoming transactions from L2 need to be finalized using the `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 API hosted at https://sepolia-api-bridge.scroll.io/api/.
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.scroll.io/api/
- Scroll API: https://mainnet-api-bridge.scroll.io/api/

<Aside type="danger" title="Experimental API">
This API was made for our Bridge UI. It is not yet finalized and may change in the future. We will update this guide
when the API is finalized.
when the API is finalized. Additionally, all examples below use the Sepolia API service -- the calls should be easily
adapted to work on mainnet.
</Aside>

Supply the address of the EOA or contract responsible for initiating the original transaction on L2 to the `/claimable`
Expand Down
Loading