ethers.js - это мощная библиотека для работы с Ethereum, которая предоставляет удобные инструменты для создания децентрализованных приложений (dApps). Если вы хотите начать разрабатывать на Ethereum, установка и использование ethers.js является необходимым шагом.
В этой статье мы рассмотрим, как установить ethers.js на ваш проект и предоставим примеры его основных возможностей. Прежде чем мы начнем, убедитесь, что у вас уже установлен Node.js, так как для работы с ethers.js требуется Node.js версии 10 или выше.
Чтобы установить ethers.js, вам необходимо открыть терминал и выполнить следующую команду:
npm install ethers
После успешной установки вы можете импортировать ethers.js в свой проект с помощью следующей строки кода:
const ethers = require('ethers');
Теперь, когда вы установили ethers.js и подключили его к своему проекту, вы готовы начать использовать все возможности этой библиотеки для работы с Ethereum. В следующих разделах мы рассмотрим основные возможности ethers.js и предоставим вам примеры, чтобы вы могли легко разобраться в их использовании.
Установка ethers.js
Установка с использованием npm
ethers.js можно легко установить с помощью менеджера пакетов npm (Node Package Manager). Для этого следуйте этим шагам:
- Установите npm, если его еще нет на вашем компьютере. Вы можете узнать, установлен ли npm, выполнив команду
npm -v
в командной строке. - Откройте командную строку (терминал) и перейдите в папку вашего проекта.
- Введите команду
npm install ethers
и дождитесь завершения установки. - После установки добавьте следующую строку в свой JavaScript-код для подключения библиотеки ethers.js:
const ethers = require('ethers');
Теперь вы можете использовать функционал ethers.js в своем проекте.
Установка с использованием загрузчика скриптов
Также вы можете подключить ethers.js напрямую в своем HTML-коде, используя тег <script>
. Для этого следуйте этим шагам:
- Скачайте файл ethers.js с официального сайта ethers.js или из репозитория на GitHub.
- Переместите файл ethers.js в папку вашего проекта.
- Добавьте следующую строку в ваш HTML-код для подключения библиотеки ethers.js:
<script src="путь_к_файлу/ethers.js"></script>
Теперь вы можете использовать функционал ethers.js в своем проекте.
Подготовка и установка Node.js
Шаг 1: Перейдите на официальный веб-сайт Node.js - https://nodejs.org.
Шаг 2: На главной странице вы увидите две версии для загрузки: "LTS" и "Current". Рекомендуется выбрать версию "LTS" (Long-Term Support), так как она стабильна и обеспечивает долгосрочную поддержку.
Шаг 3: Нажмите на кнопку "LTS", чтобы начать загрузку установщика Node.js.
Шаг 4: После завершения загрузки откройте установщик Node.js.
Шаг 5: В процессе установки следуйте инструкциям по установке Node.js. Выберите папку назначения и нажмите "Установить". Дождитесь окончания установки.
Шаг 6: После завершения установки проверьте версию Node.js, введя в командной строке следующую команду:
node -v
Если все прошло успешно, вы увидите версию Node.js, установленную на вашем компьютере.
Установка ethers.js с помощью npm
- Откройте терминал или командную строку и перейдите в папку вашего проекта.
- Введите команду
npm install ethers
и нажмите Enter. - npm автоматически загрузит и установит последнюю версию ethers.js и все его зависимости.
- После успешной установки вы можете начать использовать библиотеку ethers.js в своем проекте.
Пример использования ethers.js:
const ethers = require('ethers');
// Создание провайдера JSON-RPC
const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
// Создание кошелька
const wallet = ethers.Wallet.createRandom();
// Пример использования методов ethers.js
console.log('Адрес кошелька:', wallet.address);
console.log('Приватный ключ:', wallet.privateKey);
console.log('Баланс кошелька:', ethers.utils.formatEther(wallet.getBalance()));
Теперь вы готовы начать использовать ethers.js в своих проектах и разрабатывать приложения на базе Ethereum.
Отправка транзакции с использованием ethers.js
ethers.js предоставляет удобный способ отправки транзакций на блокчейн Ethereum.
Для отправки транзакции необходимо создать объект типа ethers.Wallet с приватным ключом. Приватный ключ можно получить из вашего кошелька или сгенерировать новый.
Пример создания кошелька:
const privateKey = "Ваш приватный ключ";
const wallet = new ethers.Wallet(privateKey);
После создания кошелька можно указать адрес получателя, сумму и другие параметры транзакции. Затем вызываем метод sendTransaction() у кошелька:
const recipientAddress = "Адрес получателя";
const amount = ethers.utils.parseEther("0.05"); // Сумма в ETH
const transaction = {
to: recipientAddress,
value: amount
};
const sendPromise = wallet.sendTransaction(transaction);
sendPromise.then((transactionHash) => {
console.log("Транзакция успешно отправлена, hash: " + transactionHash);
});
Метод sendTransaction() возвращает промис, который позволяет отследить статус отправки транзакции и получить хэш транзакции.
Используя ethers.js, вы можете также указать дополнительные параметры транзакции, такие как газовая цена и лимит газа. Например:
const transaction = {
to: recipientAddress,
value: amount,
gasPrice: ethers.utils.parseUnits("20", "gwei"), // Газовая цена
gasLimit: 21000 // Лимит газа
};
Таким образом, ethers.js предоставляет мощный инструментарий для отправки транзакций на блокчейн Ethereum с использованием удобного интерфейса.
Примеры работы с ethers.js
1. Создание объекта провайдера
При работе с ethers.js первым шагом является создание объекта провайдера. Этот объект определяет, каким способом вы будете подключаться к сети Ethereum.
Пример:
const ethers = require('ethers'); // Подключение к сети начинается с создания объекта провайдера const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/your-infura-project-id'); // Вы также можете выбрать другой провайдер, например, если у вас есть локальный узел Ethereum: // const provider = new ethers.providers.JsonRpcProvider('http://localhost:8545');
2. Создание кошелька
Для работы с ethers.js вам необходимо иметь кошелек Ethereum. Вы можете создать новый кошелек или импортировать существующий.
Пример создания нового кошелька:
// Создаем новый кошелек const wallet = ethers.Wallet.createRandom(); // Получаем приватный ключ кошелька const privateKey = wallet.privateKey; // Получаем адрес кошелька const address = wallet.address;
3. Подключение к кошельку
После создания кошелька, вы можете подключить его к провайдеру. Это позволит вам отправлять транзакции и получать информацию о состоянии сети.
Пример подключения кошелька:
// Подключаем кошелек к провайдеру const connectedWallet = new ethers.Wallet(privateKey, provider);
4. Получение баланса
Вы можете использовать ethers.js для получения баланса вашего кошелька Ethereum.
Пример получения баланса:
// Получаем баланс кошелька const balance = await connectedWallet.getBalance(); console.log(`Баланс кошелька: ${ethers.utils.formatEther(balance)} ETH`);
5. Отправка транзакции
С помощью ethers.js вы можете отправлять транзакции на сеть Ethereum.
Пример отправки транзакции:
// Создаем объект транзакции const transaction = { to: '0xaddress', // Адрес получателя value: ethers.utils.parseEther('1'), // Количество ETH для отправки }; // Отправляем транзакцию const response = await wallet.sendTransaction(transaction); console.log('Транзакция отправлена! Хэш транзакции:', response.hash);
6. Получение информации о блоке
Вы можете использовать ethers.js для получения информации о блоке в сети Ethereum.
Пример получения информации о блоке:
// Получаем номер последнего блока const blockNumber = await provider.getBlockNumber(); console.log(`Последний блок: ${blockNumber}`); // Получаем информацию о блоке по его номеру const block = await provider.getBlock(blockNumber); console.log('Информация о блоке:', block);