/local-celestia-devnet

Docker image exposing celestia-node devnet for CI and local development

Primary LanguageShellApache License 2.0Apache-2.0

Local Celestia Devnet

This repo provides a Docker image that allows developers to spin up a local Celestia devnet composed of:

  • 1 x celestia-app validator node
  • 1 x celestia-node bridge node

For information about the different node types, see here.

To run the Docker image from ghcr.io

docker run -t -i \
    -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 \
    ghcr.io/rollkit/local-celestia-devnet:latest

To build and run the Docker image

First, clone the repository:

git clone https://github.com/rollkit/local-celestia-devnet.git

Change into the directory:

cd local-celestia-devnet/

To build the Docker image:

docker build . -t celestia-local-devnet

To run the Docker container:

docker run -t -i \
    -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 \
    celestia-local-devnet

Test that the HTTP gateway server is up:

curl -X GET http://127.0.0.1:26659/head

Running a Detached Container

If you would like the run the container in the background, you can use the -d flag:

docker run -d -t -i \
    -p 26650:26650 -p 26657:26657 -p 26658:26658 -p 26659:26659 -p 9090:9090 \
    celestia-local-devnet

Stopping the Container

To stop the container when you are attached to the container, you can use Ctrl+C to stop the container.

To stop the container when you are detached from the container, you can use the docker ps command to find the container ID:

docker ps

Then, use the docker stop command to stop the container:

docker stop <container-id>

To remove the container, use the docker rm command to remove the container:

docker rm <container-id>

Exposed Ports

Port Protocol Address Description Node Type
26650 gRPC 127.0.0.1 gRPC Data Availability Service
26657 HTTP 127.0.0.1 RPC Consensus (e.g celestia-app)
26658 HTTP 127.0.0.1 RPC Data Availability (e.g celestia-node)
26659 HTTP 127.0.0.1 REST Data Availability (e.g celestia-node)
9090 HTTP 0.0.0.0 gRPC Consensus (e.g celestia-app)

Environment Variables

Variable Description Default
CELESTIA_NAMESPACE Namespace to use for DA Service Randomly generated

You may also find these docs helpful: