Multi-language SDK for Constellation Network metagraphs built with the metakit framework.
Scope:
- Data transactions for metakit-based metagraphs
- Currency transactions (metagraph token transfers)
- Network operations for L1 node interactions
- Compatibility: This SDK implements metakit's standardized serialization and may not be compatible with data metagraphs using custom routines.
| Language | Package | Documentation |
|---|---|---|
| TypeScript | @constellation-network/metagraph-sdk | README |
| Python | constellation-metagraph-sdk | README |
| Rust | constellation-metagraph-sdk | README |
| Go | github.com/Constellation-Labs/metakit-sdk/packages/go | README |
| Java | io.constellationnetwork:metagraph-sdk | README |
- Data Transactions - Sign and verify data for metakit-based metagraphs with multi-signature support
- Currency Transactions - Create, sign, and verify metagraph token transfers
- Network Operations - Submit transactions and query L1 nodes (Currency L1 and Data L1)
- Cryptography - ECDSA on secp256k1, SHA-256/SHA-512 hashing, DER signature encoding
- Cross-SDK Compatibility - All implementations produce identical results, validated against shared test vectors
See the package-specific READMEs for installation instructions and API documentation:
- TypeScript - Node.js and browser support
- Python - Python 3.10+
- Rust - Safe and performant
- Go - Simple and efficient
- Java - JVM 11+
- Node.js 18+ (TypeScript)
- Python 3.10+ (Python)
- Rust 1.70+ (Rust)
- Go 1.18+ (Go)
- Java 11+ and Maven 3.8+ (Java)
- Make (standard on Linux/macOS)
git clone https://github.com/Constellation-Labs/metakit-sdk.git
cd metakit-sdk
make install # Install all dependencies
make test # Run all tests
make lint # Lint all packages
make format # Format all code
make help # Show all available commandsAll SDKs are validated against shared test vectors in /shared/test_vectors.json. This ensures:
- Canonicalization produces identical output across all languages
- Hashing produces identical digests
- Signatures created in one language verify in all others
Releases are triggered by pushing tags:
git tag -a typescript-v1.0.0 -m "TypeScript SDK v1.0.0"
git push origin typescript-v1.0.0See docs/PUBLISHING.md for complete setup instructions.
See CONTRIBUTING.md for guidelines.
Apache-2.0