Run via Docker
Prerequisites
Docker and Docker compose
Docker and Docker Compose are required to run node.
Pulling sources
First off, create a directory to store source codes and files for next steps (feel free to name it):
mkdir u2u_node
Change to created directory u2u_node
:
cd u2u_node
Repository u2u-genesis
Clone the u2u-genesis
repository to u2u_node
:
git clone https://github.com/unicornultrafoundation/u2u-genesis.git
cd u2u-genesis
git checkout main
Repository go-u2u
Clone the go-u2u
repository to u2u_node
:
git clone https://github.com/unicornultrafoundation/go-u2u.git
cd go-u2u
git checkout stable
Dockerfile
Create a file Dockerfile
inside u2u_node
. Below is the sample Dockerfile
:
FROM golang:1.20-alpine as builder
RUN apk add --no-cache make gcc musl-dev linux-headers git
WORKDIR /go/go-u2u
COPY ./go-u2u .
ARG GOPROXY
RUN go mod download
RUN make u2u
FROM alpine:latest
RUN apk add --no-cache ca-certificates
COPY --from=builder /go/go-u2u/build/u2u /
EXPOSE 8545 8546 8547 30303
ENTRYPOINT ["/u2u"]
docker-compose.yaml
Create a file docker-compose.yaml
inside u2u_node
. Below is sample docker-compose.yaml
file:
version: "3"
services:
u2u_node:
build: .
image: go-u2u:stable
restart: always
volumes:
- u2u_node:/root/.u2u
- ./u2u-genesis/mainnet.g:/genesis.g
ports:
- 8545:8545
- 8546:8546
- 30303:30303
command: --genesis /genesis.g
--genesis.allowExperimental
--http
--http.addr="0.0.0.0"
--http.port=8545
--http.corsdomain="*"
--http.api="eth,debug,net,admin,web3,personal,txpool,dag"
--ws
--ws.addr "0.0.0.0"
--ws.port=8546
--ws.api "eth,debug,net,web3,txpool,dag"
--ws.origins "*"
--enabletxtracer
--gcmode full
--port 30303
network_mode: host
volumes:
u2u_node:
Note that:
To run node on Solaris mainnet: you need to replace genesis file to
./u2u-genesis/mainnet.g
.To run node on Nebulas testnet: you need to replace genesis file to
./u2u-genesis/testnet.g
.
Since we have not published the testnet yet for external nodes to join. However, we are working on it, hang tight 🎉
Run
Now your u2u_node
folder will look like this:
docker-compose.yaml
Dockerfile
go-u2u/
u2u-genesis/
To run a node with Docker compose, open Terminal at u2u_node
folder:
docker-compose up
Last updated