From dash-platform
Dash Platform development — data contracts, Rust SDK (dash-sdk, dpp), JS SDK (@dashevo/evo-sdk, wasm-dpp), gRPC, identities, documents. Use when working with Dash Platform in any language.
npx claudepluginhub lklimek/agents --plugin claudashThis skill uses the workspace's default tool permissions.
Assist with Dash Platform development: data contracts, Rust SDK, JS/TS SDK, identities, documents, and queries.
Builds production-ready Web3 applications, smart contracts, and decentralized systems. Implements DeFi protocols, NFT platforms, DAOs, and enterprise blockchain integrations.
Builds production-ready Web3 apps, smart contracts in Solidity/Rust/Vyper, and decentralized systems for DeFi, NFTs, DAOs across Ethereum L2s, Solana, Cosmos.
Share bugs, ideas, or general feedback.
Assist with Dash Platform development: data contracts, Rust SDK, JS/TS SDK, identities, documents, and queries.
In dashpay/platform repo: bash scripts/setup-ai-agent-environment.sh
Rust — not on crates.io, use git dep:
[dependencies]
dash-sdk = { git = "https://github.com/dashpay/platform", branch = "master" }
dpp = { git = "https://github.com/dashpay/platform", branch = "master" }
JS/TS:
npm install @dashevo/evo-sdk
lexicon/ contains keyword lookup tables for Dash Platform APIs. To answer questions:
lexicon/*.md file for keywords matching the user's querySrc or Docs column link in matching rows| File | Content |
|---|---|
lexicon/rust.md | Rust SDK types, functions, patterns (2700+ entries, includes dapi-grpc bindings) |
lexicon/js.md | JS SDK types, functions, patterns |
lexicon/contract.md | data contract types, JSON Schema, DPP, document types |
lexicon/grpc.md | gRPC services, messages, endpoints |
Link prefixes:
| Pre | URL |
|---|---|
P: | https://github.com/dashpay/platform/blob/master/packages/ |
R: | https://dashpay.github.io/platform/api/rust/ |
G: | https://dashpay.github.io/platform/api/grpc/ |
B: | https://dashpay.github.io/platform/ |
T: | https://github.com/dashpay/dash-evo-tool/blob/master/ |
Y: | https://github.com/PastaPastaPasta/yappr/blob/master/ |
D: | https://github.com/PastaPastaPasta/dash-bridge/blob/master/ |
E: | https://github.com/dashpay/evo-sdk-website/blob/master/ |
Each type defines:
type: "object" + properties (JSON Schema)indices — index definitions for Platform queriesrequired — required fieldsadditionalProperties: false, $comment, transient, documentsKeepHistoryContractDefaultname + properties array (each: name + asc/desc)unique: true for uniqueness constraints$ownerId, $createdAt, $updatedAtMaps names → identities:
domain type: label, normalizedLabel, normalizedParentDomainName, recordspreorder type: commit-reveal registrationadditionalProperties: false| Type | Crate | Purpose |
|---|---|---|
Sdk / SdkBuilder | dash-sdk | Entrypoint, builder pattern |
Identity | dpp | Platform identity with keys |
DataContract | dpp | JSON Schema contract def |
Document | dpp | Data instance in contract |
Identifier | dpp | 32-byte platform object ID |
AddressList | dash-sdk | DAPI masternode addresses |
use dash_sdk::platform::{Fetch, FetchMany, Identifier};
let identity = Identity::fetch(&sdk, id).await?; // Ok(None) if missing
let docs = Document::fetch_many(&sdk, query).await?;
DriveQuery → where clauses, order, limit → convert to DocumentQuerytokiodash_sdk::Error — connection, proof failure, broadcast failure, query errorsdash-evo-tool demonstrates: identity registration, DPNS names, contract CRUD, document CRUD, tokens, multi-network support.
Deprecated: js-dash-sdk /
dashnpm package — Thejs-dash-sdk(npm:dash) is deprecated and unsupported, replaced byjs-evo-sdk(npm:@dashevo/evo-sdk). If you encounterrequire('dash'),new Dash.Client(), orjs-dash-sdkimports: alert the user, recommend migrating to@dashevo/evo-sdk, and do NOT generate new code using the legacy package.
import { EvoSDK } from '@dashevo/evo-sdk';
const client = new EvoSDK({
network: 'testnet',
wallet: { mnemonic: '...' },
});
await client.connect();
// Identity
const identity = await client.platform.identities.register();
await client.platform.identities.get(identityId);
// Contract
const contract = await client.platform.contracts.create({
note: { type: 'object', properties: { message: { type: 'string', maxLength: 256 } }, additionalProperties: false }
}, identity);
await client.platform.contracts.publish(contract, identity);
// Document
const doc = await client.platform.documents.create('contractId.note', identity, { message: 'Hello' });
await client.platform.documents.broadcast({ create: [doc] }, identity);
const docs = await client.platform.documents.get('contractId.note', {
where: [['$ownerId', '==', identity.getId()]], orderBy: [['$createdAt', 'desc']]
});
// DPNS
await client.platform.names.register('alice.dash', { dashUniqueIdentityId: identity.getId() }, identity);
const name = await client.platform.names.resolve('alice.dash');
import { DashPlatformProtocol } from '@dashevo/wasm-dpp';
const dpp = new DashPlatformProtocol();
Provides: contract/document validation, state transition creation/signing, identity key management.
Pure JS SDK has NO client-side proof verification. For security-critical apps use wasm-sdk (has proofs) or validate server-side with Rust SDK.
Built-in: HD derivation from mnemonic, UTXO management, tx creation/broadcasting, balance queries.
PastaPastaPasta/yappr — social app, document CRUDPastaPastaPasta/dash-bridge — bridge applicationdashpay/evo-sdk-website — SDK docs with examples