@smartledger/bsv 3.2.1 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +147 -0
- package/README.md +289 -55
- package/architecture_demo.js +247 -0
- package/bsv-covenant.min.js +10 -0
- package/bsv-gdaf.min.js +37 -0
- package/bsv-ltp.min.js +37 -0
- package/bsv-script-helper.min.js +10 -0
- package/bsv-security.min.js +31 -0
- package/bsv-shamir.min.js +12 -0
- package/bsv-smartcontract.min.js +37 -0
- package/bsv.bundle.js +9 -9
- package/bsv.min.js +3 -3
- package/build/bsv-covenant.min.js +10 -0
- package/build/bsv-script-helper.min.js +10 -0
- package/build/bsv-security.min.js +31 -0
- package/build/bsv-smartcontract.min.js +39 -0
- package/build/bsv.bundle.js +39 -0
- package/build/bsv.min.js +39 -0
- package/build/webpack.bundle.config.js +22 -0
- package/build/webpack.config.js +18 -0
- package/build/webpack.covenant.config.js +27 -0
- package/build/webpack.gdaf.config.js +54 -0
- package/build/webpack.ltp.config.js +17 -0
- package/build/webpack.script-helper.config.js +27 -0
- package/build/webpack.security.config.js +23 -0
- package/build/webpack.smartcontract.config.js +25 -0
- package/build/webpack.subproject.config.js +6 -0
- package/bundle-entry.js +341 -0
- package/complete_ltp_demo.js +511 -0
- package/covenant-entry.js +44 -0
- package/docs/pushtx-key-insights.md +106 -0
- package/gdaf-entry.js +54 -0
- package/index.js +272 -5
- package/lib/crypto/shamir.js +360 -0
- package/lib/gdaf/attestation-signer.js +461 -0
- package/lib/gdaf/attestation-verifier.js +600 -0
- package/lib/gdaf/did-resolver.js +382 -0
- package/lib/gdaf/index.js +471 -0
- package/lib/gdaf/schema-validator.js +682 -0
- package/lib/gdaf/smartledger-anchor.js +486 -0
- package/lib/gdaf/zk-prover.js +507 -0
- package/lib/ltp/anchor.js +438 -0
- package/lib/ltp/claim.js +1026 -0
- package/lib/ltp/index.js +470 -0
- package/lib/ltp/obligation.js +945 -0
- package/lib/ltp/proof.js +828 -0
- package/lib/ltp/registry.js +702 -0
- package/lib/ltp/right.js +765 -0
- package/lib/smart_contract/API_REFERENCE.md +1 -1
- package/lib/smart_contract/EXAMPLES.md +2 -2
- package/lib/smart_contract/QUICK_START.md +2 -2
- package/lib/smart_contract/README.md +1 -1
- package/lib/smart_contract/index.js +4 -0
- package/ltp-entry.js +92 -0
- package/package.json +91 -20
- package/script-helper-entry.js +49 -0
- package/security-entry.js +70 -0
- package/shamir-entry.js +173 -0
- package/shamir_demo.js +121 -0
- package/simple_demo.js +204 -0
- package/smartcontract-entry.js +133 -0
- package/test_shamir.js +221 -0
- package/test_standalone_shamir.html +83 -0
- package/tests/bundle-completeness-test.html +131 -0
- package/tests/bundle-demo.html +476 -0
- package/tests/smartcontract-test.html +239 -0
- package/tests/standalone-modules-test.html +260 -0
- package/tests/test.html +612 -0
- package/tests/unpkg-demo.html +194 -0
- package/docs/nchain.md +0 -958
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,153 @@ All notable changes to SmartLedger-BSV will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.3.0] - 2025-10-22
|
|
9
|
+
|
|
10
|
+
### 🚀 MAJOR RELEASE: Legal Token Protocol (LTP) & Global Digital Attestation Framework (GDAF)
|
|
11
|
+
|
|
12
|
+
#### Revolutionary Legal Token Protocol Framework
|
|
13
|
+
- **Complete Legal Token Protocol (LTP)**: 6-module comprehensive legal framework
|
|
14
|
+
- **lib/ltp/anchor.js**: Blockchain anchoring preparation primitives
|
|
15
|
+
- **lib/ltp/registry.js**: Token registry management primitives
|
|
16
|
+
- **lib/ltp/claim.js**: Legal claim validation and attestation primitives
|
|
17
|
+
- **lib/ltp/proof.js**: Cryptographic proof generation primitives
|
|
18
|
+
- **lib/ltp/right.js**: Legal rights token creation and validation primitives
|
|
19
|
+
- **lib/ltp/obligation.js**: Legal obligation token management primitives
|
|
20
|
+
|
|
21
|
+
#### Primitives-Only Architecture Philosophy
|
|
22
|
+
- **No Blockchain Publishing**: Library provides preparation functions only
|
|
23
|
+
- **External System Integration**: Perfect for enterprise and custom implementations
|
|
24
|
+
- **Maximum Flexibility**: Choose your own blockchain, storage, and UI frameworks
|
|
25
|
+
- **Clean Separation**: Cryptographic correctness separated from application logic
|
|
26
|
+
|
|
27
|
+
#### Legal Token Framework Components
|
|
28
|
+
- **46 LTP Primitive Methods**: Complete coverage across all legal token operations
|
|
29
|
+
- 4 Right Token Primitives (prepare, verify, transfer, validate)
|
|
30
|
+
- 5 Obligation Token Primitives (create, verify, fulfill, breach assessment, monitoring)
|
|
31
|
+
- 5 Claim Validation Primitives (validate, attest, dispute, bulk processing, templates)
|
|
32
|
+
- 6 Proof Generation Primitives (signature, selective disclosure, ZK, legal validity)
|
|
33
|
+
- 8 Registry Management Primitives (registry setup, registration, approval, revocation, queries)
|
|
34
|
+
- 4 Blockchain Anchoring Primitives (commitment, batch processing, verification, revocation)
|
|
35
|
+
|
|
36
|
+
#### W3C-Compliant Legal Standards
|
|
37
|
+
- **PropertyTitle**: Complete property ownership claim schema
|
|
38
|
+
- **VehicleTitle**: Vehicle ownership and transfer documentation
|
|
39
|
+
- **PromissoryNote**: Financial obligation and debt instruments
|
|
40
|
+
- **IntellectualProperty**: IP rights and licensing framework
|
|
41
|
+
- **ProfessionalLicense**: Professional certification and licensing
|
|
42
|
+
- **MusicLicense**: Music rights and royalty management
|
|
43
|
+
|
|
44
|
+
#### Global Digital Attestation Framework (GDAF)
|
|
45
|
+
- **6-Module GDAF Implementation**: Complete W3C Verifiable Credentials compliance
|
|
46
|
+
- **lib/gdaf/attestation.js**: Digital attestation creation and verification
|
|
47
|
+
- **lib/gdaf/identity.js**: Decentralized identity management
|
|
48
|
+
- **lib/gdaf/registry.js**: Attestation registry and discovery
|
|
49
|
+
- **lib/gdaf/credential.js**: W3C Verifiable Credentials implementation
|
|
50
|
+
- **lib/gdaf/proof.js**: Cryptographic proof systems
|
|
51
|
+
- **lib/gdaf/verification.js**: Multi-layer verification framework
|
|
52
|
+
|
|
53
|
+
#### Enhanced Cryptographic Primitives
|
|
54
|
+
- **Shamir Secret Sharing**: Complete k-of-n threshold cryptography
|
|
55
|
+
- **lib/crypto/shamir.js**: Production-ready SSS implementation
|
|
56
|
+
- **bsv.createShares()**: Split secrets into threshold shares
|
|
57
|
+
- **bsv.reconstructSecret()**: Reconstruct from threshold shares
|
|
58
|
+
- **bsv.verifyShares()**: Validate share integrity
|
|
59
|
+
|
|
60
|
+
### 🎯 Complete Legal Token Workflow Example
|
|
61
|
+
|
|
62
|
+
#### Real BSV Integration Demonstration
|
|
63
|
+
- **Real Private Keys**: Actual BSV addresses and WIF keys generated
|
|
64
|
+
- **Mock UTXO System**: Complete testing framework without blockchain dependency
|
|
65
|
+
- **Smart Contract Covenants**: Legal token enforcement through BSV covenants
|
|
66
|
+
- **End-to-End Workflow**: From claim creation to token transfer with covenant validation
|
|
67
|
+
|
|
68
|
+
#### Example Results from `complete_ltp_demo.js`:
|
|
69
|
+
- Property Right Token: `RT-1bd80ac44e27c3ec0f9dffdd2efffe07`
|
|
70
|
+
- Obligation Token: `OB-e87eb0388db36b8b5777118ae45c46d3`
|
|
71
|
+
- Covenant Address: `1MhX6MRVE79Qn4CtQ6bkk5JJJeMCTXBwwo`
|
|
72
|
+
- Transfer Transaction: `4b1125d5dfc53e0157b843b8d2e964922331dd509ca096f9a470bfda421b43e6`
|
|
73
|
+
|
|
74
|
+
### 🏗️ Architecture Excellence
|
|
75
|
+
|
|
76
|
+
#### Interface Transformation
|
|
77
|
+
**Before (Application Framework):**
|
|
78
|
+
```javascript
|
|
79
|
+
bsv.createRightToken() // Created AND published to blockchain
|
|
80
|
+
bsv.validateLegalClaim() // Validated AND stored in database
|
|
81
|
+
bsv.anchorTokenBatch() // Created batch AND sent transaction
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**After (Primitives-Only):**
|
|
85
|
+
```javascript
|
|
86
|
+
bsv.prepareRightToken() // Prepares token structure only
|
|
87
|
+
bsv.prepareClaimValidation() // Validates structure only
|
|
88
|
+
bsv.prepareBatchCommitment() // Prepares commitment only
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 🛠️ New Development Tools & Testing
|
|
92
|
+
|
|
93
|
+
#### Comprehensive Demo Suite
|
|
94
|
+
- **complete_ltp_demo.js**: Full end-to-end LTP workflow with real BSV keys
|
|
95
|
+
- **simple_demo.js**: Architectural overview and primitives showcase
|
|
96
|
+
- **architecture_demo.js**: Before/after comparison demonstration
|
|
97
|
+
- **gdaf_demo.js**: Complete GDAF framework demonstration
|
|
98
|
+
- **shamir_demo.js**: Threshold cryptography examples
|
|
99
|
+
|
|
100
|
+
#### New NPM Scripts
|
|
101
|
+
- **`npm run test:ltp`**: Complete Legal Token Protocol demonstration
|
|
102
|
+
- **`npm run test:ltp-primitives`**: Primitives-only architecture showcase
|
|
103
|
+
- **`npm run test:architecture`**: Architectural transformation comparison
|
|
104
|
+
|
|
105
|
+
### 📦 Enhanced Build System
|
|
106
|
+
|
|
107
|
+
#### New Standalone Modules
|
|
108
|
+
- **bsv-ltp.min.js**: Complete Legal Token Protocol standalone module
|
|
109
|
+
- **bsv-shamir.min.js**: Standalone Shamir Secret Sharing module
|
|
110
|
+
- **bsv-gdaf.min.js**: Complete GDAF framework module
|
|
111
|
+
|
|
112
|
+
#### Updated Keywords & Metadata
|
|
113
|
+
```json
|
|
114
|
+
"legal-token-protocol", "ltp", "legal-tokens", "primitives-only",
|
|
115
|
+
"legal-compliance", "property-rights", "obligations", "attestations",
|
|
116
|
+
"gdaf", "global-digital-attestation", "w3c-credentials",
|
|
117
|
+
"verifiable-credentials", "shamir-secret-sharing", "threshold-cryptography"
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 💫 Enterprise Integration Benefits
|
|
121
|
+
|
|
122
|
+
#### For Developers
|
|
123
|
+
- ✅ Choose any blockchain platform (BSV, Bitcoin, Ethereum, etc.)
|
|
124
|
+
- ✅ Choose any storage solution (SQL, NoSQL, IPFS, etc.)
|
|
125
|
+
- ✅ Full architectural control and system integration
|
|
126
|
+
- ✅ Easy integration with existing business systems
|
|
127
|
+
|
|
128
|
+
#### For Enterprises
|
|
129
|
+
- ✅ No vendor lock-in to specific platforms
|
|
130
|
+
- ✅ Compliance with existing IT policies
|
|
131
|
+
- ✅ Legacy system compatibility
|
|
132
|
+
- ✅ Audit-friendly separation of concerns
|
|
133
|
+
|
|
134
|
+
#### For Security & Legal
|
|
135
|
+
- ✅ Isolated cryptographic operations
|
|
136
|
+
- ✅ Standardized legal token structures
|
|
137
|
+
- ✅ Predictable, deterministic behavior
|
|
138
|
+
- ✅ Regulatory compliance primitives
|
|
139
|
+
|
|
140
|
+
### 🔄 Migration from v3.2.x
|
|
141
|
+
|
|
142
|
+
#### Backward Compatibility
|
|
143
|
+
- All existing APIs remain functional
|
|
144
|
+
- New primitives-only methods added alongside existing functionality
|
|
145
|
+
- Gradual migration path available for existing applications
|
|
146
|
+
|
|
147
|
+
#### Recommended Migration Steps
|
|
148
|
+
1. Test new LTP primitives with existing data structures
|
|
149
|
+
2. Gradually replace direct blockchain operations with preparation primitives
|
|
150
|
+
3. Implement external systems for blockchain publishing and storage
|
|
151
|
+
4. Enjoy increased flexibility and architectural control
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
8
155
|
## [3.2.0] - 2025-10-19
|
|
9
156
|
|
|
10
157
|
### 🚀 MAJOR RELEASE: JavaScript-to-Bitcoin Script Framework
|
package/README.md
CHANGED
|
@@ -1,72 +1,244 @@
|
|
|
1
1
|
# SmartLedger-BSV
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**🚀 Complete Bitcoin SV Development Framework with 9 Flexible Loading Options**
|
|
4
4
|
|
|
5
|
-
[](https://www.npmjs.com/package/@smartledger/bsv)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://bitcoinsv.com/)
|
|
8
|
-
[
|
|
43
|
-
- [Installation](#installation)
|
|
44
|
-
- [Basic Usage](#basic-usage)
|
|
45
|
-
- [Covenant Framework](#covenant-framework)
|
|
46
|
-
- [Custom Scripts](#custom-scripts)
|
|
47
|
-
- [Examples](#examples)
|
|
48
|
-
- [Documentation](#documentation)
|
|
49
|
-
- [API Reference](#api-reference)
|
|
50
|
-
- [Contributing](#contributing)
|
|
51
|
-
- [License](#license)
|
|
52
|
-
|
|
53
|
-
## ⚡ Quick Start
|
|
8
|
+
[](#loading-options)
|
|
54
9
|
|
|
10
|
+
The most comprehensive and flexible Bitcoin SV library available. Choose from 9 different distribution methods: standalone modules, complete bundle, or mix-and-match approach. Perfect for everything from simple transactions to complex DeFi protocols and smart contracts.
|
|
11
|
+
|
|
12
|
+
## 🎯 **9 Loading Options - Choose Your Approach**
|
|
13
|
+
|
|
14
|
+
| Module | Size | Use Case | CDN |
|
|
15
|
+
|--------|------|----------|-----|
|
|
16
|
+
| **bsv.min.js** | 449KB | Core BSV + SmartContract | `unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js` |
|
|
17
|
+
| **bsv.bundle.js** | 764KB | Everything in one file | `unpkg.com/@smartledger/bsv@3.2.1/bsv.bundle.js` |
|
|
18
|
+
| **bsv-covenant.min.js** | 32KB | Covenant development | `unpkg.com/@smartledger/bsv@3.2.1/bsv-covenant.min.js` |
|
|
19
|
+
| **bsv-script-helper.min.js** | 27KB | Custom script tools | `unpkg.com/@smartledger/bsv@3.2.1/bsv-script-helper.min.js` |
|
|
20
|
+
| **bsv-security.min.js** | 290KB | Security enhancements | `unpkg.com/@smartledger/bsv@3.2.1/bsv-security.min.js` |
|
|
21
|
+
| **bsv-smartcontract.min.js** | 451KB | Debug tools | `unpkg.com/@smartledger/bsv@3.2.1/bsv-smartcontract.min.js` |
|
|
22
|
+
| **bsv-ecies.min.js** | 71KB | Encryption | `unpkg.com/@smartledger/bsv@3.2.1/bsv-ecies.min.js` |
|
|
23
|
+
| **bsv-message.min.js** | 26KB | Message signing | `unpkg.com/@smartledger/bsv@3.2.1/bsv-message.min.js` |
|
|
24
|
+
| **bsv-mnemonic.min.js** | 670KB | HD wallets | `unpkg.com/@smartledger/bsv@3.2.1/bsv-mnemonic.min.js` |
|
|
25
|
+
|
|
26
|
+
## ⚡ **2-Minute Quick Start**
|
|
27
|
+
|
|
28
|
+
Get started with Bitcoin SV development in under 2 minutes:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Install via npm
|
|
32
|
+
npm install @smartledger/bsv
|
|
33
|
+
|
|
34
|
+
# Or include in HTML
|
|
35
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**Basic Transaction (30 seconds):**
|
|
39
|
+
```javascript
|
|
40
|
+
const bsv = require('@smartledger/bsv'); // Node.js
|
|
41
|
+
// const bsv = window.bsv; // Browser
|
|
42
|
+
|
|
43
|
+
// 1. Generate keys
|
|
44
|
+
const privateKey = new bsv.PrivateKey();
|
|
45
|
+
const address = privateKey.toAddress();
|
|
46
|
+
|
|
47
|
+
// 2. Create transaction
|
|
48
|
+
const tx = new bsv.Transaction()
|
|
49
|
+
.from(utxo) // Add input
|
|
50
|
+
.to(targetAddress, 50000) // Send 50,000 satoshis
|
|
51
|
+
.change(address) // Send change back
|
|
52
|
+
.sign(privateKey); // Sign transaction
|
|
53
|
+
|
|
54
|
+
console.log('Transaction ID:', tx.id);
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Covenant Development (90 seconds):**
|
|
58
|
+
```javascript
|
|
59
|
+
// Load covenant interface
|
|
60
|
+
const covenant = new bsv.CovenantInterface();
|
|
61
|
+
|
|
62
|
+
// Create covenant transaction with preimage access
|
|
63
|
+
const covenantTx = covenant.createCovenantTransaction({
|
|
64
|
+
inputs: [utxo],
|
|
65
|
+
outputs: [{ address: targetAddress, satoshis: 99000 }]
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
// Get BIP143 preimage for validation
|
|
69
|
+
const preimage = covenantTx.getPreimage(0, lockingScript, satoshis);
|
|
70
|
+
|
|
71
|
+
// Create manual signature
|
|
72
|
+
const signature = covenant.createSignature(tx, privateKey, 0, script, satoshis);
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Next Steps:**
|
|
76
|
+
- 📖 [Advanced Covenant Guide](docs/ADVANCED_COVENANT_DEVELOPMENT.md)
|
|
77
|
+
- 🛠️ [Custom Script Development](docs/CUSTOM_SCRIPT_DEVELOPMENT.md)
|
|
78
|
+
- 🔧 [API Reference](#api-reference)
|
|
79
|
+
- 💡 [Examples Directory](examples/)
|
|
80
|
+
|
|
81
|
+
## 🔧 **API Reference**
|
|
82
|
+
|
|
83
|
+
| Component | Method | Purpose | Example |
|
|
84
|
+
|-----------|--------|---------|---------|
|
|
85
|
+
| **Core** | `new PrivateKey()` | Generate private key | `const key = new bsv.PrivateKey()` |
|
|
86
|
+
| | `new Transaction()` | Create transaction | `const tx = new bsv.Transaction()` |
|
|
87
|
+
| | `Script.fromASM()` | Parse script | `const script = bsv.Script.fromASM('OP_DUP')` |
|
|
88
|
+
| **Covenant** | `CovenantInterface()` | Covenant development | `const covenant = new bsv.CovenantInterface()` |
|
|
89
|
+
| | `createCovenantTransaction()` | Covenant transaction | `covenant.createCovenantTransaction(config)` |
|
|
90
|
+
| | `getPreimage()` | BIP143 preimage | `covenant.getPreimage(tx, 0, script, sats)` |
|
|
91
|
+
| **Custom Scripts** | `CustomScriptHelper()` | Script utilities | `const helper = new bsv.CustomScriptHelper()` |
|
|
92
|
+
| | `createSignature()` | Manual signature | `helper.createSignature(tx, key, 0, script, sats)` |
|
|
93
|
+
| | `createMultisigScript()` | Multi-signature | `helper.createMultisigScript([pk1, pk2], 2)` |
|
|
94
|
+
| **Debug Tools** | `SmartContract.examineStack()` | Analyze script | `SmartContract.examineStack(script)` |
|
|
95
|
+
| | `interpretScript()` | Execute script | `SmartContract.interpretScript(script)` |
|
|
96
|
+
| | `getScriptMetrics()` | Performance data | `SmartContract.getScriptMetrics(script)` |
|
|
97
|
+
| **Security** | `SmartVerify.verify()` | Enhanced verification | `SmartVerify.verify(sig, hash, pubkey)` |
|
|
98
|
+
| | `EllipticFixed.sign()` | Secure signing | `EllipticFixed.sign(hash, privateKey)` |
|
|
99
|
+
|
|
100
|
+
> 💡 **Tip:** All methods include comprehensive error handling and validation. See [documentation links](#documentation) for detailed guides.
|
|
101
|
+
|
|
102
|
+
## 📚 **Quick Start Examples**
|
|
103
|
+
|
|
104
|
+
### Minimal Setup (476KB total)
|
|
105
|
+
```html
|
|
106
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
107
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-script-helper.min.js"></script>
|
|
108
|
+
<script>
|
|
109
|
+
const privateKey = new bsv.PrivateKey();
|
|
110
|
+
const signature = bsvScriptHelper.createSignature(tx, privateKey, 0, script, satoshis);
|
|
111
|
+
</script>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Advanced Development (932KB total)
|
|
115
|
+
```html
|
|
116
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
117
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-covenant.min.js"></script>
|
|
118
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-smartcontract.min.js"></script>
|
|
119
|
+
<script>
|
|
120
|
+
const covenant = new bsvCovenant.CovenantInterface();
|
|
121
|
+
const contractTx = covenant.createCovenantTransaction(config);
|
|
122
|
+
const debugInfo = SmartContract.examineStack(script);
|
|
123
|
+
</script>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Everything Bundle (764KB)
|
|
127
|
+
```html
|
|
128
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.bundle.js"></script>
|
|
129
|
+
<script>
|
|
130
|
+
// Everything available immediately
|
|
131
|
+
const keys = bsv.SmartLedgerBundle.generateKeys();
|
|
132
|
+
const covenant = new bsv.CovenantInterface();
|
|
133
|
+
const encrypted = bsv.ECIES.encrypt(data, publicKey);
|
|
134
|
+
</script>
|
|
55
135
|
```
|
|
56
136
|
|
|
57
|
-
##
|
|
137
|
+
## 🎯 **Key Features**
|
|
138
|
+
|
|
139
|
+
### Core Library
|
|
140
|
+
- ✅ **Complete BSV API**: Full Bitcoin SV blockchain operations → [API Reference](#api-reference)
|
|
141
|
+
- ✅ **SmartContract Framework**: 59+ methods for script development and debugging → [SmartContract Integration](SMARTCONTRACT_INTEGRATION.md)
|
|
142
|
+
- ✅ **Security Hardened**: SmartLedger elliptic curve fixes and enhanced validation → [Security Features](#smart-security)
|
|
143
|
+
- ✅ **Browser + Node.js**: Universal compatibility with proper polyfills → [Loading Options](#9-loading-options--choose-your-approach)
|
|
144
|
+
- ✅ **TypeScript Ready**: Complete type definitions included
|
|
145
|
+
|
|
146
|
+
### Advanced Development Tools
|
|
147
|
+
- � **Covenant Interface**: High-level covenant development framework → [Covenant Guide](docs/ADVANCED_COVENANT_DEVELOPMENT.md)
|
|
148
|
+
- � **Custom Script Helper**: Simplified API for script creation and signing → [Script Development](docs/CUSTOM_SCRIPT_DEVELOPMENT.md)
|
|
149
|
+
- 🔒 **Debug Tools**: Script interpreter, stack examiner, metrics, and optimizer → [Debug Examples](tests/smartcontract-test.html)
|
|
150
|
+
- 🔒 **BIP143 Compliant**: Complete preimage parsing and manipulation → [Preimage Tools](examples/preimage/)
|
|
151
|
+
- 🔒 **PUSHTX Integration**: nChain techniques for advanced covenant patterns → [PUSHTX Insights](docs/pushtx-key-insights.md)
|
|
152
|
+
|
|
153
|
+
### Flexible Architecture
|
|
154
|
+
- 📦 **Modular Loading**: Load only what you need → [Loading Strategy](#loading-strategy-examples)
|
|
155
|
+
- 📦 **Standalone Modules**: Independent security and utility modules → [Standalone Test](tests/standalone-modules-test.html)
|
|
156
|
+
- 📦 **Complete Bundle**: Everything in one file for convenience → [Bundle Demo](tests/bundle-demo.html)
|
|
157
|
+
- 📦 **CDN Ready**: All modules available via unpkg and jsDelivr
|
|
158
|
+
- 📦 **Webpack Optimized**: Tree-shakeable and build-tool friendly
|
|
159
|
+
|
|
160
|
+
## ⚡ **Installation & Usage**
|
|
161
|
+
|
|
162
|
+
> 💡 **Quick Start**: Jump to [2-Minute Quick Start](#2-minute-quick-start) for instant setup examples
|
|
58
163
|
|
|
59
164
|
### NPM Installation
|
|
60
165
|
```bash
|
|
61
166
|
# Main package
|
|
62
167
|
npm install @smartledger/bsv
|
|
63
168
|
|
|
64
|
-
# Alternative package name
|
|
169
|
+
# Alternative package name (legacy)
|
|
65
170
|
npm install smartledger-bsv
|
|
66
171
|
```
|
|
67
172
|
|
|
68
|
-
|
|
173
|
+
> 📖 **Next Steps**: After installation, see [Loading Options](#9-loading-options--choose-your-approach) to choose your distribution method
|
|
174
|
+
|
|
175
|
+
### Node.js Usage
|
|
176
|
+
```javascript
|
|
177
|
+
const bsv = require('@smartledger/bsv');
|
|
178
|
+
|
|
179
|
+
// Basic transaction
|
|
180
|
+
const privateKey = new bsv.PrivateKey();
|
|
181
|
+
const publicKey = privateKey.toPublicKey();
|
|
182
|
+
const address = privateKey.toAddress();
|
|
183
|
+
|
|
184
|
+
// SmartContract debugging
|
|
185
|
+
const script = bsv.Script.fromASM('OP_1 OP_2 OP_ADD OP_3 OP_EQUAL');
|
|
186
|
+
const metrics = bsv.SmartContract.getScriptMetrics(script);
|
|
187
|
+
const stackInfo = bsv.SmartContract.examineStack(script);
|
|
188
|
+
|
|
189
|
+
// Covenant development
|
|
190
|
+
const covenant = new bsv.CovenantInterface();
|
|
191
|
+
const contractTx = covenant.createCovenantTransaction({
|
|
192
|
+
inputs: [...],
|
|
193
|
+
outputs: [...]
|
|
194
|
+
});
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Browser CDN (Choose Your Loading Strategy)
|
|
198
|
+
|
|
199
|
+
#### 1. **Minimal Setup** - Core + Script Helper (476KB)
|
|
69
200
|
```html
|
|
201
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
202
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-script-helper.min.js"></script>
|
|
203
|
+
<script>
|
|
204
|
+
const tx = new bsv.Transaction();
|
|
205
|
+
const sig = bsvScriptHelper.createSignature(tx, privateKey, 0, script, satoshis);
|
|
206
|
+
</script>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
#### 2. **DeFi Development** - Core + Covenants + Debug (932KB)
|
|
210
|
+
```html
|
|
211
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
212
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-covenant.min.js"></script>
|
|
213
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-smartcontract.min.js"></script>
|
|
214
|
+
<script>
|
|
215
|
+
const covenant = new bsvCovenant.CovenantInterface();
|
|
216
|
+
const debugInfo = SmartContract.interpretScript(script);
|
|
217
|
+
const optimized = SmartContract.optimizeScript(script);
|
|
218
|
+
</script>
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
#### 3. **Security First** - Core + Enhanced Security (739KB)
|
|
222
|
+
```html
|
|
223
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.min.js"></script>
|
|
224
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv-security.min.js"></script>
|
|
225
|
+
<script>
|
|
226
|
+
const verified = bsvSecurity.SmartVerify.verify(signature, hash, publicKey);
|
|
227
|
+
const enhanced = bsvSecurity.EllipticFixed.createSignature(privateKey, hash);
|
|
228
|
+
</script>
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
#### 4. **Everything Bundle** - One File Solution (764KB)
|
|
232
|
+
```html
|
|
233
|
+
<script src="https://unpkg.com/@smartledger/bsv@3.2.1/bsv.bundle.js"></script>
|
|
234
|
+
<script>
|
|
235
|
+
// Everything available under bsv namespace
|
|
236
|
+
const keys = bsv.SmartLedgerBundle.generateKeys();
|
|
237
|
+
const covenant = new bsv.CovenantInterface();
|
|
238
|
+
const message = new bsv.Message('Hello BSV');
|
|
239
|
+
const encrypted = bsv.ECIES.encrypt('secret', publicKey);
|
|
240
|
+
</script>
|
|
241
|
+
```
|
|
70
242
|
<!-- Main library -->
|
|
71
243
|
<script src="https://unpkg.com/@smartledger/bsv@latest/dist/bsv.bundle.js"></script>
|
|
72
244
|
|
|
@@ -270,20 +442,82 @@ const timelockScript = helper.createTimelockScript(
|
|
|
270
442
|
|
|
271
443
|
## 📄 License
|
|
272
444
|
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## 📚 **Complete Documentation**
|
|
448
|
+
|
|
449
|
+
### 🚀 **Getting Started**
|
|
450
|
+
- **[2-Minute Quick Start](#2-minute-quick-start)** - Get up and running fast
|
|
451
|
+
- **[Loading Options](#9-loading-options--choose-your-approach)** - Choose your distribution method
|
|
452
|
+
- **[API Reference](#api-reference)** - Quick method lookup
|
|
453
|
+
- **[Installation Guide](#installation)** - npm, CDN, and browser setup
|
|
454
|
+
|
|
455
|
+
### 🎯 **Development Guides**
|
|
456
|
+
- **[Advanced Covenant Development](docs/ADVANCED_COVENANT_DEVELOPMENT.md)** - Complete BIP143 + PUSHTX guide
|
|
457
|
+
- **[Custom Script Development](docs/CUSTOM_SCRIPT_DEVELOPMENT.md)** - Multi-sig, timelock, and custom patterns
|
|
458
|
+
- **[Covenant Development Resolved](docs/COVENANT_DEVELOPMENT_RESOLVED.md)** - Solutions to common issues
|
|
459
|
+
- **[PUSHTX Key Insights](docs/pushtx-key-insights.md)** - nChain research implementation
|
|
460
|
+
|
|
461
|
+
### 🔧 **Technical Resources**
|
|
462
|
+
- **[SmartContract Integration](SMARTCONTRACT_INTEGRATION.md)** - Debug tools and analysis
|
|
463
|
+
- **[Examples Directory](examples/)** - Working code samples
|
|
464
|
+
- **[Test Suite](tests/)** - Comprehensive testing examples
|
|
465
|
+
- **[Build System](build/)** - Webpack configurations
|
|
466
|
+
|
|
467
|
+
### 🌐 **Loading Strategy Examples**
|
|
468
|
+
|
|
469
|
+
| **Use Case** | **Recommended Load** | **Size** | **Features** |
|
|
470
|
+
|--------------|---------------------|----------|--------------|
|
|
471
|
+
| **Simple Transactions** | `bsv.min.js` | 449KB | Core BSV + SmartContract |
|
|
472
|
+
| **DeFi Development** | Core + Covenant + Debug | 932KB | Advanced contracts + tools |
|
|
473
|
+
| **Enterprise Apps** | `bsv.bundle.js` | 764KB | Everything included |
|
|
474
|
+
| **Mobile/Lightweight** | Core + Script Helper | 476KB | Essential tools only |
|
|
475
|
+
| **Research/Analysis** | Core + SmartContract | 900KB | Full debug capabilities |
|
|
476
|
+
|
|
477
|
+
### 🔗 **Cross-References**
|
|
478
|
+
|
|
479
|
+
**From Quick Start → Deep Dive:**
|
|
480
|
+
- [Basic Transaction](#2-minute-quick-start) → [Transaction API](docs/transaction.md)
|
|
481
|
+
- [Covenant Example](#2-minute-quick-start) → [Advanced Covenant Guide](docs/ADVANCED_COVENANT_DEVELOPMENT.md)
|
|
482
|
+
- [API Reference](#api-reference) → [Method Documentation](docs/)
|
|
483
|
+
|
|
484
|
+
**From Examples → Implementation:**
|
|
485
|
+
- [Covenant Examples](examples/covenants/) → [Production Guide](docs/ADVANCED_COVENANT_DEVELOPMENT.md#production-guidelines)
|
|
486
|
+
- [Script Examples](examples/scripts/) → [Custom Script Guide](docs/CUSTOM_SCRIPT_DEVELOPMENT.md)
|
|
487
|
+
- [Test Files](tests/) → [Integration Examples](examples/)
|
|
488
|
+
|
|
489
|
+
**From Concepts → Code:**
|
|
490
|
+
- [PUSHTX Theory](docs/pushtx-key-insights.md) → [Covenant Implementation](examples/covenants/advanced_covenant_demo.js)
|
|
491
|
+
- [Security Features](#smart-security) → [Implementation](lib/crypto/smartledger_verify.js)
|
|
492
|
+
- [Debug Tools](#debug-tools) → [Usage Examples](tests/smartcontract-test.html)
|
|
493
|
+
|
|
494
|
+
### 🎓 **Learning Path**
|
|
495
|
+
|
|
496
|
+
1. **Start**: [2-Minute Quick Start](#2-minute-quick-start)
|
|
497
|
+
2. **Practice**: [Examples Directory](examples/)
|
|
498
|
+
3. **Build**: [Custom Script Guide](docs/CUSTOM_SCRIPT_DEVELOPMENT.md)
|
|
499
|
+
4. **Advanced**: [Covenant Development](docs/ADVANCED_COVENANT_DEVELOPMENT.md)
|
|
500
|
+
5. **Deploy**: [Production Guidelines](docs/ADVANCED_COVENANT_DEVELOPMENT.md#production-guidelines)
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## 📄 **License**
|
|
505
|
+
|
|
273
506
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
274
507
|
|
|
275
|
-
## 🤝 Contributing
|
|
508
|
+
## 🤝 **Contributing**
|
|
276
509
|
|
|
277
510
|
We welcome contributions to SmartLedger-BSV! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
278
511
|
|
|
279
|
-
## 🏢 Enterprise Support
|
|
512
|
+
## 🏢 **Enterprise Support**
|
|
280
513
|
|
|
281
514
|
- **GitHub**: [github.com/codenlighten/smartledger-bsv](https://github.com/codenlighten/smartledger-bsv)
|
|
282
515
|
- **NPM**: [@smartledger/bsv](https://www.npmjs.com/package/@smartledger/bsv)
|
|
283
516
|
- **Issues**: [GitHub Issues](https://github.com/codenlighten/smartledger-bsv/issues)
|
|
517
|
+
- **Documentation**: [Complete Docs](#complete-documentation)
|
|
284
518
|
|
|
285
519
|
---
|
|
286
520
|
|
|
287
|
-
**SmartLedger-BSV v3.
|
|
521
|
+
**SmartLedger-BSV v3.2.1** - *Complete Bitcoin SV Development Framework*
|
|
288
522
|
|
|
289
|
-
Built with ❤️ for the Bitcoin SV ecosystem
|
|
523
|
+
Built with ❤️ for the Bitcoin SV ecosystem • 9 Loading Options • Enterprise Ready
|