@filoz/synapse-sdk
v2.0.0
Published
JavaScript SDK for Filecoin Onchain Cloud
Readme
Synapse SDK
A JavaScript/TypeScript SDK for interacting with Filecoin Synapse - a smart-contract based marketplace for storage and other services in the Filecoin ecosystem.
Overview
The Synapse SDK provides an interface to Filecoin's decentralized services ecosystem:
- 🚀 Recommended Usage: Use the high-level
Synapseclass for a streamlined experience with sensible defaults - 🔧 Composable Components: Import and use individual components for fine-grained control over specific functionality
The SDK handles all the complexity of blockchain interactions, provider selection, and data management, so you can focus on building your application.
Key Concepts
- Service Contracts: Smart contracts that manage specific services (like storage). Currently, Warm Storage is the primary service contract that handles storage operations and payment validation.
- Payment Rails: Automated payment streams between clients and service providers, managed by the Payments contract. When you create a data set in Warm Storage, it automatically creates corresponding payment rails.
- Data Sets: Collections of stored data managed by Warm Storage. Each data set has an associated payment rail that handles the ongoing storage payments.
- Pieces: Individual units of data identified by PieceCID (content-addressed identifiers). Multiple pieces can be added to a data set for storage.
- PDP (Proof of Data Possession): The cryptographic protocol that verifies storage providers are actually storing the data they claim to store. Providers must periodically prove they possess the data.
- Validators: Service contracts (like Warm Storage) act as validators for payment settlements, ensuring services are delivered before payments are released.
Installation
pnpm install @filoz/synapse-sdk viemNote: viem is a peer dependency and must be installed separately.
Docs
Check the documentation website
Contributing
Read contributing guidelines.
License
Dual-licensed: MIT, Apache Software License v2 by way of the Permissive License Stack.
