What is HCS-3?
HCS-3 is a protocol standard that enables developers to reference and load on-graph resources directly from the Hedera network. Think of it as a decentralized CDN where all your application resources live on the Hashgraph, with the unique ability to reuse resources across multiple applications.
Learn more about HCS-3 in the HCS-3 Standard.
Why Use HCS-3?
1. True Decentralization
Instead of relying on traditional CDNs or centralized servers, your application's resources are stored directly on the Hashgraph, through the Consensus Service:
<!-- Traditional CDN -->
<script src="https://cdn.jsdelivr.net/npm/three@0.132.2/build/three.min.js"></script>
<!-- HCS-3 Decentralized Loading -->
<script data-src="hcs://1/0.0.6614307" data-script-id="threejs"></script>
2. Cost Efficiency
Inscribe once, use everywhere:
- Traditional: Each dApp inscribes ThreeJS (~500KB) = 500KB × number of dApps
- HCS-3: One inscription shared across all dApps = 500KB total
3. Version Control
Each resource has a unique topic ID, making version management straightforward and immutable.
4. Built-in CDN Support
While resources live on-graph, HCS-3 supports CDN integration for faster loading while maintaining decentralization benefits.
Shared Resource Pool
Common libraries already inscribed and available for use:
- ThreeJS:
0.0.6614307
- AnimeJS:
0.0.6627067
- NES.css:
0.0.6633438
Hashgraph Package Manager (HPM)
We're working on creating Hashgraph Package Manager (HPM) to make it easier to discover, install, and publish HCS-3 resources. Keep your eyes peeled for updates!
Conclusion
HCS-3 represents a paradigm shift in web3 development by combining true decentralization with cost efficiency. By enabling once-and-done inscriptions that can be reused across the entire ecosystem, it dramatically reduces costs while ensuring resource permanence and integrity. This approach not only makes development more cost-effective but also creates a more sustainable and efficient hashgraph ecosystem.
For detailed implementation examples and usage guidelines, please refer to our Usage Guide.