Skip to content
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

feat(website): create testnet docs #428

Merged
merged 31 commits into from
Dec 27, 2022
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
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
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"label": "Reference",
"label": "Alpha-1 Testnet Guide",
"collapsed": false,
"link": {
"type": "generated-index"
}
},
"position": 2
}
25 changes: 25 additions & 0 deletions packages/website/docs/alpha-1-testnet/configure-wallet.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
sidebar_position: 1
---

import AddEthereumChainButton from "../../src/components/AddEthereumChainButton";

# ➕ Add networks to wallet

## Automatically add networks

Use the buttons below to add Ethereum A1 and Taiko A1 to any wallet that supports `wallet_addEthereumChain` (e.g., MetaMask).

| Network | Add to wallet |
| ----------- | ------------------------------------------------------------------ |
| Ethereum A1 | <AddEthereumChainButton buttonText="Add to wallet ☝" chain="l1"/> |
| Taiko A1 | <AddEthereumChainButton buttonText="Add to wallet ✌" chain="l2"/> |

## Manually add networks

Use this RPC configuration to add Ethereum A1 and Taiko A1 to other wallets.

| Network | Chain ID | RPC URL | Symbol | Block Explorer URL |
| ----------- | -------- | -------------------------- | ------ | ------------------------------- |
| Ethereum A1 | 31338 | https://l1rpc.a1.taiko.xyz | ETH | https://l1explorer.a1.taiko.xyz |
| Taiko A1 | 167003 | https://l2rpc.a1.taiko.xyz | ETH | https://l2explorer.a1.taiko.xyz |
14 changes: 14 additions & 0 deletions packages/website/docs/alpha-1-testnet/deploy-a-contract.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
sidebar_position: 4
---

# 🚀 Deploy a contract

We will deploy a smart contract to Taiko A1 using Foundry.

1. Follow the Foundry Book to install Foundry and init the default project: https://book.getfoundry.sh/getting-started/first-steps
2. From `~/hello_foundry` run `forge create --legacy --rpc-url https://l2rpc.a1.taiko.xyz --private-key <yourPrivateKey> src/Counter.sol:Counter` (replace `<yourPrivateKey>` with the private key of the account deploying the contract)

We are using the `--legacy` flag because EIP-1559 is currently disabled on Taiko. We have plans to re-enable it in the future.

You can use the block explorer to verify that the contract was deployed: https://l2explorer.a1.taiko.xyz/
46 changes: 46 additions & 0 deletions packages/website/docs/alpha-1-testnet/explore-the-network.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
sidebar_position: 7
---

# 🔍 Explore the network

Taiko's Alpha-1 testnet consists of L1 / L2 nodes with all [Taiko protocol contracts](/docs/category/contract-documentation) deployed.

## Endpoints

### L1

The mining interval of the L1 node is set to 12 seconds.

- **Block Explorer:** <https://l1explorer.a1.taiko.xyz>
- **HTTP RPC Endpoint:** <https://l1rpc.a1.taiko.xyz>
- **Web Socket RPC Endpoint:** <wss://l1ws.a1.taiko.xyz>
- **ETH faucet:** <https://l1faucet.a1.taiko.xyz>
- **Chain ID:** `31338`

### L2

- **Block Explorer:** <https://l2explorer.a1.taiko.xyz>
- **HTTP RPC Endpoint:** <https://l2rpc.a1.taiko.xyz>
- **Web Socket RPC Endpoint:** <wss://l2ws.a1.taiko.xyz>
- **ETH faucet:** <https://l2faucet.a1.taiko.xyz>
- **Chain ID:** `167003`

## Contract addresses

### L1

- **TaikoL1:** `0x7B3AF414448ba906f02a1CA307C56c4ADFF27ce7`
- **TokenVault:** `0xD0dfd5baCf160B97C8eE3ecb463F18c08673160c`
- **Bridge:** `0x3612E284D763f42f5E4CB72B1602b23DAEC3cA60`

### L2

- **TaikoL2:** `0x0000777700000000000000000000000000000001`
- **TokenVault:** `0x0000777700000000000000000000000000000002`
- **EtherVault:** `0x0000777700000000000000000000000000000003`
- **Bridge:** `0x0000777700000000000000000000000000000004`

## Cron job

There will be a cron job service that proposes empty blocks periodically (every 2 minutes).
12 changes: 12 additions & 0 deletions packages/website/docs/alpha-1-testnet/get-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
sidebar_position: 8
---

# ❓ Get help

Here are two places for you to get help:

- [Post your question on GitHub Discussions](https://github.com/orgs/taikoxyz/discussions/new?category=questions)
- [Chat with us on Discord](https://discord.gg/taikoxyz)

GitHub Discussions is preferred because your question might help others who are also running into the same issue. Conversely, you might find the answer to your problem here!
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
sidebar_position: 2
---

# 💧 Request ETH from faucet

- Request ETH from Ethereum A1: https://l1faucet.a1.taiko.xyz/.
- Request ETH from Taiko A1: https://l2faucet.a1.taiko.xyz/.
13 changes: 13 additions & 0 deletions packages/website/docs/alpha-1-testnet/run-a-node.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
sidebar_position: 5
---

# 🌐 Run a node

This is arguably the most important part of the testnet! Taiko is fully decentralized and relies on the community to run nodes.

Follow the guide at [simple-taiko-node/README.md](https://github.com/taikoxyz/simple-taiko-node/blob/main/README.md) to get started.

:::note
You will only be able to run a node regularly; you cannot extend your node to run as a proposer or prover. In this testnet, we operate the proposer(s), and there are not yet any prover nodes.
:::
41 changes: 41 additions & 0 deletions packages/website/docs/alpha-1-testnet/start-here.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
sidebar_position: 0
---

# 👋 Start here

Welcome to Taiko's Alpha-1 testnet, **Snæfellsjökull**. There are two networks involved in the testnet, which we'll define:

- **Taiko A1** is the Alpha-1 testnet release of Taiko — a fully decentralized, Ethereum-equivalent ZK-Rollup.
- **Ethereum A1** is Taiko's privately deployed Ethereum network, which serves as the L1 for Taiko's Alpha-1 testnet.

## What can I do?

In this testnet, you can:

- 🌉 Bridge tokens between Ethereum A1 and Taiko A1.
- 🤝 Send transactions (e.g., deploy contracts).
- 🌐 Run a node — this makes _you_ a part of Taiko!
- 📝 Submit feedback and be forever loved.
- 🥇 Earn a POAP by using your wallet to complete any 2 of the 3 following actions by January 31st 23:59 UTC:
- Use the bridge
- Contract interaction (e.g., interact w/ dapp, deploy a contract)
- Transfer between accounts

## Create a feedback log

Create a feedback log by clicking [here](https://github.com/orgs/taikoxyz/discussions/new?category=feedback&title=Testnet%20feedback%20form&body=%23+Friction+log%0D%0A-+TODO%0D%0A%0D%0A%23+Other+notes%0D%0A-+TODO%0D%0A), and use this to write down any [friction points, bugs, suggestions, etc.] while testing Taiko.

Once you are finished testing the network, please submit the feedback log to help improve Taiko!

## Navigating Snæfellsjökull

All of the relevant links can be found in this site's navigation. The relevant links are:

| Link | Purpose |
| ----------------------------------------------- | -------------------------------------------------- |
| [Bridge](https://bridge.a1.taiko.xyz/) | Bridge ETH/tokens between Ethereum A1 and Taiko A1 |
| [L1 faucet](https://l1faucet.a1.taiko.xyz/) | For receiving ETH on Ethereum A1 |
| [L2 faucet](https://l2faucet.a1.taiko.xyz/) | For receiving ETH on Taiko A1 |
| [L1 explorer](https://l1explorer.a1.taiko.xyz/) | Explore blocks on Ethereum A1 |
| [L2 explorer](https://l2explorer.a1.taiko.xyz/) | Explore blocks on Taiko A1 |
9 changes: 9 additions & 0 deletions packages/website/docs/alpha-1-testnet/submit-feedback.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
sidebar_position: 7
---

# 📝 Submit feedback

Submit your [feedback log](/docs/alpha-1-testnet/start-here#create-a-feedback-log) to [GitHub Discussions](https://github.com/orgs/taikoxyz/discussions).

Thank you for participating in the Snæfellsjökull testnet! 🌋
24 changes: 24 additions & 0 deletions packages/website/docs/alpha-1-testnet/use-the-bridge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
sidebar_position: 3
---

# 🌉 Use the bridge

The bridge contract can be found:

- Deployed on L1: https://l1explorer.a1.taiko.xyz/address/0x3612E284D763f42f5E4CB72B1602b23DAEC3cA60
- Deployed on L2: https://l2explorer.a1.taiko.xyz/address/0x0000777700000000000000000000000000000002

## Test the bridge

Use the [bridge](https://bridge.a1.taiko.xyz/) for the following actions:

- Bridge ETH from Ethereum A1 to Taiko A1

## Bridge contract explained

Read the bridge documentation on our GitHub: https://github.com/taikoxyz/taiko-mono/tree/main/packages/protocol/contracts/bridge.

## Why is my L2 -> L1 transfer taking so long?

The transfer from L2 to L1 can take a while because Taiko has a several hours delay in syncing block headers to allow uncle proof generation time, and we need the synced header to match so the Merkle proof of the message being sent on L2 is valid on L1.
3 changes: 2 additions & 1 deletion packages/website/docs/intro/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"label": "Introduction",
"label": "Learn",
"collapsed": false,
"position": 1,
"link": {
"type": "generated-index"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Frequently Asked Questions
---
sidebar_position: 4
---

# FAQs

## What is Taiko?

Expand Down Expand Up @@ -65,7 +69,7 @@ There are 2 types of zero-knowledge proofs: ZK-SNARKs and ZK-STARKs. Taiko uses

## What does "Taiko" mean?

It comes from an old Chinese saying 一鼓作气 (Yīgǔzuòqì). The literal meaning is that the first drum beat arouses courage. The implied meaning of the idiom is to accomplish a task or goal in one intense effort.
It comes from an old Chinese saying 一鼓作气 (Yīgǔzuòqì). The literal meaning is that the first drum beat arouses courage. The implied meaning of the idiom is to accomplish a task or goal in one intense effort.

Taiko (太鼓) is the Japanese term for a drum. For us, Taiko is the "drum" that arouses courage and leads to accomplishing goals.

Expand Down
10 changes: 5 additions & 5 deletions packages/website/docs/intro/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
sidebar_position: 1
---

# Quickstart
# What is Taiko?

Welcome to Taiko! 🥁
Taiko is a fully decentralized, Ethereum-equivalent ZK-Rollup. This is also referred to as a [Type 1 ZK-EVM](https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo).

## Learn about Taiko
## Learn more about Taiko

Here are the best places to learn about Taiko.

Expand All @@ -15,8 +15,8 @@ Here are the best places to learn about Taiko.
- [Introduction to Taiko](https://mirror.xyz/labs.taiko.eth/oRy3ZZ_4-6IEQcuLCMMlxvdH6E-T3_H7UwYVzGDsgf4)
- [The Type 1 ZK-EVM](https://mirror.xyz/labs.taiko.eth/w7NSKDeKfJoEy0p89I9feixKfdK-20JgWF9HZzxfeBo)
- [Whitepaper](https://taikoxyz.github.io/taiko-mono/taiko-whitepaper.pdf)
- [Contract documentation](/docs/category/smart-contracts/)
- [Frequently Asked Questions (FAQ)](/faq/)
- [Contract documentation](/docs/category/contract-documentation/)
- [Frequently Asked Questions (FAQ)](/docs/intro/faq.md)

### Follow us

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Talks
---
sidebar_position: 3
---

# Presentations

- `2022-11-01`: [Taiko ZK-EVM: Layer 2 Finality](https://hackmd.io/@taikolabs/HkN7GR64i) (Old Friends Reunion - ETH Lisbon)
- `2022-10-10`: [Taiko ZK-EVM: Overview and Optimizations](https://hackmd.io/@taikolabs/S1haywHIj) (Rollup Day - Devcon)
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Whitepaper
---
sidebar_position: 2
---

# Read the whitepaper

Read about the Taiko protocol in depth with the [whitepaper](https://taikoxyz.github.io/taiko-mono/taiko-whitepaper.pdf).
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"label": "Smart contracts",
"label": "Contract documentation",
"collapsed": true,
"link": {
"type": "generated-index"
Expand Down
Loading