Быстрый старт

Irys SDK

Установка

В нашем примере для оплаты используется ETH. Вы можете использовать любой из поддерживаемых токенов.

Установите с помощью npm:

npm install @irys/upload @irys/upload-ethereum

Подключение к сети

Следующий код предназначен для использования ETH в качестве средства оплаты, посмотрите по ссылке все поддерживаемые токены.

import { Uploader } from "@irys/upload";
import { Ethereum } from "@irys/upload-ethereum";

const getIrysUploader = async () => {
  const irysUploader = await Uploader(Ethereum).withWallet(process.env.PRIVATE_KEY);
  return irysUploader;
};

Пополнение Irys

Пополните свой счет в сети Irys с помощью любого из поддерживаемых нами токенов:

const fundAccount = async () => {
	const irysUploader = await getIrysUploader();
	try {
		const fundTx = await irysUploader.fund(irysUploader.utils.toAtomic(0.05));
		console.log(`Successfully funded ${irysUploader.utils.fromAtomic(fundTx.quantity)} ${irysUploader.token}`);
	} catch (e) {
		console.log("Error when funding ", e);
	}
};

Загрузка

Загрузка данных

const uploadData = async () => {
	const irysUploader = await getIrysUploader();
	const dataToUpload = "hirys world.";
	try {
		const receipt = await irysUploader.upload(dataToUpload);
		console.log(`Data uploaded ==> https://gateway.irys.xyz/${receipt.id}`);
	} catch (e) {
		console.log("Error when uploading ", e);
	}
};

Загрузка файла

const uploadFile = async () => {
	const irysUploader = await getIrysUploader();
	// Your file
	const fileToUpload = "./myImage.png";

	const tags = [{ name: "application-id", value: "MyNFTDrop" }];

	try {
		const receipt = await irysUploader.uploadFile(fileToUpload, { tags: tags });
		console.log(`File uploaded ==> https://gateway.irys.xyz/${receipt.id}`);
	} catch (e) {
		console.log("Error when uploading ", e);
	}
};

Загрузка папки

Вы можете загрузить группу файлов в рамках одной транзакции как с сервера, так и из браузера.

const uploadFolder = async () => {
	const irysUploader = await getIrysUploader();

	// Upload an entire folder
	const folderToUpload = "./my-images/"; // Path to folder
	try {
		const receipt = await irysUploader.uploadFolder("./" + folderToUpload, {
			indexFile: "", // Optional index file (file the user will load when accessing the manifest)
			batchSize: 50, // Number of items to upload at once
			keepDeleted: false, // whether to keep now deleted items from previous uploads
		}); // Returns the manifest ID

		console.log(`Files uploaded. Manifest ID ${receipt.id}`);
	} catch (e) {
		console.log("Error when uploading ", e);
	}
};

Сторонние инструменты сборки

Parcel

Если вы используете Parcel, вам необходимо вручную включить экспорт пакетов, добавив следующее в файл package.json в корневом каталоге вашего проекта.

{
	"@parcel/resolver-default": {
		"packageExports": true
	}
}

Ссылка на оригинальную статью: https://docs.irys.xyz/build/d/quickstart

Последнее обновление