@smartledger/bsv
v3.4.0
Published
๐ Complete Bitcoin SV development framework with legally-recognizable DID:web + W3C VC-JWT toolkit, Legal Token Protocol (LTP), Global Digital Attestation Framework (GDAF), StatusList2021 revocation, and 16 flexible loading options. Standards-based crede
Maintainers
Keywords
Readme
SmartLedger-BSV
๐ Complete Bitcoin SV Development Framework with W3C Verifiable Credentials, DID:web, Legal Compliance, and 16 Flexible Loading Options
The most comprehensive and flexible Bitcoin SV library available. NEW in v3.4.0: Legally-recognizable DID:web + VC-JWT toolkit with ES256/ES256K support, StatusList2021 revocation, and BSV anchoring. Choose from 16 different distribution methods: standalone modules, complete bundle, or mix-and-match approach.
๐ v3.4.0 - Legally-Recognizable Credentials
Why This Matters
- โ W3C Standards: Full VC-JWT and DID:web compliance for legal recognition
- โ Enterprise Ready: ES256 (P-256 NIST curve) for regulated industries
- โ Blockchain Native: ES256K (secp256k1) for BSV integration
- โ Revocation Built-in: StatusList2021 standard for credential management
- โ Privacy Preserving: Hash-only BSV anchoring (no PII on-chain)
- โ CLI Tools: Complete command-line interface for credential operations
Quick Start - Issue Your First Verifiable Credential
# Install SmartLedger BSV v3.4.0
npm install @smartledger/[email protected]
# Initialize DID:web issuer (generates ES256 keys)
npx smartledger-bsv didweb init --domain example.com --alg ES256
# Issue a credential
npx smartledger-bsv vc issue \
--issuer did:web:example.com \
--subject did:example:alice \
--types "VerifiableCredential,DriversLicense" \
--claims '{"licenseNumber":"DL123456","class":"C"}' \
> credential.jwt
# Verify the credential
npx smartledger-bsv vc verify credential.jwt
# Anchor hash to BSV (privacy-preserving)
npx smartledger-bsv anchor hash credential.jwt
# Create revocation list
npx smartledger-bsv status create --issuer did:web:example.com > status-list.jwt
# Revoke a credential
npx smartledger-bsv status set --list status-list.jwt --index 42 --status revokedProgrammatic Usage
const bsv = require('@smartledger/bsv')
// Generate DID:web issuer keys
const keys = await bsv.DIDWeb.generateIssuerKeys({ alg: 'ES256' })
// Build DID documents (.well-known/did.json and jwks.json)
const docs = bsv.DIDWeb.buildDidWebDocuments({
domain: 'example.com',
p256: { jwk: keys.publicJwk, kid: keys.kid },
controllerName: 'Example Corp'
})
// Deploy docs.didDocument to https://example.com/.well-known/did.json
// Deploy docs.jwks to https://example.com/.well-known/jwks.json
// Issue a Verifiable Credential as JWT
const result = await bsv.VcJwt.issueVcJwt({
issuerDid: docs.did,
subjectId: 'did:example:alice',
types: ['VerifiableCredential', 'AgeCredential'],
credentialSubject: {
ageOver: 18,
country: 'US'
},
privateJwk: keys.privateJwk,
alg: 'ES256',
kid: keys.kid
})
console.log('VC-JWT:', result.jwt)
// Verify the credential
const verification = await bsv.VcJwt.verifyVcJwt(result.jwt, {
didResolver: async (did) => {
// In production, fetch https://example.com/.well-known/jwks.json
return { jwks: docs.jwks }
},
expectedIssuerDid: docs.did
})
console.log('Valid:', verification.valid)
// Anchor hash to BSV (no PII on-chain)
const hash = bsv.Anchor.sha256Hex(result.jwt)
const anchorPayload = bsv.Anchor.buildAnchorPayload({
kind: 'VC_ANCHOR_SHA256',
hash: hash,
issuerDid: docs.did
})
// Include anchorPayload.json in OP_RETURN
// Later: verify with bsv.Anchor.verifyAnchorHash(originalData, anchorHash)
// Create revocation list (100k credentials)
const statusList = await bsv.StatusList.createStatusList({
issuerDid: docs.did,
privateJwk: keys.privateJwk
})
// Revoke a credential
const updated = await bsv.StatusList.updateStatusList({
listVcJwt: statusList.listVcJwt,
index: 42,
status: 'revoked',
privateJwk: keys.privateJwk
})
// Check revocation status
const status = bsv.StatusList.getCredentialStatusEntry({
listVcJwt: updated.listVcJwt,
index: 42
})
console.log('Status:', status) // 'revoked'๐ฏ 16 Loading Options - Choose Your Approach
Core Modules
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| bsv.min.js | 449KB | Core BSV + SmartContract | unpkg.com/@smartledger/[email protected]/bsv.min.js |
| bsv.bundle.js | 885KB | Everything in one file | unpkg.com/@smartledger/[email protected]/bsv.bundle.js |
๐ W3C Verifiable Credentials (v3.4.0)
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| ๐ข bsv-didweb.min.js | 418KB | DID:web generation | unpkg.com/@smartledger/[email protected]/bsv-didweb.min.js |
| ๐ข bsv-vcjwt.min.js | 418KB | VC-JWT issue/verify | unpkg.com/@smartledger/[email protected]/bsv-vcjwt.min.js |
| ๐ข bsv-statuslist.min.js | 486KB | StatusList2021 revocation | unpkg.com/@smartledger/[email protected]/bsv-statuslist.min.js |
| ๐ข bsv-anchor.min.js | 417KB | BSV anchoring (hash-only) | unpkg.com/@smartledger/[email protected]/bsv-anchor.min.js |
Smart Contract & Development
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| bsv-smartcontract.min.js | 451KB | Complete covenant framework | unpkg.com/@smartledger/[email protected]/bsv-smartcontract.min.js |
| bsv-covenant.min.js | 32KB | Covenant operations | unpkg.com/@smartledger/[email protected]/bsv-covenant.min.js |
| bsv-script-helper.min.js | 27KB | Custom script tools | unpkg.com/@smartledger/[email protected]/bsv-script-helper.min.js |
| bsv-security.min.js | 290KB | Security enhancements | unpkg.com/@smartledger/[email protected]/bsv-security.min.js |
Legal & Compliance
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| bsv-ltp.min.js | 817KB | Legal Token Protocol | unpkg.com/@smartledger/[email protected]/bsv-ltp.min.js |
| bsv-gdaf.min.js | 604KB | Digital Identity & Attestation | unpkg.com/@smartledger/[email protected]/bsv-gdaf.min.js |
Advanced Cryptography
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| bsv-shamir.min.js | 433KB | Threshold Cryptography | unpkg.com/@smartledger/[email protected]/bsv-shamir.min.js |
Utilities
| Module | Size | Use Case | CDN |
|--------|------|----------|-----|
| bsv-ecies.min.js | 71KB | Encryption | unpkg.com/@smartledger/[email protected]/bsv-ecies.min.js |
| bsv-message.min.js | 26KB | Message signing | unpkg.com/@smartledger/[email protected]/bsv-message.min.js |
| bsv-mnemonic.min.js | 670KB | HD wallets | unpkg.com/@smartledger/[email protected]/bsv-mnemonic.min.js |
โก 2-Minute Quick Start
Get started with Bitcoin SV development in under 2 minutes:
# Install via npm
npm install @smartledger/bsv
# Or include in HTML
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>๐ง v3.4.0 Update: Added legally-recognizable W3C Verifiable Credentials with DID:web + VC-JWT toolkit. ES256/ES256K support, StatusList2021 revocation, and privacy-preserving BSV anchoring. Complete CLI tooling included!
Basic Transaction (30 seconds):
const bsv = require('@smartledger/bsv'); // Node.js
// const bsv = window.bsv; // Browser
// 1. Generate keys
const privateKey = new bsv.PrivateKey();
const address = privateKey.toAddress();
// 2. Create transaction
const tx = new bsv.Transaction()
.from(utxo) // Add input
.to(targetAddress, 50000) // Send 50,000 satoshis
.change(address) // Send change back
.sign(privateKey); // Sign transaction
console.log('Transaction ID:', tx.id);๐ Legal Token Development (60 seconds):
// Create legal property token
const propertyToken = bsv.createPropertyToken({
propertyType: 'real_estate',
jurisdiction: 'us_delaware',
legalDescription: 'Lot 15, Block 3, Subdivision ABC',
ownerIdentity: ownerDID
});
// Generate W3C Verifiable Credential
const credential = bsv.createEmailCredential(
issuerDID, subjectDID, '[email protected]', issuerPrivateKey
);
// Threshold cryptography for secure key management
const shares = bsv.splitSecret('private_key_backup', 5, 3); // 5 shares, 3 needed๐ Smart Contract Development (90 seconds):
// Generate authentic UTXOs for testing
const utxoGenerator = new bsv.SmartContract.UTXOGenerator();
const utxos = utxoGenerator.createRealUTXOs(2, 100000);
// Create BIP-143 preimage and extract fields
const preimage = new bsv.SmartContract.Preimage(preimageHex);
const amount = preimage.getField('amount');
// Build covenant with JavaScript-to-Script translation
const covenant = bsv.SmartContract.createCovenantBuilder()
.extractField('amount')
.push(50000)
.greaterThanOrEqual()
.verify()
.build();Next Steps:
- ๐ SmartContract Guide
- โ๏ธ Legal Token Protocol Guide
- ๐ Digital Identity Guide
- ๏ฟฝ Threshold Cryptography Guide
- ๏ฟฝ๏ธ UTXO Manager Guide
- ๐ก Examples Directory
๐ง API Reference
| Component | Method | Purpose | Example |
|-----------|--------|---------|---------|
| Core | new PrivateKey() | Generate private key | const key = new bsv.PrivateKey() |
| | new Transaction() | Create transaction | const tx = new bsv.Transaction() |
| | Script.fromASM() | Parse script | const script = bsv.Script.fromASM('OP_DUP') |
| Covenant | CovenantInterface() | Covenant development | const covenant = new bsv.CovenantInterface() |
| | createCovenantTransaction() | Covenant transaction | covenant.createCovenantTransaction(config) |
| | getPreimage() | BIP143 preimage | covenant.getPreimage(tx, 0, script, sats) |
| Custom Scripts | CustomScriptHelper() | Script utilities | const helper = new bsv.CustomScriptHelper() |
| | createSignature() | Manual signature | helper.createSignature(tx, key, 0, script, sats) |
| | createMultisigScript() | Multi-signature | helper.createMultisigScript([pk1, pk2], 2) |
| Debug Tools | SmartContract.examineStack() | Analyze script | SmartContract.examineStack(script) |
| | interpretScript() | Execute script | SmartContract.interpretScript(script) |
| | getScriptMetrics() | Performance data | SmartContract.getScriptMetrics(script) |
| Security | SmartVerify.verify() | Enhanced verification | SmartVerify.verify(sig, hash, pubkey) |
| | EllipticFixed.sign() | Secure signing | EllipticFixed.sign(hash, privateKey) |
๐ก Tip: All methods include comprehensive error handling and validation. See documentation links for detailed guides.
๐ Quick Start Examples
๐ง Basic Development (476KB total)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-script-helper.min.js"></script>
<script>
const privateKey = new bsv.PrivateKey();
const utxos = new bsv.SmartContract.UTXOGenerator().createRealUTXOs(2, 100000);
</script>๐ Smart Contract Development (932KB total)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-covenant.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-smartcontract.min.js"></script>
<script>
const covenant = bsv.SmartContract.createCovenantBuilder()
.extractField('amount').push(50000).greaterThanOrEqual().verify().build();
const debugInfo = bsv.SmartContract.examineStack(script);
</script>๐ Legal & Identity Development (1.87MB total)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-ltp.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-gdaf.min.js"></script>
<script>
// Legal Token Protocol
const propertyToken = bsv.createPropertyToken({
propertyType: 'real_estate', jurisdiction: 'us_delaware'
});
// Digital Identity
const credential = bsv.createEmailCredential(issuerDID, subjectDID, '[email protected]', key);
</script>๐ Security & Cryptography (1.17MB total)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-security.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-shamir.min.js"></script>
<script>
// Threshold Cryptography
const shares = bsv.splitSecret('my_secret_key', 5, 3); // 5 shares, 3 needed
// Enhanced Security
const verified = bsvSecurity.SmartVerify.verify(signature, hash, publicKey);
</script>๐ฏ Everything Bundle (885KB)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.bundle.js"></script>
<script>
// Everything available immediately
const shares = bsv.splitSecret('secret', 5, 3); // Shamir Secret Sharing
const credential = bsv.createDID(publicKey); // Digital Identity
const propertyToken = bsv.createPropertyToken({...}); // Legal Tokens
const covenant = bsv.SmartContract.createCovenantBuilder(); // Smart Contracts
</script>๐ฏ Key Features
๐ Unique Capabilities (Only Bitcoin Library with These Features)
- โ Legal Token Protocol: Compliant tokenization of real-world assets โ Legal Guide
- โ Digital Identity Framework: W3C Verifiable Credentials and DIDs โ Identity Guide
- โ Threshold Cryptography: Shamir Secret Sharing for secure key management โ Cryptography Guide
- โ Complete Smart Contract Suite: 23+ production-ready covenant features โ SmartContract Guide
๐ผ Core Library Excellence
- โ Complete BSV API: Full Bitcoin SV blockchain operations โ API Reference
- โ Security Hardened: SmartLedger elliptic curve fixes and enhanced validation โ Security Features
- โ Browser + Node.js: Universal compatibility with proper polyfills โ Loading Options
- โ TypeScript Ready: Complete type definitions included
- โ Ultra-Low Fees: 0.01 sats/byte configuration (91% fee reduction)
๐ ๏ธ Advanced Development Tools
- ๐ง JavaScript-to-Script: High-level covenant development with 121 opcode mapping โ Covenant Guide
- ๐ง UTXO Generator: Create authentic test UTXOs for development โ UTXO Guide
- ๐ง Preimage Parser: Complete BIP-143 field extraction and manipulation โ Preimage Tools
- ๏ฟฝ Debug Framework: Script interpreter, stack examiner, and optimizer โ Debug Examples
- ๏ฟฝ PUSHTX Integration: nChain techniques for advanced covenant patterns โ PUSHTX Insights
๐ฆ Flexible Architecture
- ๐ฆ 12 Modular Options: Load only what you need (27KB to 885KB) โ Loading Strategy
- ๐ฆ Standalone Modules: Independent legal, identity, and crypto modules โ Standalone Test
- ๐ฆ Complete Bundle: Everything in one file for convenience โ Bundle Demo
- ๐ฆ CDN Ready: All modules available via unpkg and jsDelivr
- ๐ฆ Webpack Optimized: Tree-shakeable and build-tool friendly
โก Installation & Usage
๐ก Quick Start: Jump to 2-Minute Quick Start for instant setup examples
NPM Installation
# Main package
npm install @smartledger/bsv
# Alternative package name (legacy)
npm install smartledger-bsv๐ Next Steps: After installation, see Loading Options to choose your distribution method
Node.js Usage
const bsv = require('@smartledger/bsv');
// Basic transaction
const privateKey = new bsv.PrivateKey();
const publicKey = privateKey.toPublicKey();
const address = privateKey.toAddress();
// SmartContract debugging
const script = bsv.Script.fromASM('OP_1 OP_2 OP_ADD OP_3 OP_EQUAL');
const metrics = bsv.SmartContract.getScriptMetrics(script);
const stackInfo = bsv.SmartContract.examineStack(script);
// Covenant development
const covenant = new bsv.CovenantInterface();
const contractTx = covenant.createCovenantTransaction({
inputs: [...],
outputs: [...]
});Browser CDN (Choose Your Loading Strategy)
1. Minimal Setup - Core + Script Helper (476KB)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-script-helper.min.js"></script>
<script>
const tx = new bsv.Transaction();
const sig = bsvScriptHelper.createSignature(tx, privateKey, 0, script, satoshis);
</script>2. DeFi Development - Core + Covenants + Debug (932KB)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-covenant.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-smartcontract.min.js"></script>
<script>
const covenant = new bsvCovenant.CovenantInterface();
const debugInfo = SmartContract.interpretScript(script);
const optimized = SmartContract.optimizeScript(script);
</script>3. Security First - Core + Enhanced Security (739KB)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.min.js"></script>
<script src="https://unpkg.com/@smartledger/[email protected]/bsv-security.min.js"></script>
<script>
const verified = bsvSecurity.SmartVerify.verify(signature, hash, publicKey);
const enhanced = bsvSecurity.EllipticFixed.createSignature(privateKey, hash);
</script>4. Everything Bundle - One File Solution (764KB)
<script src="https://unpkg.com/@smartledger/[email protected]/bsv.bundle.js"></script>
<script>
// Everything available under bsv namespace
const keys = bsv.SmartLedgerBundle.generateKeys();
const covenant = new bsv.CovenantInterface();
const message = new bsv.Message('Hello BSV');
const encrypted = bsv.ECIES.encrypt('secret', publicKey);
</script>
## ๐จ Basic Usage
### Creating Transactions
```javascript
const bsv = require('@smartledger/bsv');
// Create transaction with optimized fees
const transaction = new bsv.Transaction()
.from({
txId: 'prev_tx_id',
outputIndex: 0,
script: 'prev_locking_script',
satoshis: 100000
})
.to('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 95000)
.feePerKb(10) // Ultra-low fee: 0.01 sats/byte
.sign(privateKey);
console.log('Transaction ID:', transaction.id);
console.log('Fee rate: 0.01 sats/byte (91% reduction)');UTXO Management
// Advanced UTXO state management
const utxoManager = {
createWithChange: (inputs, outputs, changeAddress) => {
const tx = new bsv.Transaction()
.from(inputs)
.to(outputs.address, outputs.amount)
.change(changeAddress)
.feePerKb(10);
// Automatic change output creation and UTXO state update
return tx;
}
};๐ Advanced Features (Unique to SmartLedger-BSV)
โ๏ธ Legal Token Protocol (LTP)
const bsv = require('@smartledger/bsv');
// Create property rights token
const propertyToken = bsv.createPropertyToken({
propertyType: 'real_estate',
jurisdiction: 'us_delaware',
legalDescription: 'Lot 15, Block 3, Subdivision ABC',
ownerIdentity: ownerDID,
attestations: [titleAttestation, valuationAttestation]
});
// Create obligation token
const obligation = bsv.createObligationToken({
obligationType: 'payment',
amount: 100000, // satoshis
dueDate: '2025-12-31',
creditor: creditorDID,
debtor: debtorDID
});
// Validate legal compliance
const compliance = bsv.validateLegalCompliance(propertyToken, 'us_delaware');
console.log('Legally compliant:', compliance.isValid);๐ Global Digital Attestation Framework (GDAF)
// Simple Interface - Direct from bsv object
const issuerDID = bsv.createDID(privateKey.toPublicKey());
// Create W3C Verifiable Credentials
const emailCredential = bsv.createEmailCredential(
issuerDID, subjectDID, '[email protected]', issuerPrivateKey
);
// Generate zero-knowledge proofs
const proof = bsv.generateSelectiveProof(
emailCredential,
['credentialSubject.verified'],
nonce
);
// Verify age without revealing exact age
const ageProof = bsv.generateAgeProof(credential, 18);
const isAdult = bsv.verifyAgeProof(ageProof, 18, issuerDID);
// Advanced Interface for complex applications
const gdaf = new bsv.GDAF({
anchor: { network: 'mainnet' },
attestationSigner: { customConfig: true }
});๐ Shamir Secret Sharing
// Split secret into threshold shares
const secret = 'my_private_key_backup';
const shares = bsv.splitSecret(secret, 5, 3); // 5 shares, need 3 to reconstruct
console.log('Generated', shares.length, 'shares');
shares.forEach((share, i) => {
console.log(`Share ${i + 1}:`, share);
});
// Reconstruct secret from any 3 shares
const reconstructed = bsv.reconstructSecret([shares[0], shares[2], shares[4]]);
console.log('Secret recovered:', reconstructed === secret);
// Validate share integrity
shares.forEach((share, i) => {
const isValid = bsv.validateShare(share);
console.log(`Share ${i + 1} valid:`, isValid);
});
// Use cases: Key backup, multi-party security, recovery systems๐ Covenant Framework
JavaScript-to-Bitcoin Script Translation
const { CovenantBuilder, CovenantTemplates } = require('@smartledger/bsv/lib/smart_contract');
// Write covenant logic in JavaScript
const valueLock = CovenantTemplates.valueLock('50c3000000000000');
const script = valueLock.build();
console.log(script.cleanedASM);
// Output: OP_SIZE 34 OP_SUB OP_SPLIT OP_DROP OP_8 OP_SPLIT OP_DROP 50c3000000000000 OP_EQUALVERIFY OP_1
// Custom covenant builder
const custom = new CovenantBuilder()
.comment('Validate preimage value field')
.extractField('value')
.push('50c3000000000000')
.equalVerify()
.push(1);Complete Opcode Mapping (121 Opcodes)
const SmartContract = require('@smartledger/bsv/lib/smart_contract');
// Simulate script execution in JavaScript
const result = SmartContract.simulateScript(['OP_1', 'OP_2', 'OP_ADD', 'OP_3', 'OP_EQUAL']);
console.log(result.finalStack); // ['01'] - TRUE
// Get comprehensive opcode information
const opcodes = SmartContract.getOpcodeMap();
console.log(Object.keys(opcodes).length); // 121 opcodes mappedBIP143 Preimage Parsing
const { CovenantPreimage } = require('@smartledger/bsv/lib/covenant-interface');
// Enhanced preimage parsing with field-by-field access
const preimage = new CovenantPreimage(preimageHex);
console.log('Version:', preimage.nVersionValue); // uint32 accessor
console.log('Amount:', preimage.amountValue); // BigInt accessor
console.log('Valid structure:', preimage.isValid); // Boolean validationPUSHTX Covenants (nChain WP1605)
const { CovenantInterface } = require('@smartledger/bsv/lib/covenant-interface');
const covenant = new CovenantInterface();
// Create PUSHTX covenant with in-script signature generation
const pushtxCovenant = covenant.createAdvancedCovenant('pushtx', {
publicKey: '0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
enforceOutputs: true,
sighashType: 0x41
});Perpetually Enforcing Locking Scripts (PELS)
// Create perpetual covenant that enforces rules across all future transactions
const pels = covenant.createAdvancedCovenant('perpetual', {
publicKeyHash: '751e76e8199196d454941c45d1b3a323f1433bd6',
feeDeduction: 512,
enforceScript: true,
enforceValue: true
});๐ ๏ธ Custom Scripts
Multi-signature Scripts
const { CustomScriptHelper } = require('@smartledger/bsv/lib/custom-script-helper');
const helper = new CustomScriptHelper();
// Create 2-of-3 multisig script
const multisigScript = helper.createMultisigScript([
publicKey1, publicKey2, publicKey3
], 2);Timelock Contracts
// Create timelock script (block height)
const timelockScript = helper.createTimelockScript(
publicKey,
750000, // block height
'block'
);๏ฟฝ Examples
Basic Examples
- Advanced Covenant Demo: Complete covenant showcase
- Custom Script Tests: Script development examples
- Covenant Resolution: Working covenant patterns
Documentation
- Advanced Covenant Development: Complete BIP143 + PUSHTX guide
- Custom Script Development: Script creation patterns
- Covenant Development Resolved: Problem solutions
๐ง CDN Bundles
| Bundle | Size | Description |
|--------|------|-------------|
| bsv.bundle.js | 684KB | Complete library with all features |
| bsv.min.js | 364KB | Minified production version |
| bsv-ecies.min.js | 145KB | ECIES encryption only |
| bsv-message.min.js | 120KB | Message signing only |
| bsv-mnemonic.min.js | 98KB | Mnemonic handling only |
๐ Security
Enhanced Security Features
- Elliptic Curve Fix: Updated to secure [email protected]
- Parameter Fixing: Public key, ephemeral key, sighash flag validation
- DER Canonicalization: Transaction malleability prevention
- Preimage Validation: Complete BIP143 structure verification
๐ Changelog
v3.2.0 - JavaScript-to-Bitcoin Script Framework
- โ Complete JavaScript-to-Bitcoin Script translation system
- โ 121 Bitcoin Script opcodes mapped to JavaScript functions
- โ High-level CovenantBuilder API for rapid development
- โ Real-time script simulation and debugging capabilities
- โ Template-based covenant patterns library
- โ Automatic ASM generation from JavaScript operations
- โ Enhanced documentation and comprehensive examples
v3.1.1 - Advanced Covenant Framework
- โ Enhanced covenant interface with BIP143 + PUSHTX support
- โ Perpetually Enforcing Locking Scripts (PELS) implementation
- โ Transaction introspection with preimage analysis
- โ Comprehensive documentation and examples
v3.0.2 - Custom Script Framework
- โ Complete custom script development API
- โ Multi-signature, timelock, and conditional script support
- โ Transaction signature API gap resolution
v3.0.1 - Ultra-Low Fee System
- โ 0.01 sats/byte fee configuration (91% reduction)
- โ Advanced UTXO state management
- โ Change output optimization
๐ License
๐ Complete Documentation
๐ Getting Started
- 2-Minute Quick Start - Get up and running fast
- Loading Options - Choose your distribution method
- API Reference - Quick method lookup
- Installation Guide - npm, CDN, and browser setup
๐ฏ Development Guides
- Advanced Covenant Development - Complete BIP143 + PUSHTX guide
- Custom Script Development - Multi-sig, timelock, and custom patterns
- Covenant Development Resolved - Solutions to common issues
- PUSHTX Key Insights - nChain research implementation
๐ง Technical Resources
- SmartContract Integration - Debug tools and analysis
- Examples Directory - Working code samples
- Test Suite - Comprehensive testing examples
- Build System - Webpack configurations
๐ Loading Strategy Examples
| Use Case | Recommended Load | Size | Features |
|--------------|---------------------|----------|--------------|
| Simple Transactions | bsv.min.js | 449KB | Core BSV + SmartContract |
| DeFi Development | Core + Covenant + Debug | 932KB | Advanced contracts + tools |
| Enterprise Apps | bsv.bundle.js | 764KB | Everything included |
| Mobile/Lightweight | Core + Script Helper | 476KB | Essential tools only |
| Research/Analysis | Core + SmartContract | 900KB | Full debug capabilities |
๐ Cross-References
From Quick Start โ Deep Dive:
- Basic Transaction โ Transaction API
- Covenant Example โ Advanced Covenant Guide
- API Reference โ Method Documentation
From Examples โ Implementation:
- Covenant Examples โ Production Guide
- Script Examples โ Custom Script Guide
- Test Files โ Integration Examples
From Concepts โ Code:
- PUSHTX Theory โ Covenant Implementation
- Security Features โ Implementation
- Debug Tools โ Usage Examples
๐ Learning Path
- Start: 2-Minute Quick Start
- Practice: Examples Directory
- Build: Custom Script Guide
- Advanced: Covenant Development
- Deploy: Production Guidelines
๏ฟฝ Complete Documentation
๐ Getting Started Guides
- ๐ UTXO Manager Guide - Complete UTXO management and mock generation
- ๐ Smart Contract Guide - Comprehensive covenant development
- ๐ ๏ธ Custom Script Development - Build custom Bitcoin scripts
- ๐ Advanced Covenant Development - Production-ready covenants
๐ Advanced Features Documentation
- โ๏ธ Legal Token Protocol Guide - Property rights & obligation tokens
- ๐ Digital Attestation Guide - DIDs & verifiable credentials
- ๐ Shamir Secret Sharing Guide - Threshold cryptography & key backup
- ๐ก๏ธ Security Features - Enhanced validation & smart verification
๐ Technical References
- ๐ Module Reference - All 12 modules explained
- ๐ Documentation Review Report - Comprehensive analysis
- ๐ API Reference - Complete API documentation
- ๐ง Integration Guide - Smart contract integration
๐ Examples & Demos
- ๏ฟฝ Interactive Demos - NEW! HTML & Node.js smart contract demos
- ๏ฟฝ๐ Examples Directory - Working code examples
- ๐ฏ Basic Examples - Simple transactions & addresses
- ๐ Covenant Examples - Smart contract patterns
- ๐ Advanced Examples - Production patterns
๐ฎ Try the Interactive Demos:
# Terminal-based interactive demo
npm run demo
# Or run specific features
npm run demo:basics # Library basics & tests
npm run demo:covenant # Covenant builder
npm run demo:preimage # BIP-143 preimage parser
npm run demo:utxo # UTXO generator
npm run demo:scripts # Script tools
# Web-based demo (open in browser)
npm run demo:web๐ Troubleshooting & Support
- ๐ Complete Documentation - Organized documentation hub
- โ Issues & Solutions - Community support
- ๐ Status Reports - Latest updates
- ๐ Security Policy - Security guidelines
- ๐ Changelog - Version history
๏ฟฝ๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ค Contributing
We welcome contributions to SmartLedger-BSV! Please see our Contributing Guide for details.
๐ข Enterprise Support
- GitHub: github.com/codenlighten/smartledger-bsv
- NPM: @smartledger/bsv
- Issues: GitHub Issues
- Documentation: Complete Docs
SmartLedger-BSV v3.3.4 - Complete Bitcoin SV Development Framework
Built with โค๏ธ for the Bitcoin SV ecosystem โข 9 Loading Options โข Enterprise Ready
