Skip to content

dashpay/base-sdk

Repository files navigation

GitHub License Minimum Supported Rust Version

Warning

This SDK is in early stages of development and different crates may have different levels of conformance and testing rigour. The completeness of one crate does not imply the completeness of others.

As with any alternate implementation, unintended deviations from the reference implementation (i.e. Dash Core) are possible and must be accounted for as a risk when building on this SDK. If requirements demand strict conformance guarantees, it is recommended to interface with Dash Core through RPC, REST or ZMQ instead.

base-sdk is a parsing and stateless verification SDK for Dash's layer 1 blockchain.

Crates

Crate Description CI (develop) Coverage
dash-num Hash blobs, 256-bit arithmetic, compact target encoding dash-num dash-num
dash-p2p-core P2P message types and wire format dash-p2p-core dash-p2p-core
dash-params Chain parameters for mainnet, testnet3, and regtest dash-params dash-params
dash-pkc BLS (legacy + IETF) and secp256k1 operations dash-pkc dash-pkc
dash-pow Proof of work scheme dash-pow dash-pow
dash-primitives Blocks, transactions, payloads, governance objects dash-primitives dash-primitives
dash-script Script opcodes, classification, and address derivation dash-script dash-script

Dependencies

Note

Solid lines are build dependencies. Dotted lines are test dependencies.

graph LR
  subgraph " "
    num[dash-num]
    script[dash-script]
  end
  subgraph "  "
    pow[dash-pow]
    pkc[dash-pkc]
    primitives[dash-primitives]
  end
  subgraph "   "
    params[dash-params]
    p2p_core[dash-p2p-core]
  end

  num --> pow
  num --> pkc
  num --> primitives
  script --> primitives
  pow -.-> primitives
  primitives --> params
  num --> params
  pow -.-> params
  primitives --> p2p_core
  params --> p2p_core
  num --> p2p_core
Loading

Features

All crates support these standard features:

Feature Description Crates
default no_std + alloc (always enabled) All
std Enable standard library support All
serde Enable serde serialization (where applicable) pkc
full Enables all non-conflicting features All

Specific crates define additional features:

Feature Description Crates
k256 Enable secp256k1 support pkc
bls_ietf Enable standard (IETF) BLS support pkc
bls_chia Enable legacy (Chia) BLS support pkc
_internal Access to package internals, reserved for testing and benchmarks. Not part of API contract. pow
aes_hw Enable hardware-accelerated AES on supported platforms pow
simd Use SIMD backends (requires nightly) pow

License

Copyright © 2026-present, The Dash Core developers. See the accompanying file LICENSE or https://opensource.org/license/MIT

About

A parsing and stateless verification SDK for Dash

Resources

License

Stars

Watchers

Forks