@odatano/core
v1.10.0
Published
SAP CAP plugin for Cardano blockchain OData V4 integration
Maintainers
Readme

Enterprise OData Services for the Cardano Blockchain
Funded by Cardano Catalyst Fund 14 all four milestones completed and approved (April 2026).
ODATANO is an SAP CAP–based service that exposes the Cardano blockchain via a standardized OData V4 interface, enabling enterprise-grade read and write access with native transaction building.
Quick Start
As CAP Plugin (recommended)
Add ODATANO to any existing SAP CAP project:
npm install @odatano/core @cap-js/sqlite{
"cds": {
"requires": {
"db": { "kind": "sqlite" },
"odatano-core": {
"network": "preview",
"backends": ["blockfrost"],
"blockfrostApiKey": "preview_your_api_key_here"
}
}
}
}cds deploy --to sqlite
cds serveSelf-hosted Blockfrost-compatible node? (Dolos MiniBF, Demeter Self-Hosted) Set
blockfrostCustomBackendto the node's base URL (e.g.http://localhost:3010/api/v0). When set,blockfrostApiKeybecomes optional. See the Backend Configuration Guide.
Standalone
Run ODATANO as a self-contained service (no host CAP project needed):
git clone https://github.com/ODATANO/ODATANO && cd ODATANO
npm ci
cp .env.example .env # set BLOCKFROST_API_KEY, NETWORK, BACKENDS
cds deploy --to sqlite
cds serveOr with Docker — this brings up a local cardano-node + Ogmios + ODATANO stack (Preview), with the service pre-wired to the local Ogmios backend:
docker compose up -d # full stack
docker compose up -d cardano-node ogmios # just the chain backend (pre-sync)
docker compose logs -f ogmios # watch sync (/health: 202 syncing, 200 near tip)First sync from genesis takes hours; the node DB persists in a Docker volume so restarts resume. Until Ogmios catches up, historical queries fall back to Blockfrost (set
BLOCKFROST_API_KEY).
Service available at http://localhost:4004. See the Quick Start Guide for the local Ogmios stack and full details.
Dev Mode: Mocked Authentication
Heads-up.
cds serveuses CAP's mocked auth:@requires: 'authenticated-user'accepts any Basic-Auth header against a mock user (alice,bob, …) — passwords are not checked. Anonymous requests get 401, but anyone reaching the port can authenticate.Production needs the
[production]profile (NODE_ENV=production), which switches toauth: xsuaa. Don't expose a dev-mode instance. See the Security Guide.
Documentation
| Guide | Description | |-------|-------------| | Quick Start | Get running in 5 minutes | | User Guide | API usage, entities, and examples | | Developer Guide | Architecture and development | | Transaction Workflow | Build → Sign → Submit flow | | Security Guide | Authentication, signing security, HSM | | Docker Deployment | Container deployment |
License
Apache License 2.0 - see LICENSE
Support
- Issues: GitHub Issues
- Project Lead: Max Weber
- Contact: [email protected]
