Building with SettleMint/SDK Developer Guide

IPFS Storage

Integrating IPFS storage in your SettleMint dApp

About

The SettleMint IPFS SDK provides a simple way to interact with IPFS (InterPlanetary File System) through the SettleMint platform. It enables you to easily store and retrieve files using IPFS in a decentralized manner.

API Reference

Functions

createIpfsClient()

createIpfsClient(options): object

Defined in: sdk/ipfs/src/ipfs.ts:31

Creates an IPFS client for client-side use

Parameters
ParameterTypeDescription
options{ instance: string; }Configuration options for the client
options.instancestringThe URL of the IPFS instance to connect to
Returns

object

An object containing the configured IPFS client instance

NameTypeDefined in
clientKuboRPCClientsdk/ipfs/src/ipfs.ts:31
Throws

Will throw an error if the options fail validation

Example
import { createIpfsClient } from '@settlemint/sdk-ipfs';
 
const { client } = createIpfsClient({
  instance: 'https://ipfs.settlemint.com'
});
 
// Upload a file using Blob
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
const result = await client.add(blob);
console.log(result.cid.toString());

createServerIpfsClient()

createServerIpfsClient(options): object

Defined in: sdk/ipfs/src/ipfs.ts:60

Creates an IPFS client for server-side use with authentication

Parameters
ParameterTypeDescription
options{ accessToken: string; instance: string; }Configuration options for the client including authentication
options.accessTokenstringThe access token used to authenticate with the SettleMint platform
options.instancestringThe URL of the IPFS instance to connect to
Returns

object

An object containing the authenticated IPFS client instance

NameTypeDefined in
clientKuboRPCClientsdk/ipfs/src/ipfs.ts:60
Throws

Will throw an error if called on the client side or if options validation fails

Example
import { createServerIpfsClient } from '@settlemint/sdk-ipfs';
 
const { client } = createServerIpfsClient({
  instance: process.env.SETTLEMINT_IPFS_ENDPOINT,
  accessToken: process.env.SETTLEMINT_ACCESS_TOKEN
});
 
// Upload a file using Blob
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
const result = await client.add(blob);
console.log(result.cid.toString());

Contributing

We welcome contributions from the community! Please check out our Contributing guide to learn how you can help improve the SettleMint SDK through bug reports, feature requests, documentation updates, or code contributions.

License

The SettleMint SDK is released under the FSL Software License. See the LICENSE file for more details.

On this page