upload(data, tags?, anchor?)

Uploads data to Irys.

Parameters

NameTypeDescription
datastring | Buffer | ReadableThe data to upload.
tagsTag[](Optional) Metatags.
anchorstring(Optional) Random value used to prevent data item ID collisions, used with deterministic data item IDs only.

Returns

Returns an object with the following value:

response = {
  id,              // Transaction ID (used to download the data)
}

The response also carries the fields of the legacy receipt object. They are kept for backwards compatibility, are not documented, and should not be relied on.

Funding

Note
Note
Uploads of less than 100 KiB are free. For larger uploads, you'll need to fund your account first.

Example

Note
Note
Use a token-specific version of getIrysUploader() to connect to an Irys Bundler before uploading. Choose one from the setup documentation.
const irys = await getIrysUploader();

const dataToUpload = "Hirys world.";
try {
  const response = await irys.upload(dataToUpload);
  console.log(`Data uploaded ==> https://gateway.irys.xyz/${response.id}`);
} catch (e) {
  console.log("Error uploading data ", e);
}

Downloading

Use the transaction ID returned as part of the response to download the data by creating a URL in the format https://gateway.irys.xyz/:transactionId.