Practical examples showcasing the Depinkit stack for building decentralized applications.
Depinkit is a collection of packages for building secure, decentralized systems:
- Actor - Secure actor programming framework
- Network - P2P networking with libp2p
- UCAN - User Controlled Authorization Networks
- DID - Decentralized Identifiers
- Crypto - Cryptographic operations
These packages power NuNet's Device Management Service, a decentralized compute network.
A UCAN-protected messaging application demonstrating:
- Hierarchical permissions (Admin grants read/write to users)
- Fine-grained access control (separate read and write permissions)
- P2P direct messaging with reciprocal invitations
- UCAN delegation without pre-configured trust
- Pub/sub channels with capability validation
- Clean architecture with proper separation of concerns
Difficulty: Beginner
Concepts: UCAN delegation, actor behaviors, pub/sub, direct messaging
cd messaging
go mod tidy
go run .- Start with:
messaging- Clean introduction to UCAN delegation and actor communication - Deep dive: Check individual package documentation
- Build: Create your own decentralized application!
The Depinkit stack enables:
- Messaging Systems: Secure chat with hierarchical permissions (see
messagingexample) - Decentralized Compute: Distribute tasks across P2P network
- Storage Networks: Decentralized file storage with access control
- IoT Networks: Sensor data sharing with fine-grained permissions
- CDN/Edge Computing: Distributed content delivery
- Collaborative Systems: Multi-party workflows with zero trust
- Social Networks: Community platforms with delegated moderation
- Resource Marketplaces: Any DePIN use case requiring authorization
- Zero trust architecture
- Capability-based access control
- Cryptographic verification
- No central authority
- P2P discovery via DHT
- NAT traversal (relay/hole-punching)
- Direct messaging
- Topic-based pub/sub
- Message-driven architecture
- Behavior-based dispatch
- Request-response patterns
- Broadcast messaging
- Self-contained authorization
- Delegation chains
- Hierarchical permissions
- Time-limited access
- Revocation support
Have a great use case? Add an example!
- Create directory in
examples/ - Implement using Depinkit packages
- Include comprehensive README
- Add to this index
- Documentation: Check individual package READMEs
- Issues: Open on respective package repositories
- Community: NuNet Discord/Forums
Building the future of decentralized infrastructure with Depinkit π