Programmatic access to Prova from TypeScript. High-level Prova client, plus low-level primitives for fine-grained control.
| Package | What | When to use |
|---|---|---|
@prova-network/sdk |
High-level Prova client. Storage, payments, prover discovery. |
You're building an app on top of Prova |
@prova-network/core |
Low-level primitives: ABIs, ERC-20 helpers, chain defs, PDP verifier bindings, session keys, typed-data, piece/CommP helpers | You need fine-grained control or you're building tooling |
viem is a peer dependency of both.
npm i @prova-network/sdk viemimport { Prova } from '@prova-network/sdk'
import { createWalletClient, http } from 'viem'
import { base } from 'viem/chains'
import { privateKeyToAccount } from 'viem/accounts'
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`)
const wallet = createWalletClient({ account, chain: base, transport: http() })
const prova = Prova.create({ account: wallet.account, chain: base })
// Upload
const { cid, dealId } = await prova.storage.upload(bytes, {
redundancy: 4,
termDays: 30,
})
// Retrieve
const recovered = await prova.storage.download({ pieceCid: cid })Services hang off the Prova instance:
| Service | Module |
|---|---|
prova.storage |
upload, download, list, manage redundancy |
prova.payments |
top up, escrow, withdraw |
prova.providers |
discover provers, read reputation |
Full reference: docs.prova.network/sdk.
Forked from FilOzone/synapse-sdk
under the Permissive License Stack (Apache-2.0 OR MIT). Adapted for Prova:
- Class rename:
Synapse→Prova - Chain swap: Filecoin → Base
- Currency swap: USDFC → USDC
- Dropped Filecoin-specific modules (FilBeam CDN, USDFC, SP endorsements)
See ATTRIBUTION.md for full upstream credits.
Apache-2.0 OR MIT. See LICENSE.