Початок роботи з розробкою на Етеріумі
Це посібник для початківців щодо початку роботи з розробкою на Етеріумі. У цьому посібнику ми будемо використовувати Alchemy (opens in a new tab) — провідну платформу для розробників блокчейну, яка обслуговує мільйони користувачів із 70% найкращих блокчейн-застосунків, зокрема Maker, 0x, MyEtherWallet, Dharma та Kyber. Alchemy надасть нам доступ до кінцевої точки API в ланцюзі Етеріуму, щоб ми могли читати та записувати транзакції.
Ми проведемо вас від реєстрації в Alchemy до написання вашого першого скрипта Web3! Досвід розробки на блокчейні не потрібен!
1. Зареєструйте безкоштовний акаунт Alchemy
Створити акаунт в Alchemy легко, зареєструйтеся безкоштовно тут (opens in a new tab).
2. Створіть застосунок Alchemy
Щоб взаємодіяти з ланцюгом Етеріуму та використовувати продукти Alchemy, вам потрібен ключ API для автентифікації ваших запитів.
Ви можете створити ключі API на панелі керування (opens in a new tab). Щоб створити новий ключ, перейдіть до «Create App» (Створити застосунок), як показано нижче:
Окрема подяка ShapeShift (opens in a new tab) за те, що дозволили нам показати їхню панель керування!
Заповніть дані в розділі «Create App», щоб отримати новий ключ. Тут ви також можете побачити застосунки, які ви створили раніше, і ті, що створені вашою командою. Отримайте наявні ключі, натиснувши «View Key» (Переглянути ключ) для будь-якого застосунку.
Ви також можете отримати наявні ключі 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. (opens in a new tab)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 (opens in a new tab) на ваш власний ключ 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, перегляньте цей короткий посібник із налаштування для Mac (opens in a new tab).
Існує безліч бібліотек Web3 (opens in a new tab), які ви можете інтегрувати з Alchemy, однак ми рекомендуємо використовувати Alchemy Web3 (opens in a new tab) — повноцінну заміну для Web3.js, створену та налаштовану для безперебійної роботи з Alchemy. Це надає безліч переваг, таких як автоматичні повторні спроби та надійна підтримка WebSocket.
Щоб встановити AlchemyWeb3.js, перейдіть до каталогу вашого проєкту та виконайте:
За допомогою Yarn:
yarn add @alch/alchemy-web3
За допомогою NPM:
npm install @alch/alchemy-web3
Щоб взаємодіяти з інфраструктурою вузлів Alchemy, запустіть у NodeJS або додайте це до файлу 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 (opens in a new tab).
4. Запустіть його у своєму терміналі за допомогою node
node index.js
5. Тепер ви маєте побачити номер останнього блоку у своїй консолі!
The latest block number is 11043912
Ура! Вітаємо! Ви щойно написали свій перший скрипт Web3 за допомогою Alchemy 🎉
Не знаєте, що робити далі? Спробуйте розгорнути свій перший смарт-контракт і попрактикуватися в програмуванні на Solidity в нашому посібнику зі смарт-контракту «Hello World» (opens in a new tab) або перевірте свої знання панелі керування за допомогою демонстраційного застосунку панелі керування (opens in a new tab)!
Зареєструйтеся в Alchemy безкоштовно (opens in a new tab), перегляньте нашу документацію (opens in a new tab) та слідкуйте за останніми новинами у Twitter (opens in a new tab).



