> For the complete documentation index, see [llms.txt](https://o1js-blobstream.gitbook.io/o1js-blobstream/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://o1js-blobstream.gitbook.io/o1js-blobstream/setup-and-installation/linux.md).

# Linux

Installation & setup instructions for Linux systems

First, install system requirements. These commands work on Ubuntu and Debian Linux:

```
sudo apt-get -y update
sudo apt-get install -y curl tar wget aria2 clang pkg-config libssl-dev jq build-essential git make ncdu cmake ninja-build protobuf-compiler
```

**Node**

Install Node using [nvm](https://github.com/nvm-sh/nvm).As of the time of writing, this codebase works with Node 22.

**SP1**

We are using version `v1.0.1` of SP1. To install this specific version of the SP1 toolchain:

```
git clone https://github.com/succinctlabs/sp1.git
cd sp1
git checkout v1.0.1
cd cli
cargo install --locked --path .
cd ..
cargo prove install-toolchain
```

**Celestia Light Node**

Set up a Celestia light node according to the instructions [here](https://docs.celestia.org/nodes/light-node).

Get the authentication token using the following command:

```
export LIGHT_NODE_AUTH_TOKEN=$(celestia light auth admin --p2p.network celestia)
```

See [this tutorial](https://docs.celestia.org/developers/node-tutorial#auth-token) if you need further instructions.

Start the light node:

```
celestia light start --core.ip rpc.celestia.pops.one --p2p.network celestia
```

### **Set up the repositories**

#### **Make a new directory for the project:**

```
mkdir mina-celestia
cd mina-celestia
```

#### **Clone & set up the** [***blob-stream-inclusion***](https://github.com/geometers/blob-stream-inclusion) **repository:**

```
git clone git@github.com:geometers/blob-stream-inclusion.git
cd blob-stream-inclusion
cp .env.example .env
```

Open the `.env` file and fill in your own `SP1_PRIVATE_KEY` and `LIGHT_NODE_AUTH_TOKEN`.

#### Clone the [*o1js-blobstream*](https://github.com/geometers/o1js-blobstream) repository:

<pre><code><strong>cd ..
</strong><strong>git clone git@github.com:geometers/o1js-blobstream.git
</strong></code></pre>

### **Other System Requirements**

1. For the *blob-stream-inclusion* proofs you'll need:
   1. [`protoc`](https://google.github.io/proto-lens/installing-protoc.html) must be installed.
   2. [SP1](https://docs.succinct.xyz/getting-started/install.html) must be installed.
   3. [Docker](https://www.docker.com/) must be installed and running.
2. For the *o1js-blobstream* proofs you'll need [NodeJS](https://nodejs.org/en/download/package-manager) version 22.
