Skip to content
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
20 changes: 10 additions & 10 deletions pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@
"href": "https://app.optimism.io/faucet?utm_source=docs",
"newWindow": true
},
"gas": {
"title": "Gas Tracker",
"bridge": {
"title": "Bridge",
"type": "page",
"href": "https://optimistic.grafana.net/public-dashboards/c84a5a9924fe4e14b270a42a8651ceb8?orgId=1&refresh=5m",
"href": "https://bridge.metall2.com/",
"newWindow": true
},
"status": {
"title": "Status",
"explorer": {
"title": "Explorer",
"type": "page",
"href": "https://status.optimism.io/",
"href": "https://explorer.metall2.com/",
"newWindow": true
},

Expand All @@ -65,16 +65,16 @@
"display": "children"
},

"+++ OP MAINNET": {
"+++ METAL L2 MAINNET": {
"title": "",
"type": "separator"
},
"--- OP MAINNET": {
"title": "OP MAINNET",
"--- METAL L2 MAINNET": {
"title": "METAL L2 MAINNET",
"type": "separator"
},
"chain": {
"title": "OP Mainnet",
"title": "METAL L2 Mainnet",
"display": "children"
},

Expand Down
40 changes: 20 additions & 20 deletions pages/builders/app-developers/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
---
title: App Developer Overview
lang: en-US
description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on OP Mainnet.
description: Learn about deploying contracts, cross-chain messaging, and tutorials to help you build applications on Metal L2.
---

import { Cards, Card } from 'nextra/components'

# App Developer Overview

If you're a developer looking to build on OP Mainnet, you've come to the right place.
In this area of the Optimism Docs you'll find everything you need to know about building OP Mainnet applications.
If you're a developer looking to build on Metal L2, you've come to the right place.
In this area of the Metal L2 Docs you'll find everything you need to know about building Metal L2 applications for deployment on the Superchains Banking Layer, Metal L2.

## Getting Started

If you're brand new to OP Mainnet, try starting with the guide on [deploying a basic contract](/chain/getting-started).
If you're brand new to Metal L2, try starting with the guide on [deploying a basic contract](/chain/getting-started).
It'll get you familiar with the basic steps required to get a contract deployed to the network.
OP Mainnet is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so you can feel confident that your existing Ethereum smart contract skills will carry over to OP Mainnet.
Just make sure to be aware of the few small [differences between Ethereum and OP Mainnet](/chain/differences).
Metal L2 is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) so you can feel confident that your existing Ethereum smart contract skills will carry over to Metal L2.
Just make sure to be aware of the few small [differences between Ethereum and Metal L2](/chain/differences).

You might also want to check out the [testing on OP Networks guide](/chain/testing/testing-apps) and the tutorial on [running a local development environment](/chain/testing/dev-node) to help you feel totally confident in your OP Mainnet deployment.
You might also want to check out the [testing on Metal L2 guide](/chain/testing/testing-apps) and the tutorial on [running a local development environment](/chain/testing/dev-node) to help you feel totally confident in your Metal L2 deployment.

<Cards>
<Card title="Deploying Your First Contract to OP Mainnet" href="/builders/app-developers/tutorials/first-contract" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Deploying Your First Contract to Metal L2" href="/builders/app-developers/tutorials/first-contract" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Solidity Compatibility on OP Mainnet" href="/builders/app-developers/contracts/compatibility" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Solidity Compatibility on Metal L2" href="/builders/app-developers/contracts/compatibility" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Testing Apps on OP Mainnet" href="/chain/testing/testing-apps" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Testing Apps on Metal L2" href="/chain/testing/testing-apps" icon={<img src="/img/icons/shapes.svg" />} />
</Cards>

## Bridging and Messaging

Looking to build an application that sends ETH, tokens, or data between OP Mainnet and Ethereum?
Looking to build an application that sends ETH, tokens, or data between Metal L2 and Ethereum?
You'll find some useful guides and tutorials in this area of the docs.
For instance, if you want to learn how to bridge a token from Ethereum to OP Mainnet (or vice versa!), you should check out the [Standard Token Bridge](bridging/standard-bridge).
For instance, if you want to learn how to bridge a token from Ethereum to Metal L2 (or vice versa!), you should check out the [Standard Token Bridge](bridging/standard-bridge).

If you're looking for something more advanced, take a look at the guide on [sending data between L1 and L2](bridging/messaging).
Contracts on one chain can trigger contract functions on the other chain, it's pretty cool!
The Standard Token Bridge for OP Mainnet even uses this same message-passing infrastructure under the hood.
The Standard Token Bridge for Metal L2 even uses this same message-passing infrastructure under the hood.

<Cards>
<Card title="Basics of Bridging on OP Mainnet" href="/builders/app-developers/bridging/basics" icon={<img src="/img/icons/shapes.svg" />} />
<Card title="Basics of Bridging on Metal L2" href="/builders/app-developers/bridging/basics" icon={<img src="/img/icons/shapes.svg" />} />

<Card title="Sending Data Between L1 and L2" href="/builders/app-developers/bridging/messaging" icon={<img src="/img/icons/shapes.svg" />} />

Expand All @@ -48,21 +48,21 @@ The Standard Token Bridge for OP Mainnet even uses this same message-passing inf

## Tutorials

If you're a bit more familiar with OP Mainnet and Ethereum, you can try walking through one of the tutorials put together by the Optimism community.
If you're a bit more familiar with Metal L2 and Ethereum, you can try walking through one of the tutorials put together by the Optimism community.
They'll help you get a head start when building your first Optimistic project.

| Tutorial Name | Description | Difficulty Level |
| --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
| [Deploying Your First Contract on OP Mainnet](tutorials/first-contract) | Learn how to deploy your first contract to OP Mainnet with Remix and MetaMask. | 🟢 Easy |
| [Deploying Your First Contract on Metal L2](tutorials/first-contract) | Learn how to deploy your first contract to Metal L2 with Remix and MetaMask. | 🟢 Easy |
| [Deploying Your Contracts for Free on the Superchain](tutorials/deploy-for-free) | Learn how to deploy your contracts for free on the Superchain using the Superchain Developer Console | 🟢 Easy |
| [Bridging ETH With the Optimism SDK](tutorials/cross-dom-bridge-eth) | Learn how to use the Optimism SDK to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging ERC-20 Tokens With the Optimism SDK](tutorials/cross-dom-bridge-erc20) | Learn how to use the Optimism SDK to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (OP Mainnet or OP Sepolia). | 🟢 Easy |
| [Bridging ETH With the Optimism SDK](tutorials/cross-dom-bridge-eth) | Learn how to use the Optimism SDK to transfer ETH between Layer 1 (Ethereum or Sepolia) and Layer 2 (Metal L2 or Metal L2 Testnet). | 🟢 Easy |
| [Bridging ERC-20 Tokens With the Optimism SDK](tutorials/cross-dom-bridge-erc20) | Learn how to use the Optimism SDK to transfer ERC-20 tokens between Layer 1 (Ethereum or Sepolia) and Layer 2 (Metal L2 or Metal L2 Testnet). | 🟢 Easy |
| [Bridging your Standard ERC-20 token using the Standard Bridge](tutorials/standard-bridge-standard-token) | Learn how to bridge your standard ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Bridging your Custom ERC-20 token using the Standard Bridge](tutorials/standard-bridge-custom-token) | Learn how to bridge your custom ERC-20 token to layer 2 using the standard bridge. | 🟡 Medium |
| [Tracing Deposits and Withdrawals With the Optimism SDK](tutorials/sdk-trace-txns) | Learn how to use the Optimism SDK to trace deposits and withdrawals. | 🟢 Easy |
| [Viewing Deposits and Withdrawals by Address With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to view deposits and withdrawals by address. | 🟢 Easy |
| [Estimating Transaction Costs With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to estimate the cost of a transaction on OP Mainnet. | 🟢 Easy |
| [Sending OP Mainnet Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to OP Mainnet from Ethereum. | 🟢 Easy |
| [Estimating Transaction Costs With the Optimism SDK](tutorials/sdk-view-txns) | Learn how to use the Optimism SDK to estimate the cost of a transaction on Metal L2. | 🟢 Easy |
| [Sending Metal L2 Transactions from Ethereum](tutorials/send-tx-from-eth) | Learn how to send transactions to Metal L2 from Ethereum. | 🟢 Easy |

You can also [suggest a new tutorial](https://github.com/ethereum-optimism/docs/issues/new?assignees=\&labels=tutorial%2Cdocumentation%2Ccommunity-request\&projects=\&template=suggest_tutorial.yaml\&title=%5BTUTORIAL%5D+Add+PR+title) if you have something specific in mind. We'd love to grow this list!

Expand Down
4 changes: 2 additions & 2 deletions pages/chain/_meta.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"getting-started": "Getting Started: OP Mainnet",
"differences": "Differences Between Ethereum and OP Mainnet",
"getting-started": "Getting Started: Metal L2",
"differences": "Differences Between Ethereum and Metal L2",
"networks": "Networks and RPC Endpoints",
"addresses": "Contract Addresses",
"tokenlist": "Bridged Token Addresses",
Expand Down
28 changes: 14 additions & 14 deletions pages/chain/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
---
title: Getting Started Developing for OP Mainnet
title: Getting Started Developing for Metal L2
lang: en-US
description: Learn the basics of OP Mainnet development.
description: Learn the basics of Metal L2 development.
---

import { Steps } from 'nextra/components'

# Getting Started Developing for OP Mainnet
# Getting Started Developing for Metal L2

This guide explains the basics of OP Mainnet development.
OP Mainnet is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306), meaning we run a slightly modified version of the same `geth` you run on mainnet.
Therefore, the differences between OP Mainnet development and Ethereum development are minor.
This guide explains the basics of Metal L2 development.
Metal L2 is [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306), meaning we run a slightly modified version of the same `geth` you run on mainnet.
Therefore, the differences between Metal L2 development and Ethereum development are minor.
But a few differences [do exist](/chain/differences).

## OP Mainnet and OP Sepolia Endpoint URLs
## Metal L2 and Metal L2 Testnet Endpoint URLs

To access any Ethereum type network you need an endpoint. [These providers](/builders/tools/connect/rpc-providers) support our networks.

### Network Choice

For development purposes we recommend you use either a local development node or [OP Sepolia](https://sepolia-optimism.etherscan.io).
For development purposes we recommend you use either a local development node or [Metal L2 Testnet](https://testnet.explorer.metall2.com/).
That way you don't need to spend real money.
If you need ETH on OP Sepolia for testing purposes, [you can use this faucet](https://app.optimism.io/faucet?utm_source=docs).
If you need ETH on Metal L2 Testnet for testing purposes, [you can use this faucet](https://app.optimism.io/faucet?utm_source=docs).

## Interacting with Contracts on OP Mainnet or OP Sepolia
## Interacting with Contracts on Metal L2 or Metal L2 Testnet

We have Hardhat's Greeter contract on OP Sepolia at address [0x9d334aFBa83865E67a9219830ADA57aaA9406681](https://sepolia-optimism.etherscan.io/address/0x9d334aFBa83865E67a9219830ADA57aaA9406681#code).
We have Hardhat's Greeter contract on Metal L2 Testnet at address [0xacc0cAB1F524F34012fb766f582e3AB2049f2bC5](https://testnet.explorer.metall2.com/address/0xacc0cAB1F524F34012fb766f582e3AB2049f2bC5#code).
You can verify your development stack configuration by interacting with it.

## Development Stacks

As you can see in the different development stacks below, the way you deploy contracts and interact with them on OP Mainnet or OP Sepolia is almost identical to the way you do it with L1 Ethereum.
As you can see in the different development stacks below, the way you deploy contracts and interact with them on Metal L2 or Metal L2 Testnet is almost identical to the way you do it with L1 Ethereum.
The most visible difference is that you have to specify a different endpoint (of course).
The list of other differences is [here](differences).

Expand All @@ -52,7 +52,7 @@ Not only is it faster, but such EVMs often have extra features, such as the [abi
### Debug Before Deploying

After you are done with that development, debug your decentralized application using either a [development node](/chain/testing/dev-node) or the [Sepolia test network](/chain/networks).
This lets you debug parts that are OP Mainnet specific such as calls to bridges to transfer ETH or tokens between layers.
This lets you debug parts that are Metal L2 specific such as calls to bridges to transfer ETH or tokens between layers.

Only when you have a version that works well on a test network should you deploy to the production network, where every transaction has a cost.

Expand All @@ -62,4 +62,4 @@ You don't have to upload your source code to [block explorers](/builders/tools/b
On the test network, it lets you issue queries and transactions from the explorer's user interface.
On the production network, it lets users know exactly what your contract does, which is conducive to trust.

Just remember, if you use [the Etherscan API](https://explorer.optimism.io/apis), you need one API key for OP Mainnet and a separate one for OP Sepolia.
You can find the explorer API for testnet here: https://testnet.explorer.metall2.com/api-docs
2 changes: 1 addition & 1 deletion pages/connect/contribute/style-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ import Image from 'next/image'
/>
```

* Icons come from [Remix](https://remixicon.com/) to maintain consistency across the docs. Use Optimism Red `FF0420` to color icons before downloading and store icons in `public/img/icons` directory.
* Icons come from [Remix](https://remixicon.com/) to maintain consistency across the docs. Use Metal L2 Yellow `FF0420` to color icons before downloading and store icons in `public/img/icons` directory.

### Videos

Expand Down
Loading