StaticcreateCreate a payload for IPFS_ADD operation
Uploads content to IPFS and automatically pins it to the sender's account.
Content to upload (Buffer, Uint8Array, or string)
Optional filename, metadata, and custom charges configuration
IPFSAddPayload for transaction creation
// Simple text upload
const payload = IPFSOperations.createAddPayload(
'Hello, IPFS!',
{ filename: 'hello.txt' }
)
// Binary content
const imageBuffer = fs.readFileSync('image.png')
const imagePayload = IPFSOperations.createAddPayload(
imageBuffer,
{ filename: 'image.png', metadata: { type: 'image/png' } }
)
// With custom charges (recommended for cost control)
const quote = await demos.ipfs.quote(content.length, 'IPFS_ADD')
const chargedPayload = IPFSOperations.createAddPayload(
content,
{
filename: 'data.json',
customCharges: { maxCostDem: quote.cost_dem }
}
)
StaticcreateCreate IPFSCustomCharges object from quote response
Creates a fully formed custom charges object suitable for including directly in transaction content.
Response from ipfsQuote nodeCall
IPFS operation type
OptionaldurationBlocks: numberOptional duration for PIN operations
IPFSCustomCharges object
StaticcreateCreate a payload for IPFS_PIN operation
Pins an existing CID to the sender's account.
Content Identifier to pin
Optional duration, metadata, fileSize, and custom charges
IPFSPinPayload for transaction creation
// Pin indefinitely
const payload = IPFSOperations.createPinPayload('QmExample...')
// Pin with duration (blocks)
const timedPayload = IPFSOperations.createPinPayload('QmExample...', {
duration: 1000000, // ~30 days at 2.5s blocks
metadata: { source: 'user-upload' }
})
// Pin with custom charges (recommended for cost control)
const quote = await demos.ipfs.quote(fileSize, 'IPFS_PIN')
const chargedPayload = IPFSOperations.createPinPayload('QmExample...', {
fileSize: 1024,
customCharges: { maxCostDem: quote.cost_dem }
})
StaticcreateCreate a payload for IPFS_UNPIN operation
Removes a pin from the sender's account.
Content Identifier to unpin
IPFSUnpinPayload for transaction creation
StaticdecodeStaticdecodeStaticencodeStaticgetStaticisCheck if payload is an add operation
StaticisCheck if payload is a pin operation
StaticisCheck if payload is an unpin operation
StaticisStaticisStaticquoteConvert an ipfsQuote response to custom charges configuration
Convenience method for converting quote response to the format expected by createAddPayload and createPinPayload options.
Response from ipfsQuote nodeCall
Custom charges configuration for payload options
// Get quote from node
const quote = await demos.ipfs.quote(content.length, 'IPFS_ADD')
// Convert to custom charges options
const customCharges = IPFSOperations.quoteToCustomCharges(quote)
// Use in payload creation
const payload = IPFSOperations.createAddPayload(content, {
filename: 'data.json',
customCharges
})
IPFS Operations class for creating payloads and utility functions
This class provides static methods to create transaction payloads for IPFS operations. The payloads can be used with the Demos transaction system.
Example