---
title: "Етеріум для розробників JavaScript"
description: "Дізнайтеся, як розробляти для Етеріуму, використовуючи проєкти та інструменти на базі JavaScript."
lang: uk
---

JavaScript є однією з найпопулярніших мов в екосистемі Етеріуму. Насправді існує [команда](https://github.com/ethereumjs), яка прагне перенести якомога більше можливостей Етеріуму в JavaScript.

Є можливості писати на JavaScript (або чомусь схожому) на [всіх рівнях стека](/developers/docs/ethereum-stack/).

## Взаємодія з Етеріумом {#interact-with-ethereum}

### Бібліотеки JavaScript API {#javascript-api-libraries}

Якщо ви хочете писати на JavaScript для запитів до блокчейну, надсилання транзакцій тощо, найзручніший спосіб зробити це — використати [бібліотеку JavaScript API](/developers/docs/apis/javascript/). Ці API дозволяють розробникам легко взаємодіяти з [вузлами в мережі Етеріум](/developers/docs/nodes-and-clients/).

Ви можете використовувати ці бібліотеки для взаємодії зі смарт-контрактами в Етеріумі, тому можна створити децентралізований застосунок (dapp), де ви просто використовуєте JavaScript для взаємодії з уже існуючими контрактами.

**Ознайомтеся**

- [Web3.js](https://web3js.readthedocs.io)
- [Ethers.js](https://ethers.org) — _включає реалізацію гаманця Етеріуму та утиліти на JavaScript і TypeScript._
- [viem](https://viem.sh) — _інтерфейс TypeScript для Етеріуму, який надає низькорівневі примітиви без збереження стану для взаємодії з Етеріумом._
- [Drift](https://ryangoree.github.io/drift/) — _мета-бібліотека TypeScript із вбудованим кешуванням, хуками та тестовими моками для легкої розробки в Етеріумі за допомогою бібліотек Web3._

### Смарт-контракти {#smart-contracts}

Якщо ви розробник JavaScript і хочете написати власний смарт-контракт, вам варто ознайомитися з [Solidity](https://solidity.readthedocs.io). Це найпопулярніша мова для смарт-контрактів, і вона синтаксично схожа на JavaScript, що може полегшити її вивчення.

Детальніше про [смарт-контракти](/developers/docs/smart-contracts/).

## Розуміння протоколу {#understand-the-protocol}

### Віртуальна машина Етеріуму {#the-ethereum-virtual-machine}

Існує реалізація [віртуальної машини Етеріуму](/developers/docs/evm/) на JavaScript. Вона підтримує останні правила форків. Правила форків стосуються змін, внесених до EVM у результаті запланованих оновлень.

Вона розділена на різні пакети JavaScript, з якими ви можете ознайомитися для кращого розуміння:

- Акаунти
- Блоки
- Сам блокчейн
- Транзакції
- Та багато іншого...

Це допоможе вам зрозуміти такі речі, як «яка структура даних акаунта?».

Якщо ви віддаєте перевагу читанню коду, цей JavaScript може стати чудовою альтернативою читанню нашої документації.

**Ознайомтеся з EVM**  
[`@ethereumjs/evm`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm)

### Вузли та клієнти {#nodes-and-clients}

Клієнт EthereumJS перебуває в активній розробці, що дозволяє вам заглибитися в те, як працюють клієнти Етеріуму, зрозумілою вам мовою — JavaScript!

**Ознайомтеся з клієнтом**  
[`@ethereumjs/client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client)

## Інші проєкти {#other-projects}

У світі JavaScript для Етеріуму також відбувається багато іншого, зокрема:

- бібліотеки утиліт для гаманців.
- інструменти для генерації, імпорту та експорту ключів Етеріуму.
- реалізація `merkle-patricia-tree` — структури даних, описаної в Жовтій книзі Етеріуму.

Заглиблюйтеся в те, що вас найбільше цікавить, у [репозиторії EthereumJS](https://github.com/ethereumjs)

## Подальше читання {#further-reading}

_Знаєте ресурс спільноти, який вам допоміг? Відредагуйте цю сторінку та додайте його!_