← Back to list

shelby
by raintree-technology
Platform-agnostic, production-ready Claude Code configurations with hooks, commands, skills, examples, and more.
⭐ 34🍴 5📅 Jan 21, 2026
SKILL.md
name: shelby description: Shelby Protocol expert for decentralized blob storage on Aptos blockchain. Covers erasure coding (Clay Codes), TypeScript SDK, smart contracts, CLI tools, storage providers, and dApp integration. High-performance storage for video streaming, AI training, and large datasets. Triggers on Shelby, Shelby Protocol, decentralized storage, Aptos storage, blob storage, ShelbyNodeClient, erasure coding, Clay Codes. allowed-tools: Read, Write, Edit, Grep, Glob, Bash model: sonnet license: MIT metadata: author: raintree version: "1.0"
Shelby Protocol Expert
Shelby is a decentralized blob storage network on Aptos blockchain with erasure coding, micropayment channels, and dedicated private bandwidth.
When to Use
- Building dApps that need decentralized storage
- Integrating Shelby SDK (TypeScript/Node.js/Browser)
- Understanding erasure coding and data durability
- Working with storage providers and RPC servers
- Video streaming, AI training data, large datasets
Architecture Overview
User (Public Internet)
↓
Shelby RPC Server (handles blob operations)
↓ (Private Fiber Network)
Storage Provider Servers (16 per placement group)
↓
Aptos L1 Blockchain (state management)
Key Components:
- Aptos Smart Contract - System state, audits, settlements
- Storage Providers - Store erasure-coded chunks
- RPC Servers - User-facing API, erasure coding/decoding
- Private Network - Dedicated fiber for internal communication
Data Model
Erasure Coding (Clay Codes)
Data is split and encoded for durability:
10MB Blob → Split into chunksets → Erasure code each
↓
16 chunks per chunkset
(10 data + 6 parity)
↓
Distributed to 16 storage providers
Recovery: Any 10 of 16 chunks can reconstruct data
Why Clay Codes?
- Same storage efficiency as Reed-Solomon
- 4x less bandwidth during recovery
- Optimal for large-scale distributed storage
Blob Naming
<account>/<user-defined-path>
Examples:
0x123.../videos/intro.mp4
0x123.../datasets/training/batch-001.parquet
- Max 1024 characters
- Must NOT end with
/ - Flat namespace (no directories, just paths)
SDK Integration
Installation
npm install @shelby-protocol/sdk @aptos-labs/ts-sdk
Node.js Client
import { ShelbyNodeClient } from "@shelby-protocol/sdk/node";
import { Network } from "@aptos-labs/ts-sdk";
const client = new ShelbyNodeClient({
network: Network.SHELBYNET,
apiKey: process.env.SHELBY_API_KEY,
});
Browser Client
import { ShelbyClient } from "@shelby-protocol/sdk/browser";
import { Network } from "@aptos-labs/ts-sdk";
const client = new ShelbyClient({
network: Network.SHELBYNET,
apiKey: process.env.SHELBY_API_KEY,
});
Common Operations
Upload Blob
const result = await client.uploadBlob({
blobName: "user/data/file.txt",
data: fileBuffer,
expirationTimestamp: Date.now() + 30 * 24 * 60 * 60 * 1000, // 30 days
});
Download Blob
// Full blob
const data = await client.getBlob("user/data/file.txt");
// Byte range (efficient for large files)
const partial = await client.getBlob("user/data/file.txt", {
range: { start: 0, end: 1024 },
});
Multipart Upload (Large Files)
For files > 10MB:
const upload = await client.startMultipartUpload({
blobName: "large-dataset.bin",
expirationTimestamp: futureTimestamp,
});
for (const [index, part] of fileParts.entries()) {
await client.uploadPart({
uploadId: upload.id,
partNumber: index,
data: part,
});
}
await client.completeMultipartUpload({ uploadId: upload.id });
Session Management
Reuse sessions for multiple operations:
const session = await client.createSession({
rpcUrl: "https://api.shelbynet.shelby.xyz/shelby",
paymentAmount: 1000000, // ShelbyUSD micro-units
});
// Multiple reads on same session
for (const blobName of blobsToDownload) {
await client.getBlob(blobName, { session });
}
await session.close();
Token Economics
Two-Token Model
| Token | Purpose |
|---|---|
| APT | Blockchain gas fees |
| ShelbyUSD | Storage and bandwidth payments |
Funding
# APT from faucet
aptos account fund-with-faucet --profile my-profile --amount 1000000000
# ShelbyUSD from faucet
# Visit: https://faucet.shelbynet.shelby.xyz
Use Cases
Ideal Workloads:
- Video streaming (high bandwidth reads)
- AI training/inference (large datasets)
- Data analytics (read-heavy patterns)
- Content delivery (static assets)
- Archival storage (long-term retention)
Trade-offs:
- Optimized for large files (10MB+ chunksets)
- Blobs are immutable (no updates, only overwrite)
- User-pays model (storage + bandwidth)
Resources
- Documentation: https://docs.shelby.cloud
- Faucet: https://faucet.shelbynet.shelby.xyz
- SDK:
@shelby-protocol/sdk
Score
Total Score
75/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
✓最近の活動
1ヶ月以内に更新
+10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
✓タグ
1つ以上のタグが設定されている
+5
Reviews
💬
Reviews coming soon
