ENSNode Development and Contributions
Prerequisites
- Git
- Postgres 17
- Node.js
- pnpm
- Run
npm install -g pnpm
or see other installation options.
- Run
Prepare Workspace
Clone this repository:
git clone git@github.com:namehash/ensnode.gitcd ensnode
Install Dependencies
pnpm install
Running ENSNode
1. Running Postgres
Ensure Postgres in the background, providing its connection details to ENSIndexer via DATABASE_URL
.
2. Running ENSRainbow
# from monorepo rootpnpm run -F @ensnode/ensrainbow serve
# or from apps/ensrainbowpnpm run serve
3. Running ENSIndexer
# from monorepo rootpnpm run -F @ensnode/ensindexer dev
# or from apps/ensindexerpnpm run dev
4. Running ENSAdmin
cd apps/ensadmincp .env.local.example .env.local
# from monorepo rootpnpm run -F @ensnode/ensadmin dev
# or from apps/ensadminpnpm run dev
Using Docker Compose
You can use Docker Compose to set up the ENSNode suite, along with its dependencies.
Prerequisites
Before you can use Docker Compose, ensure you have the following installed on your machine:
Building the Docker Images
Before running docker compose
the images must be build with the latest changes: see the Building Docker Images guide.
If you make changes in the application code and wish to run those updates, you must build the relevant Docker container again.
Running the Applications
Run the built images with:
docker compose up -d
- ENSIndexer: Available at http://localhost:42069
- ENSRainbow: Available at http://localhost:3223
- ENSAdmin: Available at http://localhost:4173
- PostgreSQL: Available on port
5432
Stopping the Applications
To stop the running applications, you can press Ctrl + C
in the terminal where Docker Compose is running. If you want to remove the containers and networks created by Docker Compose, you can run:
docker compose down