Blast Docs
  • 👋Welcome to Blast Docs
  • Quick Start
    • Developing smart contracts on Blast
    • Testing on Blast Test Networks
    • Bridging ETH with the Blast SDK
    • Bridging ERC-20 tokens with the Blast SDK
    • View transactions between layers
    • Creating an ERC20 Token on L2 to represent one on L1
    • Registering a Custom ERC20 Token on L2
    • Estimate the costs of an BL Mainnet (L2) transaction
  • Developer docs
    • 💻BLAST Node Operators
      • 📝Node Operator Guide
      • 🧑Building a Node from Source
      • Running BLAST Mainnet from Source
      • Running BLAST Testnet from Source
  • How-to Guides
    • Using Blast Bridge
Powered by GitBook
On this page
  • Prerequisites
  • #Hardware requirements
  • #Software requirements
  • #Building the software
  1. Developer docs
  2. BLAST Node Operators

Building a Node from Source

PreviousNode Operator GuideNextRunning BLAST Mainnet from Source

Last updated 1 year ago

Here are the instructions if you want to build you own node without relying on our images. These instructions were generated on an Ubuntu 20.04 LTS box, but they should work with other systems too.

Prerequisites

Hardware requirements

Nodes need to process and store the transaction history of BLAST Mainnet or BLAST Goerli. They need to be relatively powerful machines (real or virtual). We recommend at least 16 GB RAM. We recommend a 1TB SSD for BLAST Mainnet, our current archive node usage is ~500GB. We recommend a 100GB SSD for BLAST Goerli, or current full node usage is ~1.6GB and archive node usage is ~5.6GB.

Software requirements

You’ll need the following software installed to follow this tutorial:

This tutorial was checked on:

Software
Version
Installation command(s)

Ubuntu

20.04 LTS

git, curl, jq, make, and zstd

OS default

sudo apt update, sudo apt install -y git curl make jq zstd

Go

1.20

wget https://go.dev/dl/go1.20.linux-amd64.tar.gz, tar xvzf go1.20.linux-amd64.tar.gz, sudo cp go/bin/go /usr/bin/go, sudo mv go /usr/lib, echo export GOROOT=/usr/lib/go >> ~/.bashrc

Node

18.17.1

nvm install 18.17.1, nvm use 18.17.1

pnpm

8.6.12

sudo npm install -g pnpm

Foundry

0.2.0

curl -L https://foundry.paradigm.xyz | bash, . ~/.bashrc, foundryup

  1. Navigate to your working directory.

  2. git clone https://github.com/BLASTchain/blast.git
  3. Install required modules.

    cd blast
    pnpm install
  4. Build the various packages inside of the Blast Monorepo.

    make bl-node
    pnpm build

This process will take some time, so you can move onto the next section while the build completes.

  1. Navigate to your working directory.

  2. git clone https://github.com/BLASTchain/op-geth.git
  3. Build op-geth:

    cd op-geth    
    make geth

Building the software

Build the Blast Monorepo

Clone the .

Build op-geth

Clone :

💻
🧑
#
#
Git(opens new window)
Go(opens new window)
nvm(opens new window)
Node(opens new window)
Pnpm(opens new window)
Foundry(opens new window)
Make(opens new window)
jq(opens new window)
direnv(opens new window)
zstd(opens new window)
#
#
Blast Monorepo (opens new window)
#
op-geth (opens new window)