Skip to content

Constellation-Labs/metakit-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Constellation Metagraph SDK

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.

CI npm version PyPI version Crates.io

Packages

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

Features

  • 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

Installation & Usage

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+

Development

Prerequisites

  • 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)

Setup

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 commands

Cross-Language Compatibility

All 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

Releasing

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.0

See docs/PUBLISHING.md for complete setup instructions.

Contributing

See CONTRIBUTING.md for guidelines.

License

Apache-2.0

About

Client-side library for building cryptographic functionality that is compatible with metagraphs built upon the metakit framework

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors