Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22.23.1'
node-version: '24.19.0'
- name: Cache node_modules
uses: actions/cache@v3
env:
Expand All @@ -42,7 +42,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
node: ['22.23.1']
node: ['24.19.0']

steps:
- uses: actions/checkout@v4
Expand All @@ -66,7 +66,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22.23.1'
node-version: '24.19.0'
- name: Cache node_modules
uses: actions/cache@v3
env:
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22.23.1'
node-version: '24.19.0'
- name: Cache node_modules
uses: actions/cache@v3
env:
Expand Down Expand Up @@ -197,7 +197,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '22.23.1'
node-version: '24.19.0'

- name: Cache node_modules
uses: actions/cache@v3
Expand Down
3 changes: 1 addition & 2 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
22.23.1

24.19.0
9 changes: 5 additions & 4 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
Ocean Node is the all-in-one backend for the Ocean Protocol stack. A single Node process
replaces three legacy components: **Provider** (data access / encryption / compute),
**Aquarius** (metadata cache) and the **subgraph** (on-chain event indexing). It is a
TypeScript ESM project (Node 22) that exposes an HTTP API and a libp2p P2P interface, both
TypeScript ESM project (Node 24) that exposes an HTTP API and a libp2p P2P interface, both
of which dispatch to the same set of command handlers.

---

## 1. Environment & tooling prerequisites

- **Node.js ≥ 22.13 is required** (`.nvmrc` pins `22.23.1`, matching the Dockerfile and CI;
`package.json` `engines` requires `>=22.13.0`). The Dockerfile additionally pins each base
- **Node.js 24 is required** (`.nvmrc` pins `24.19.0` — the current Node 24 LTS "Krypton" —
matching the Dockerfile and CI; `package.json` `engines` requires `>=24`, so Node 22 is
no longer a supported runtime). The Dockerfile additionally pins each base
image by digest, so bumping the version means updating the `sha256:` alongside the tag —
resolve it with `docker buildx imagetools inspect node:<version>-trixie`, not from the tag
alone. Always run `nvm use` (or `source ~/.nvm/nvm.sh && nvm use`) before
Expand Down Expand Up @@ -323,7 +324,7 @@ Handler source is grouped under `src/components/core/`:

## 5. Docker & deployment

Multi-stage `Dockerfile` (builder + slim runner) on `node:22`. The runner ships only
Multi-stage `Dockerfile` (builder + slim runner) on `node:24`. The runner ships only
`dist/`, `node_modules`, `schemas/`, `config.json`, and `docs/serviceTemplates/`
(`.dockerignore` excludes the rest of `docs/`). It exposes P2P ports `9000-9003,9005` and
HTTP `8000`. `docker-entrypoint.sh` handles Docker socket group membership at runtime so C2D
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:22.23.1-trixie@sha256:3145536027ca5268e24654f7efebf1dbdd684cda3708324e6c53f4ad61af8710 AS builder
FROM node:24.19.0-trixie@sha256:66bb8d36ae1ddd72199ed235a089904874ca4079ee517936ca3adb80506a75c1 AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
python3 \
build-essential \
Expand All @@ -14,7 +14,7 @@ COPY . .
RUN npm run build && npm prune --omit=dev


FROM node:22.23.1-trixie-slim@sha256:e6d9a389d34ff9678438af985c9913fbd1eb6ed36e80fea56644f4b4f6dd70ba AS runner
FROM node:24.19.0-trixie-slim@sha256:0711b541c1c33a8a530ac4f0d391baa9a15b3d804695b1b24a47daa5fb60e74d AS runner
RUN apt-get update && apt-get install -y --no-install-recommends \
dumb-init \
gosu \
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"type": "module",
"main": "index.js",
"engines": {
"node": ">=22.13.0"
"node": ">=24"
},
"bugs": {
"url": "https://github.com/oceanprotocol/ocean-node/issues"
Expand Down
Loading