Skip to content
This repository has been archived by the owner on May 15, 2024. It is now read-only.

feat(docs): redirecting links to new tab and tabnabbing prevention #130

Closed
wants to merge 4 commits into from
Closed
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
2 changes: 1 addition & 1 deletion src/content/docs/api-reference/bridge-relayer-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ title: Bridge Relayer API
description: The Bridge Relayer API is used to fetch data about messages faciliated by Taiko Labs' bridge relayer.
---

Bridge Relayer API: [https://relayer-swagger.taiko.xyz/](https://relayer-swagger.taiko.xyz/).
Bridge Relayer API: <a href="https://relayer-swagger.taiko.xyz/" target="_blank" rel="noopener noreferrer">https://relayer-swagger.taiko.xyz/</a>.
2 changes: 1 addition & 1 deletion src/content/docs/api-reference/event-indexer-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ title: Event Indexer API
description: The Event Indexer API is used to fetch data about various events we keep track of on Taiko.
---

Event Indexer API: [https://eventindexer-swagger.taiko.xyz/](https://eventindexer-swagger.taiko.xyz/)
Event Indexer API: <a href="https://eventindexer-swagger.taiko.xyz/" target="_blank" rel="noopener noreferrer">https://eventindexer-swagger.taiko.xyz/</a>
2 changes: 1 addition & 1 deletion src/content/docs/api-reference/prover-server-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ title: Prover Server API
description: The Prover Server API describes how to interact with a Taiko off-chain market prover.
---

Prover Server API: [https://taikoxyz.github.io/taiko-client/](https://taikoxyz.github.io/taiko-client/).
Prover Server API: <a href="https://taikoxyz.github.io/taiko-client/" target="_blank" rel="noopener noreferrer">https://taikoxyz.github.io/taiko-client/</a>.
10 changes: 5 additions & 5 deletions src/content/docs/api-reference/taiko-node-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@ title: Taiko Node API
description: The Taiko Node API describes the various API surfaces of a Taiko node.
---

Using a Taiko node should feel the same as using any other L1 node, because we essentially re-use the L1 client and make a few backwards-compatible modifications. You can first read about the architecture of Taiko nodes [here](/core-concepts/taiko-nodes).
Using a Taiko node should feel the same as using any other L1 node, because we essentially re-use the L1 client and make a few backwards-compatible modifications. You can first read about the architecture of Taiko nodes <a href="/core-concepts/taiko-nodes" target="_blank" rel="noopener noreferrer">here</a>.

## Differences from a Geth client

View the fork diff page to see the minimal set of changes made to Geth [here](https://geth.taiko.xyz).
View the fork diff page to see the minimal set of changes made to Geth <a href="https://geth.taiko.xyz" target="_blank" rel="noopener noreferrer">here</a>.

## Execution JSON-RPC API

Check out the execution client spec [here](https://ethereum.github.io/execution-apis/api-documentation/).
Check out the execution client spec <a href="https://ethereum.github.io/execution-apis/api-documentation/" target="_blank" rel="noopener noreferrer">here</a>.

## Engine API

Check out the engine API spec [here](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
Check out the engine API spec <a href="https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md" target="_blank" rel="noopener noreferrer">here</a>.

## Hive test harness

If a Taiko node should feel the same as using any other L1 node, it should surely be able to pass the [hive e2e test harness](https://github.com/ethereum/hive). At the time of writing, the hive tests are actually one of the best references for what the API of an Ethereum node actually is.
If a Taiko node should feel the same as using any other L1 node, it should surely be able to pass the <a href="https://github.com/ethereum/hive" target="_blank" rel="noopener noreferrer">hive e2e test harness</a>. At the time of writing, the hive tests are actually one of the best references for what the API of an Ethereum node actually is.

We're working on integrating with hive, so stay tuned!
2 changes: 1 addition & 1 deletion src/content/docs/core-concepts/based-sequencing.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ description: Core concept page for "Based sequencing".

One of Taiko's major differentiators from other rollups is that it is a **based rollup**. That is, it's sequencing is driven by the base L1. On Taiko, there is **no centralized sequencer**. The sequencer role instead falls on the shoulders of the Ethereum L1 validator.

Check out plenty of great resources on based sequencing in our [Learning resources](/resources/learning-resources)!
Check out plenty of great resources on based sequencing in our <a href="/resources/learning-resources" target="_blank" rel="noopener noreferrer">Learning resources</a>!
2 changes: 1 addition & 1 deletion src/content/docs/core-concepts/booster-rollups.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ description: Core concept page for "Booster rollups".

Booster rollups are an innovative idea to scale L1 dapps directly (without the need for re-deploying to L2).

The best place to read about booster rollups is on our blog post [Based Booster Rollup (BBR): A new major milestone in Taiko’s roadmap](https://taiko.mirror.xyz/anPjF35Mrc_xzYgOTbUmfjr_MlhE3L8ZBZIxqmz9GZ8). We'll update this page as more pieces develop, stay tuned!
The best place to read about booster rollups is on our blog post <a href="https://taiko.mirror.xyz/anPjF35Mrc_xzYgOTbUmfjr_MlhE3L8ZBZIxqmz9GZ8" target="_blank" rel="noopener noreferrer">Based Booster Rollup (BBR): A new major milestone in Taiko’s roadmap</a>. We'll update this page as more pieces develop, stay tuned!
8 changes: 4 additions & 4 deletions src/content/docs/core-concepts/bridging.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Bridges are foundational for cross-chain users and applications. Users might com

Let's explain bridging on Taiko. We will answer the following questions:

- [How does the Taiko protocol enable secure cross-chain messaging?](#cross-chain-messaging)
- [What is the Taiko signal service?](#the-signal-service)
- [How does Taiko's bridge implementation work?](#how-the-bridge-works)
- <a href="#cross-chain-messaging" target="_blank" rel="noopener noreferrer">How does the Taiko protocol enable secure cross-chain messaging?</a>
- <a href="#the-signal-service" target="_blank" rel="noopener noreferrer">What is the Taiko signal service?</a>
- <a href="#how-the-bridge-works" target="_blank" rel="noopener noreferrer">How does Taiko's bridge implementation work?</a>

## Cross-chain messaging

Expand Down Expand Up @@ -67,7 +67,7 @@ Let's walk through an example:
2. Next, we call `eth_getProof`, which will give us a proof that we did indeed send a message on the source chain.
3. Finally, we call `isSignalReceived` on the destination chain's SignalService which essentially just verifies the merkle proof. `isSignalReceived` will look up the block hash you are asserting you had stored a message on the source chain (where you originally sent the message), and with the sibling hashes inside the merkle proof it will rebuild the merkle root, which verifies the signal was included in that merkle root—meaning it was sent.

And boom! We have sent a cross-chain message. If this is confusing, you can also find a simple dApp that was built during one of our workshops to demonstrate the fundamentals. You can find it [here](https://github.com/taikoxyz/MessageServiceShowCaseApp).
And boom! We have sent a cross-chain message. If this is confusing, you can also find a simple dApp that was built during one of our workshops to demonstrate the fundamentals. You can find it <a href="https://github.com/taikoxyz/MessageServiceShowCaseApp" target="_blank" rel="noopener noreferrer">here</a>.

## How the bridge works

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/core-concepts/contestable-rollups.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ title: Contestable rollups
description: Core concept page for "Contestable rollups".
---

Check out our blog post on the [Based Contestable Rollup (BCR): A configurable, multi-proof rollup design](https://taiko.mirror.xyz/Z4I5ZhreGkyfdaL5I9P0Rj0DNX4zaWFmcws-0CVMJ2A).
Check out our blog post on the <a href="https://taiko.mirror.xyz/Z4I5ZhreGkyfdaL5I9P0Rj0DNX4zaWFmcws-0CVMJ2A" target="_blank" rel="noopener noreferrer">Based Contestable Rollup (BCR): A configurable, multi-proof rollup design</a>.
2 changes: 1 addition & 1 deletion src/content/docs/core-concepts/inception-layers.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ Further, Ethereum-equivalence across L2s, L3s, and beyond means inheriting some

![Inception layers diagram](~/assets/content/docs/core-concepts/inception-layers-diagram.png)

For more information on how Taiko's message passing works see the concept page on [Bridging](/core-concepts/bridging).
For more information on how Taiko's message passing works see the concept page on <a href="/core-concepts/bridging" target="_blank" rel="noopener noreferrer">Bridging</a>.
2 changes: 1 addition & 1 deletion src/content/docs/core-concepts/multi-proofs.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ To add a layer of security and commitment to the process, provers must provide a

## Multi-proofs

A great resource to learn about Taiko's approach to security with multi-proofs is the Twitter thread [here](https://x.com/taikoxyz/status/1745546868028068273).
A great resource to learn about Taiko's approach to security with multi-proofs is the Twitter thread <a href="https://x.com/taikoxyz/status/1745546868028068273" target="_blank" rel="noopener noreferrer">here</a>.

Cryptographic implementations are complex and not yet mature. To minimize potential bugs and vulnerabilities, diversity in proof systems is needed. Taiko is one of the advocates who strongly defends the multi-proofs approach in rollups. Taiko's approach aims to increase security and diversity by using multiple proof systems and clients, thus reducing the risk associated with bugs or vulnerabilities in any single system. The approach also includes the integration of different types of proofs.

Expand Down
16 changes: 8 additions & 8 deletions src/content/docs/core-concepts/taiko-nodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,26 @@ title: Taiko nodes
description: Core concept page for "Taiko nodes".
---

Taiko nodes are minimally modified Ethereum [execution clients](https://ethereum.org/en/glossary/#execution-client) that consist of two parts:
Taiko nodes are minimally modified Ethereum <a href="https://ethereum.org/en/glossary/#execution-client" target="_blank" rel="noopener noreferrer">execution clients</a> that consist of two parts:

- [taiko-geth](https://github.com/taikoxyz/taiko-geth)
- [taiko-client](https://github.com/taikoxyz/taiko-client)
- <a href="https://github.com/taikoxyz/taiko-geth" target="_blank" rel="noopener noreferrer">taiko-geth</a>
- <a href="https://github.com/taikoxyz/taiko-client" target="_blank" rel="noopener noreferrer">taiko-client</a>

You can think of it like an Ethereum mainnet node, except replacing the consensus client with `taiko-client`. `taiko-client` then drives `taiko-geth` over the [Engine API](https://github.com/ethereum/execution-apis/tree/main/src/engine). This is a modular design that allows easily plugging in other execution clients.
You can think of it like an Ethereum mainnet node, except replacing the consensus client with `taiko-client`. `taiko-client` then drives `taiko-geth` over the <a href="https://github.com/ethereum/execution-apis/tree/main/src/engine" target="_blank" rel="noopener noreferrer">Engine API</a>. This is a modular design that allows easily plugging in other execution clients.

![Taiko nodes diagram](~/assets/content/docs/core-concepts/taiko-nodes.png)

## taiko-geth

The [taiko-geth](https://github.com/taikoxyz/taiko-geth) software is a fork of [go-ethereum](https://github.com/ethereum/go-ethereum) with some changes made according to the Taiko protocol.
The <a href="https://github.com/taikoxyz/taiko-geth" target="_blank" rel="noopener noreferrer">taiko-geth</a> software is a fork of <a href="https://github.com/ethereum/go-ethereum" target="_blank" rel="noopener noreferrer">go-ethereum</a> with some changes made according to the Taiko protocol.

Like Ethereum mainnet execution engines, `taiko-geth` listens to new L2 transactions broadcasted in the L2 network, executes them in the EVM, and holds the latest state and database of all current L2 data.

You can see all the changes made in the `taiko-geth` fork at [geth.taiko.xyz](https://geth.taiko.xyz)!
You can see all the changes made in the `taiko-geth` fork at <a href="https://geth.taiko.xyz" target="_blank" rel="noopener noreferrer">geth.taiko.xyz</a>!

## taiko-client

The [taiko-client](https://github.com/taikoxyz/taiko-client) software replaces the consensus client piece of an Ethereum mainnet node. It connects to `taiko-geth`, and the compiled binary includes three sub-commands:
The <a href="https://github.com/taikoxyz/taiko-client" target="_blank" rel="noopener noreferrer">taiko-client</a> software replaces the consensus client piece of an Ethereum mainnet node. It connects to `taiko-geth`, and the compiled binary includes three sub-commands:

### `driver`

Expand Down Expand Up @@ -83,5 +83,5 @@ When a new block is proposed, the `prover`:

If the proposed block has a **valid** or **invalid** `txList`, the `prover`:

1. Generates a Merkle proof of the block's `TaikoL2.anchor` transaction to prove its existence in the `block.txRoot`'s [MPT](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) and this transaction receipt's [Merkle proof](https://rollup-glossary.vercel.app/other-terms#merkle-proofs) in the `block.receiptRoot`'s MPT from the L2 execution engine.
1. Generates a Merkle proof of the block's `TaikoL2.anchor` transaction to prove its existence in the `block.txRoot`'s <a href="https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/" target="_blank" rel="noopener noreferrer">MPT</a> and this transaction receipt's <a href="https://rollup-glossary.vercel.app/other-terms#merkle-proofs" target="_blank" rel="noopener noreferrer">Merkle proof</a> in the `block.receiptRoot`'s MPT from the L2 execution engine.
2. Submits the `TaikoL2.anchor` transaction's RLP encoded bytes, its receipt's RLP encoded bytes, the generated Merkle proofs, and a validity proof to prove this block **valid** by sending a `TaikoL1.proveBlock` transaction (the block is valid even for an invalid `txList` because we prove the invalid `txList` maps to an empty block with only the anchor transaction).
36 changes: 18 additions & 18 deletions src/content/docs/core-concepts/what-is-taiko.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ The thought process for Taiko is as follows:
- Ethereum is too expensive.
- We believe in Ethereum's core properties (e.g., censorship-resistant, permissionless, secure).
- Rollups should extend (not augment) these properties.
- Thus, we are building a [based rollup](/core-concepts/based-sequencing) which makes Ethereum cheaper while maintaining its properties.
- [Based contestable rollup](/core-concepts/contestable-rollups): A configurable rollup to reduce transaction fees on Ethereum.
- [Based booster rollup](/core-concepts/booster-rollups): An innovative approach to **native L1 scaling**.
- Thus, we are building a <a href="/core-concepts/based-sequencing" target="_blank" rel="noopener noreferrer">based rollup</a> which makes Ethereum cheaper while maintaining its properties.
- <a href="/core-concepts/contestable-rollups" target="_blank" rel="noopener noreferrer">Based contestable rollup</a>: A configurable rollup to reduce transaction fees on Ethereum.
- <a href="/core-concepts/booster-rollups" target="_blank" rel="noopener noreferrer">Based booster rollup</a>: An innovative approach to **native L1 scaling**.

Taiko is a **fully open source, permissionless, Ethereum-equivalent ZK-Rollup**. Using Taiko feels the exact same as using Ethereum. There are no centralized actors that operate the network; all operations are permissionlessly run by the community.

Expand All @@ -35,27 +35,27 @@ Taiko is a **fully open source, permissionless, Ethereum-equivalent ZK-Rollup**.

### Frontends

- [Bridge UI](https://bridge.hekla.taiko.xyz)
- [Network + Guardian Prover status page](https://status.taiko.xyz)
- [Fork of Uniswap v3 UI](https://swap.hekla.taiko.xyz)
- [Main homepage](https://taiko.xyz) + [this documentation site](https://docs.taiko.xyz)
- [Geth fork diff page](https://geth.taiko.xyz)
- <a href="https://bridge.hekla.taiko.xyz" target="_blank" rel="noopener noreferrer">Bridge UI</a>
- <a href="https://status.taiko.xyz" target="_blank" rel="noopener noreferrer"> Network + Guardian Prover status page</a>
- <a href="https://swap.hekla.taiko.xyz" target="_blank" rel="noopener noreferrer">Fork of Uniswap v3 UI</a>
- <a href="https://taiko.xyz" target="_blank" rel="noopener noreferrer">Main homepage</a> + <a href="https://docs.taiko.xyz" target="_blank" rel="noopener noreferrer">this documentation site</a>
- <a href="https://geth.taiko.xyz" target="_blank" rel="noopener noreferrer">Geth fork diff page</a>

### Non-critical backend infrastructure

- [Event indexer](/api-reference/event-indexer-api)
- [Bridge relayer](/api-reference/bridge-relayer-api)
- [P2P bootstrapping nodes](/network-reference/addresses#taiko-labs-bootnode-addresses)
- [Taiko Labs' proposers and provers](/network-reference/addresses)
- <a href="/api-reference/event-indexer-api" target="_blank" rel="noopener noreferrer">Event indexer</a>
- <a href="/api-reference/bridge-relayer-api" target="_blank" rel="noopener noreferrer">Bridge relayer</a>
- <a href="/network-reference/addresses#taiko-labs-bootnode-addresses" target="_blank" rel="noopener noreferrer">P2P bootstrapping nodes</a>
- <a href="/network-reference/addresses" target="_blank" rel="noopener noreferrer">Taiko Labs' proposers and provers</a>

### Critical backend infrastructure

- [Rollup contracts owner](/network-reference/addresses#rollup-contracts-owner)
- <a href="/network-reference/addresses#rollup-contracts-owner" target="_blank" rel="noopener noreferrer">Rollup contracts owner</a>

### Open source software

- [Taiko protocol smart contracts](https://github.com/taikoxyz/taiko-mono)
- [Taiko geth](https://github.com/taikoxyz/taiko-geth)
- [Taiko client](https://github.com/taikoxyz/taiko-client)
- [Raiko client](https://github.com/taikoxyz/raiko)
- [Simple taiko node](https://github.com/taikoxyz/simple-taiko-node)
- <a href="https://github.com/taikoxyz/taiko-mono" target="_blank" rel="noopener noreferrer">Taiko protocol smart contracts</a>
- <a href="https://github.com/taikoxyz/taiko-geth" target="_blank" rel="noopener noreferrer">Taiko geth</a>
- <a href="https://github.com/taikoxyz/taiko-client" target="_blank" rel="noopener noreferrer">Taiko client</a>
- <a href="https://github.com/taikoxyz/raiko" target="_blank" rel="noopener noreferrer">Raiko client</a>
- <a href="https://github.com/taikoxyz/simple-taiko-node" target="_blank" rel="noopener noreferrer">Simple taiko node</a>
4 changes: 2 additions & 2 deletions src/content/docs/guides/bridge-tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: This guide will help you use the bridge to send tokens between Hole
---

:::note
Please be aware, bridging back to L1 will take around 24 hours! See [network configuration](/network-reference/network-configuration) for the currently configured cooldown period.
Please be aware, bridging back to L1 will take around 24 hours! See <a href="/network-reference/network-configuration" target="_blank" rel="noopener noreferrer">network configuration</a> for the currently configured cooldown period.
:::

This guide will help you use the bridge to send tokens between Holesky and Taiko.
Expand All @@ -15,4 +15,4 @@ This guide will help you use the bridge to send tokens between Holesky and Taiko

## Bridge tokens

Visit [the bridge](https://bridge.hekla.taiko.xyz) and follow through the UI.
Visit <a href="https://bridge.hekla.taiko.xyz" target="_blank" rel="noopener noreferrer">the bridge</a> and follow through the UI.
Loading