Skip to content

Building a Node from Source

This guide shows you how to build your own node from source code.

You might want to do this if you want to run a node on a specific architecture or if you want to inspect the source code of the node you’re running.

Node Components


A Taiko Node consists of two components, analogous to an Ethereum node; the consensus client and execution engine.

Taiko Client (taiko-client)

The taiko client is responsible for decoding L2 blocks from L1 calldata (and blobspace!), then passing those payloads to our execution engine.

It has three subcommands, driver, prover, and proposer.

The taiko client replaces the consensus client in an Ethereum mainnet node.

In this tutorial you will build the taiko-client as found in the taiko monorepo.

Execution Engine (taiko-geth)

The execution engine is responsible for executing the block payloads it receives from the taiko client. It holds the latest state of the chain.

taiko-geth exposes the standard JSON-RPC API that Ethereum developers are familiar with, and can be used accordingly to query blockchain data and submit transactions to the network.

taiko-geth replaces the execution client in an Ethereum mainnet node.

In this tutorial you will build the taiko-geth implementation of go-ethereum as found in the taiko-geth repository.

Software Dependencies

DependencyVersionVersion Check Command
git^2git --version
go^1.21go version
make^4make --version

Building the Taiko Client

First you’re going to build taiko-client.

  1. Clone the Taiko monorepo

    The Taiko monorepo contains the source code for the taiko-client.

    Terminal window
    git clone https://github.com/taikoxyz/taiko-mono.git
    cd taiko-mono/packages/taiko-client
  2. Checkout the release branch you wish to run

    Release branches are created when new versions of the taiko-client are created. Find the branch you wish to check out in the releases page.

    Search by taiko-client to find all relevant releases.

    Terminal window
    git checkout <release branch>
  3. Build taiko-client

    Terminal window
    make build

Building the Execution Engine

Next you’re going to build taiko-geth.

  1. Clone taiko-geth

    The taiko-geth repository contains the source code for our execution engine.

    Terminal window
    git clone https://github.com/taikoxyz/taiko-geth.git
    cd taiko-geth
  2. Checkout the release branch you wish to run

    Release branches are created when new versions of the taiko-geth are created. Find the branch you wish to check out in the releases page.

    Terminal window
    git checkout <release branch>
  3. Build taiko-geth

    Terminal window
    make geth

What’s Next?

Now that you’ve built your own node from source, you can run it for Taiko Mainnet or Testnet!