TypeScript SDK for the Proof-of-Commitment staking and governance protocol
npm install @proof-of-commitment/sdkviem PublicClient/WalletClient pair.
bash
npm install @proof-of-commitment/sdk viem
`
Quick Start
`ts
import { createPublicClient, createWalletClient, http } from 'viem';
import { lisk } from 'viem/chains';
import { ProofOfCommitmentSDK } from '@proof-of-commitment/sdk';
const publicClient = createPublicClient({ chain: lisk, transport: http() });
const walletClient = createWalletClient({ chain: lisk, transport: http(), account });
const sdk = new ProofOfCommitmentSDK({ publicClient, walletClient });
const stats = await sdk.staking.getProtocolStats();
await sdk.staking.stake({ amount: '100', lockDays: 30 });
const proposals = await sdk.governance.listProposals();
`
Packages
- staking – approvals, staking flows, rewards, and protocol stats
- governance – proposal lifecycle helpers and voting power utilities
- analytics – opinionated aggregations (user overview + protocol overview)
- nft – helpers for NFT-backed stake data
Building Locally
`bash
cd sdk
npm install
npm run build
`
This produces ESM + CJS bundles with type declarations inside dist/`.