DEVELOPER DOCS
API Docs
uploadFile()

irys.uploadFile(fileName, tags)

Permanently uploads a file.

Parameters

  • fileName: Name of the file to upload
  • tags: Optional metatags

Returns

  • receipt: A receipt in the form of a JSON object with the following values:
response = {
	id, // Transaction id (used to download the data)
	timestamp, // Timestamp (UNIX milliseconds) of when the transaction was created and verified
	version, // The version of this JSON file, currently 1.0.0
	public, // Public key of the bundler node used
	signature, // A signed deep hash of the JSON receipt
	deadlineHeight, // The block number by which the transaction must be finalized on Arweave
	block, // Deprecated
	validatorSignatures, // Deprecated
	verify, // An async function used to verify the receipt at any time
}

Example

const irys = await getIrys();
 
// Your file
const fileToUpload = "./myImage.png";
 
// Add a custom tag that tells the gateway how to serve this file to a browser
const tags = [{ name: "Content-Type", value: "image/png" }];
 
try {
	const response = await irys.uploadFile(fileToUpload, tags);
	console.log(`File uploaded ==> https://gateway.irys.xyz/${response.id}`);
} catch (e) {
	console.log("Error uploading file ", e);
}
ℹ️

The transaction id returned as part of the response is used to download the data, simply create a URL with the format https://gateway.irys.xyz/[transaction-id].