Nuts node development


GitHub go.mod Go version or higher is required.


Just use go build.

ES256 Koblitz support

To enable ES256K (Koblitz) support, you need to build with the jwx_es256k tag:

go build -tags jwx_es256k

Building for exotic environments

You can build and run the Nuts node on more exotic environments, e.g. Raspberry Pis:

  • 32-bit ARMv6 (Raspberry Pi Zero): env GOOS=linux GOARCH=arm GOARM=6 go build

Running tests

Tests can be run by executing

go test ./...

Code Generation

Code generation is used for generating mocks, OpenAPI client- and servers, and gRPC services. Make sure that GOPATH/bin is available on PATH and that the dependencies are installed

Install protoc:

MacOS: brew install protobuf
Linux: apt install -y protobuf-compiler

Install Go tools:

make install-tools

Generating code:

To regenerate all code run the run-generators target from the makefile or use one of the following for a specific group




make gen-mocks


make gen-api

Protobuf + gRCP

make gen-protobuf


make run-generators


The readme is auto-generated from a template and uses the documentation to fill in the blanks.

make gen-readme


The documentation can be build by running the following command from the /docs directory:

make html