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

### Irys SDK

### Установка

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

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

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

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

Следующий код предназначен для использования ETH в качестве средства оплаты, посмотрите по [ссылке](https://docs.irys.xyz/build/d/features/supported-tokens) все поддерживаемые токены.

```
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>
