NDS-API
Cross-language protocol specification and SDKs for NoieDigitalSystem (NDS).
NDS-API provides:
- Protocol Buffers definitions (canonical schema)
- Java SDK (Java 21) and .NET SDK (.NET 10) for protocol types and adapters
- Go / TypeScript / Python / Rust / Ruby generated protocol types (protobuf DTOs)
NDS-API does not provide:
- database/storage implementations
- networking/transport implementations
Repository layout
-
spec/— Protocol Buffers schema and protocol documentation -
java/— Java SDK -
csharp/— .NET SDK -
Go/— Go protobuf types (generated) -
Cpp/— C++ protobuf types (generated) -
TypeScript/— TypeScript protobuf types (generated, published to npm) -
Python/— Python protobuf types (generated, published to PyPI) -
Rust/— Rust protobuf types (generated, published to crates.io) -
Ruby/— Ruby protobuf types (generated, published to RubyGems) -
docs/— Documentation index
Install
Java
Use the latest published version shown on Maven Central.
Gradle (Kotlin)
repositories { mavenCentral() }
dependencies { implementation("io.github.misty4119:noiedigitalsystem-api:<VERSION>") }Maven
<dependency>
<groupId>io.github.misty4119</groupId>
<artifactId>noiedigitalsystem-api</artifactId>
<version><!-- see Maven Central --></version>
</dependency>.NET (C#)
Use the latest published version shown on NuGet.
dotnet add package Noie.Nds.ApiIf you only need interfaces and core types:
dotnet add package Noie.Nds.Api.AbstractionsTypeScript
npm i @misty4119/nds-apiPython
pip install noie-nds-apiRust
cargo add noie-nds-apiRuby
gem install noie-nds-apiProtocol packages
Proto packages are organized by domain under spec/proto/nds/.
- Unversioned packages (compatibility/stable contract):
nds.common,nds.identity,nds.asset,nds.event,nds.transaction,nds.context,nds.query,nds.projection, ... - Versioned packages (long-term coexistence):
nds.common.v1,nds.identity.v1,nds.event.v1,nds.ledger.v1,nds.sync.v1,nds.metadata.v1,nds.memory.v1
See spec/docs/README.md for the protocol documentation entry point.
Developer documentation
- General guide (EN):
DEVELOPER_GUIDE.md - General guide (繁體中文):
DEVELOPER_GUIDE_TW.md
Local verification (optional)
If you vendor the protocol and want to verify locally:
cd spec/proto
buf lint
cd ../..
.\gradlew.bat :java:build
dotnet test .\csharp\Noie.Nds.sln -c ReleaseLicense
Apache License 2.0
Last updated: 2026-01-31