Best in class decentralized storage SDK for Browser and Node
Install the latest version of the SDK with either npm
or yarn
:
npm install @thirdweb-dev/storage
yarn add @thirdweb-dev/storage
Once you have the Thirdweb Storage SDK installed, you can use it to easily upload and download files and other data using decentralized storage systems.
Here's a simple example using the SDK to upload and download a file from IPFS:
import { ThirdwebStorage } from "@thirdweb-dev/storage";
// First, instantiate the SDK
const storage = new ThirdwebStorage();
// Now we can upload a file and get the upload URI
const file = readFileSync("path/to/file.jpg");
const uri = await storage.upload(file);
// Finally we can download the file data again
const res = await storage.download(uri);
const data = await res.text();
Alternatively, we can use the SDK to upload and download metadata and JSON objects, and we can also upload multiple items at once:
// We define metadata for 2 different NFTs
const metadata = [
{
name: "NFT #1",
description: "This is my first NFT",
image: readFileSync("path/to/file.jpg"),
properties: {
coolness: 100,
},
},
{
name: "NFT #2",
description: "This is my second NFT",
image: readFileSync("path/to/file.jpg"),
properties: {
coolness: 200,
},
},
];
// And now we can upload it all at once to a single directory
const uris = await storage.uploadBatch(metadata);
// And easily retrieve the metadata
const metadata = await storage.downloadJSON(uris);
You can learn more about thirdweb and the Storage SDK with the following resources: