Upload API
upload(data, tags?, anchor?)
Uploads data to Irys.
Parameters
| Name | Type | Description |
|---|---|---|
| data | string | Buffer | Readable | The data to upload. |
| tags | Tag[] | (Optional) Metatags. |
| anchor | string | (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
Uploads of less than 100 KiB are free. For larger uploads, you'll need to fund your account first.
Example
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.