# UniChain Node Setup

<figure><img src="https://1882782965-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJKcLF887TYMWzFb2yWrk%2Fuploads%2FPu2cOqerBqwIuuPo3lp2%2Flogo.png?alt=media&#x26;token=14ac5bbd-2fff-4c2c-ad3b-e6db6cf1b0a9" alt=""><figcaption></figcaption></figure>

| CPU | RAM | SSD  | Ubuntu |
| --- | --- | ---- | ------ |
| 4+  | 6+  | 100+ | 22.04+ |

### Server HTOP :&#x20;

<figure><img src="https://1882782965-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJKcLF887TYMWzFb2yWrk%2Fuploads%2F3FupRsEkzzk7euVmaFSI%2Fimage.png?alt=media&#x26;token=e8a1d6eb-c08e-4d4f-aef4-b9c2bdfe089e" alt=""><figcaption></figcaption></figure>

## 🚀Update

```
sudo apt update -y && sudo apt upgrade -y
```

```
sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev tmux iptables curl nvme-cli git wget make jq libleveldb-dev build-essential pkg-config ncdu tar clang bsdmainutils lsb-release libssl-dev libreadline-dev libffi-dev jq gcc screen unzip lz4 -y
```

### Install Docker <a href="#install-docker" id="install-docker"></a>

```
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```

```
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
```

```
sudo apt-get update
```

```
sudo apt-get install docker-ce docker-ce-cli containerd.io
```

```
docker version
```

### Install Docker-Compose <a href="#install-docker-compose" id="install-docker-compose"></a>

```
VER=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)
```

```
curl -L "https://github.com/docker/compose/releases/download/"$VER"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```

```
chmod +x /usr/local/bin/docker-compose
```

```
docker-compose --version
```

### Docker Permission to User <a href="#docker-permission-to-user" id="docker-permission-to-user"></a>

```
sudo groupadd docker
```

```
sudo usermod -aG docker $USER
```

### Install UniChain Node :

### Install Repo :&#x20;

```
git clone https://github.com/Uniswap/unichain-node
```

```
cd unichain-node
```

### **Set EndPoints :**&#x20;

```
nano .env.sepolia
```

<figure><img src="https://1882782965-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJKcLF887TYMWzFb2yWrk%2Fuploads%2FSa8DKYdpuhA9OpUIUyWV%2Fimage.png?alt=media&#x26;token=83c24e0a-0356-4469-a111-61a21adc4e30" alt=""><figcaption></figcaption></figure>

#### Change :  L1 ETH RPC - L1 BEACON :&#x20;

#### DRPC : [https://drpc.org?ref=8dd4b5](https://drpc.org/?ref=8dd4b5)

#### Quick Node : <https://dashboard.quicknode.com/endpoints>

CTRL X - CTRL Y - Enter Saved.

<figure><img src="https://1882782965-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJKcLF887TYMWzFb2yWrk%2Fuploads%2FIDiVwJ5ddz1uQaKLT0Cg%2Fimage.png?alt=media&#x26;token=47c52074-7fd4-459a-8a92-0e461d68ab5a" alt=""><figcaption></figcaption></figure>

### Run :&#x20;

```
docker compose up -d
```

### You should now be able to `curl` your Unichain node:

```
curl -d '{"id":1,"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest",false]}' \
  -H "Content-Type: application/json" http://localhost:8545
```

### If You Want Stop Your Node :&#x20;

```
docker compose down
```
