blockchain-integration-builder
SKILL.md
Blockchain Integration Builder
Design blockchain systems using universal patterns applicable across chains.
Core Abstractions
Blockchain-agnostic thinking: focus on what you're trying to achieve, then select chain/framework.
Fundamental Primitives
| Primitive | What It Is | Chain Examples |
|---|---|---|
| Account | Identity with balance | EOA (Eth), Wallet (Solana), Account (Near) |
| Transaction | State change request | Signed message + gas |
| Block | Batch of transactions | Time-ordered, immutable |
| Contract | On-chain program | Solidity, Rust, Move |
| Event/Log | Indexed side-effect | Emitted by contracts, queryable |
| State | Persistent data | Mappings, storage slots |
Selection Criteria
| Need | Consider | Why |
|---|---|---|
| Programmability | Ethereum, Arbitrum, Base | Mature tooling, EVM ecosystem |
| Speed/Cost | Solana, Sui, Aptos | High throughput, low fees |
| Privacy | Aztec, Zcash | Zero-knowledge proofs |
| Interoperability | Cosmos, Polkadot | Cross-chain communication |
| Simplicity | Bitcoin, Litecoin | Limited scripting, proven security |
Pattern Library
Identity Patterns
Wallet-Based Identity
User → Wallet → Sign Message → Verify Signature → Authenticated
- No passwords stored
- User controls identity
- Works across applications
Soul-Bound Tokens (SBTs)
Issuer → Mint SBT → User Wallet (non-transferable)
- Credentials, achievements, reputation
- Cannot be sold or transferred
- Revocable by issuer (optionally)
Decentralized Identifiers (DIDs)
did:method:identifier → Resolve → DID Document → Public Keys, Services
- Self-sovereign identity
- Cross-chain portable
- W3C standard
Token Patterns
Fungible Tokens (ERC-20 pattern)
// Universal interface
balanceOf(address) → uint256
transfer(to, amount) → bool
approve(spender, amount) → bool
transferFrom(from, to, amount) → bool
Non-Fungible Tokens (ERC-721 pattern)
// Universal interface
ownerOf(tokenId) → address
transferFrom(from, to, tokenId)
tokenURI(tokenId) → string (metadata)
Semi-Fungible (ERC-1155 pattern)
// Batch operations, mixed fungible/non-fungible
balanceOf(account, id) → uint256
balanceOfBatch(accounts[], ids[]) → uint256[]
safeTransferFrom(from, to, id, amount, data)
Governance Patterns
Token Voting
Proposal → Snapshot Balances → Vote Period → Tally → Execute (if passed)
Quadratic Voting
Cost of N votes = N² tokens
Reduces plutocratic dominance
Optimistic Governance
Proposal → Challenge Period → Execute if unchallenged
Economic Patterns
Bonding Curves
Price = f(Supply)
Buy: Price increases with supply
Sell: Price decreases with supply
Creates automatic market making
Staking/Slashing
Stake tokens → Perform duties → Earn rewards
Misbehave → Lose stake (slashing)
Streaming Payments
Deposit → Linear unlock over time → Recipient claims
Architecture Patterns
On-Chain vs Off-Chain
| Aspect | On-Chain | Off-Chain |
|---|---|---|
| Cost | High (gas fees) | Low/free |
| Speed | Slow (block time) | Fast |
| Trust | Trustless | Requires trust |
| Privacy | Public | Can be private |
| Storage | Expensive | Cheap |
Hybrid approach:
Off-chain: Computation, storage, user experience
On-chain: Verification, settlement, ownership
Bridge: Oracles, merkle proofs, signatures
Indexing Pattern
Blockchain data is hard to query directly. Use indexers:
Blockchain → Events → Indexer → Database → API → Frontend
Tools: The Graph, Goldsky, custom indexers
Oracle Pattern
Bring external data on-chain:
External Data → Oracle Network → Consensus → On-chain Value
Use cases: Price feeds, random numbers, API data
Security Principles
Smart Contract Security
- Check-Effects-Interactions: Update state before external calls
- Reentrancy Guards: Prevent recursive calls
- Access Control: Verify caller permissions
- Input Validation: Never trust user input
- Upgrade Patterns: Plan for bug fixes (proxies, migrations)
Common Vulnerabilities
| Vulnerability | Description | Prevention |
|---|---|---|
| Reentrancy | Recursive calls drain funds | Checks-effects-interactions |
| Integer overflow | Math wraps around | SafeMath or Solidity 0.8+ |
| Front-running | Miners/validators see pending txs | Commit-reveal, flashbots |
| Oracle manipulation | Fake price data | Multiple oracles, TWAP |
| Access control | Missing permission checks | Role-based access |
Integration Workflow
1. Define Requirements
- What needs to be trustless?
- What can stay off-chain?
- Who are the actors?
- What are the assets?
2. Select Chain
Based on: throughput needs, cost constraints, ecosystem fit, team expertise
3. Design Contracts
- Keep contracts simple and focused
- Separate concerns into multiple contracts
- Plan upgrade path
4. Build Indexing
- Determine query patterns
- Index relevant events
- Build API layer
5. Create Frontend
- Wallet connection
- Transaction signing
- State display
- Error handling
6. Test & Audit
- Unit tests
- Integration tests
- Formal verification (for critical contracts)
- Third-party audit
References
references/contract-patterns.md- Common smart contract patternsreferences/chain-comparison.md- Chain-specific considerations
Weekly Installs
2
Repository
4444j99/a-i--skillsGitHub Stars
3
First Seen
7 days ago
Security Audits
Installed on
amp2
cline2
openclaw2
opencode2
cursor2
kimi-cli2