SDK Guides
Consumer Layer — Language-specific bindings for spec-defined interfaces
Definition
SDK guides document libraries that provide language-idiomatic access to spec-defined interfaces. They translate protocol-level specifications into convenient programming abstractions.
Role in the Framework
Executable Specification ← defines interface behavior
API Documentation ← documents raw interfaces
↓
SDK Guides ← language-specific wrappers
↓
Developer Guides ← patterns using SDKs
Tutorials ← learning with SDKs
Relationship to Specifications
SDKs wrap spec-defined behavior in language-native patterns:
# Specification defines behavior
@rpc_method("eth_getBalance")
def get_balance(address: Address, block: BlockParam) -> int:
"""Returns balance in wei"""
passSDK provides idiomatic access:
// TypeScript SDK
class Provider {
/**
* Get account balance.
*
* Implements: SPEC-API-3.2.1 (eth_getBalance)
*
* @param address - Account address
* @param block - Block identifier (default: "latest")
* @returns Balance in wei as BigInt
*/
async getBalance(address: string, block: BlockTag = "latest"): Promise<bigint> {
const result = await this.rpc("eth_getBalance", [address, block]);
return BigInt(result);
}
}SDK Documentation Structure
## Getting Started
Install the SDK:
\`\`\`bash
npm install @org/protocol-sdk
\`\`\`
## Core Concepts
The SDK implements the Protocol Specification v2.3.
Key abstractions map to specification sections:
| SDK Class | Specification Section |
|-----------|----------------------|
| Provider | SPEC-API-2.x |
| Signer | SPEC-CRYPTO-3.x |
| Transaction | SPEC-TX-4.x |
## Specification Compliance
This SDK version implements Protocol Specification v2.3.
All methods produce results identical to the executable
specification for corresponding inputs.Best Practices
- Map SDK versions to specification versions
- Document which spec requirements SDK handles automatically
- Provide escape hatches to raw protocol access
- Include spec references in method documentation
- Note client-agnostic behavior (works with all conformant clients)