Sign inSign up

blinklabs/dingo

By blinklabs

•Updated about 1 hour ago

Dingo is a Cardano blockchain data node

Image
0

100K+

blinklabs/dingo repository overview

⁠Dingo

Dingo Logo
GitHub Go Reference Discord

⚠️ WARNING: Dingo is under heavy active development and is not yet ready for mainnet block production use. It should only be used on testnets (preview, preprod, musashi, dijkstra) and devnets. Do not use Dingo on mainnet for block production with real funds.

Dingo is Blink Labs' Cardano node implementation in Go. It implements the Ouroboros networking and consensus protocols, validates ledger state, and provides pluggable storage and client interfaces.

⁠Documentation by audience

⁠Codebase

AreaLocation
Application composition and CLInode.go, internal/node/, cmd/dingo/
Ledger validation and stateledger/, ledgerstate/
Ouroboros protocols and peer managementouroboros/, connmanager/, peergov/, topology/
Persistence and transaction pooldatabase/, mempool/
Client APIs and Dingo archive serviceapi/, bark/

⁠Build and test

The @blinklabs/dingo NPM package installs the matching release binary for Linux, FreeBSD or macOS on amd64/arm64. It requires Node.js 22 or later and tar. Run it with npx @blinklabs/dingo --help, or install it with npm install --global @blinklabs/dingo and run dingo --help. Arguments, exit codes and termination signals are passed to the release binary. Installation fails if the platform has no released binary or the archive cannot be fetched and extracted. If install scripts were disabled for a global installation, npm rebuild --global @blinklabs/dingo runs the installer.

npm test checks the packed package and local, global and npx invocation using an isolated release archive fixture.

Use Go 1.26 or later and make:

make build
./dingo --help
./dingo devnet

# Keep the chain between runs, then reset it when needed:
./dingo devnet --data-dir ./.dingo-devnet
./dingo devnet --data-dir ./.dingo-devnet --reset

The npm package supports the same commands, including npx @blinklabs/dingo devnet --data-dir ./.dingo-devnet.

dingo devnet writes test funding credentials to cardano/keys/ under its state directory: faucet.skey, faucet.vkey, and faucet.addr. The faucet address starts with 900,000 test ADA; use its signing key to make transactions on network magic 42. With the persistent command above, read the address with cat ./.dingo-devnet/cardano/keys/faucet.addr. Without --data-dir, the files are in the temporary directory printed at startup and are removed on exit. These public test keys must never hold real funds. See the local DevNet guide⁠ for details.

Run the test suite with race detection using make test. See the development guide⁠ for repository checks, integration environments, and profiling. For basic node setup and usage, follow the operator quick start⁠.

⁠Repository documentation

Tag summary

Content type

Image

Digest

sha256:effa185ae…

Size

233.9 MB

Last updated

about 1 hour ago

docker pull blinklabs/dingo:0.90.0-antithesis