Перейти до основного вмісту

Початок роботи з розробкою на Етеріумі

JavaScript
ethers.js
вузли
запити
Alchemy
Для початківців
Елан Гальперн
30 жовтня 2020 р.
4 хвилин на читання

Ethereum and Alchemy logos

Це посібник для початківців щодо початку роботи з розробкою на Етеріумі. У цьому посібнику ми будемо використовувати Alchemy (відкривається в новій вкладці) — провідну платформу для розробників блокчейну, яка обслуговує мільйони користувачів із 70% найкращих блокчейн-застосунків, зокрема Maker, 0x, MyEtherWallet, Dharma та Kyber. Alchemy надасть нам доступ до кінцевої точки API в ланцюзі Етеріуму, щоб ми могли читати та записувати транзакції.

Ми проведемо вас від реєстрації в Alchemy до написання вашого першого скрипта Web3! Досвід розробки на блокчейні не потрібен!

1. Зареєструйте безкоштовний акаунт Alchemy

Створити акаунт в Alchemy легко, зареєструйтеся безкоштовно тут (відкривається в новій вкладці).

2. Створіть застосунок Alchemy

Щоб взаємодіяти з ланцюгом Етеріуму та використовувати продукти Alchemy, вам потрібен ключ API для автентифікації ваших запитів.

Ви можете створити ключі API на панелі керування (відкривається в новій вкладці). Щоб створити новий ключ, перейдіть до «Create App» (Створити застосунок), як показано нижче:

Окрема подяка ShapeShift (відкривається в новій вкладці) за те, що дозволили нам показати їхню панель керування!

Alchemy dashboard

Заповніть дані в розділі «Create App», щоб отримати новий ключ. Тут ви також можете побачити застосунки, які ви створили раніше, і ті, що створені вашою командою. Отримайте наявні ключі, натиснувши «View Key» (Переглянути ключ) для будь-якого застосунку.

Create app with Alchemy screenshot

Ви також можете отримати наявні ключі API, навівши курсор на «Apps» (Застосунки) і вибравши один із них. Тут ви можете натиснути «View Key», а також «Edit App» (Редагувати застосунок), щоб додати певні домени до білого списку, переглянути кілька інструментів для розробників та аналітику.

3. Зробіть запит із командного рядка

Взаємодійте з блокчейном Етеріуму через Alchemy за допомогою JSON-RPC та curl.

Для запитів вручну ми рекомендуємо взаємодіяти з JSON-RPC через POST-запити. Просто передайте заголовок Content-Type: application/json і ваш запит як тіло POST із такими полями:

  • jsonrpc: версія JSON-RPC — наразі підтримується лише 2.0.
  • method: метод API ETH. Див. довідник API.
  • params: список параметрів для передачі в метод.
  • id: ідентифікатор вашого запиту. Буде повернутий у відповіді, щоб ви могли відстежувати, якому запиту належить відповідь.

Ось приклад, який ви можете запустити з командного рядка, щоб отримати поточну ціну газу:

curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'

ПРИМІТКА: Замініть https://eth-mainnet.alchemyapi.io/v2/demo на ваш власний ключ API https://eth-mainnet.alchemyapi.io/v2/**your-api-key.

Результати:

{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }

4. Налаштуйте свій клієнт Web3

Якщо у вас уже є клієнт, змініть поточну URL-адресу провайдера вузла на URL-адресу Alchemy з вашим ключем API: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"

ПРИМІТКА: Наведені нижче скрипти потрібно запускати в середовищі Node або зберегти у файлі, а не запускати з командного рядка. Якщо у вас ще не встановлено Node або npm, дотримуйтесь інструкцій зі встановлення Node.js (відкривається в новій вкладці).

Існує безліч бібліотек Web3, які ви можете інтегрувати з Alchemy, однак ми рекомендуємо використовувати Alchemy Web3 (відкривається в новій вкладці) — повноцінну заміну для Web3.js, створену та налаштовану для безперебійної роботи з Alchemy. Це надає безліч переваг, таких як автоматичні повторні спроби та надійна підтримка WebSocket.

Щоб встановити AlchemyWeb3.js, перейдіть до каталогу вашого проєкту та виконайте:

За допомогою Yarn:

yarn add @alch/alchemy-web3

За допомогою NPM:

npm install @alch/alchemy-web3

Щоб взаємодіяти з інфраструктурою вузлів Alchemy, запустіть у Node.js або додайте це до файлу JavaScript:

const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
  "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)

5. Напишіть свій перший скрипт Web3!

Тепер, щоб перейти до практики з програмуванням Web3, ми напишемо простий скрипт, який виводить номер останнього блоку з головної мережі Ethereum.

1. Якщо ви ще цього не зробили, у своєму терміналі створіть новий каталог проєкту та перейдіть до нього за допомогою cd:

mkdir web3-example
cd web3-example

2. Встановіть залежність Alchemy Web3 (або будь-яку іншу Web3) у свій проєкт, якщо ви ще цього не зробили:

npm install @alch/alchemy-web3

3. Створіть файл із назвою index.js і додайте такий вміст:

Зрештою вам слід замінити demo на ваш ключ HTTP API Alchemy.

async function main() {
  const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
  const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
  const blockNumber = await web3.eth.getBlockNumber()
  console.log("The latest block number is " + blockNumber)
}
main()

Не знайомі з асинхронністю? Перегляньте цю статтю на Medium (відкривається в новій вкладці).

4. Запустіть його у своєму терміналі за допомогою node

node index.js

5. Тепер ви маєте побачити номер останнього блоку у своїй консолі!

The latest block number is 11043912

Ура! Вітаємо! Ви щойно написали свій перший скрипт Web3 за допомогою Alchemy 🎉

Не знаєте, що робити далі? Спробуйте розгорнути свій перший смарт-контракт і попрактикуватися в програмуванні на Solidity в нашому Посібнику зі смарт-контракту Hello World або продовжуйте вивчати документацію Alchemy (відкривається в новій вкладці) для отримання додаткових прикладів.

Зареєструйтеся в Alchemy безкоштовно (відкривається в новій вкладці), перегляньте нашу документацію (відкривається в новій вкладці) та слідкуйте за останніми новинами у Twitter (відкривається в новій вкладці).