Останнє оновлення сторінки: September 3, 2020

Ресурси для розробників

Перші кроки

Якщо ви новачок у розробці з Ethereum, ви в потрібному місці. Ці посібники, створені спільнотою Ethereum, ознайомлять вас з основами технологічного стека Ethereum та представлять базові концепції, які можуть відрізнятись від розробки інших програм, з якими ви знайомі.

Бажаєте розпочати програмувати одразу? Розпочніть тут.

Потрібен простий приклад для початку? Перегляньте наші навчальні ресурси.

Корисні ресурси

Мови програмування смарт-контрактів

Будь-яка програма, що працює на віртуальній машині Ethereum (EVM), зазвичай називається "смарт-контрактом". Найпопулярнішими мовами для написання смарт-контрактів на Ethereum є Solidity та Vyper, хоча існують й інші, які знаходяться в стадії розробки.

Solidity — найпопулярніша мова на Ethereum, натхненна C ++, Python та JavaScript.

Vyper — мова, орієнтована на безпеку Ethereum, базується на Python.

Шукаєте інші варіанти?

Особливі ресурси для мов

Ми створюємо набір сторінок для розробників для певної мови, щоб вони могли дізнатися про потрібну мову програмування для Ethereum.

Інструменти для розробників

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

Платформи

Truffle — середовище розробки, система тестування, створення конвеєру та інші інструменти.

Embark — середовище розробки, система тестування та інші інструменти, інтегровані з Ethereum, IPFS і Whisper.

Waffle — платформа для просунутої розробки та тестування смарт-контрактів (на основі ethers.js).

Etherlime — платформа на основі Ethers.js для розробки (на Solidity та Vyper), розгортання, налагодження і тестування децентралізованих програм тощо.

Інші інструменти

Ethereum Grid — програма для ПК для завантаження, налаштування і роботи з клієнтами та інструментами Ethereum.

Buidler — засіб для запуску завдань для розробників смарт-контрактів Ethereum.

OpenZeppelin SDK — комплексний набір інструментів для смарт-контрактів: комплекс засобів, які допоможуть вам розробляти, компілювати, модернізувати та розгортати смарт-контракти, а також взаємодіяти з ними.

The Graph — протокол індексації даних Ethereum та IPFS і створення запитів з використанням GraphQL.

Tenderly — платформа для моніторингу ваших смарт-контрактів із відстеженням помилок, надсиланням сповіщень, показниками ефективності та детальною аналітикою контрактів.

Python Tooling — різноманітні бібліотеки для взаємодії Ethereum з використанням Python.

Brownie — платформа розробки і тестування на основі Python.

web3j — інтегрована бібліотека Java/Android/Kotlin/Scala для Ethereum.

One Click Dapp — створення клієнтських програм безпосередньо з ABI для швидкої розробки та тестування.

Шукаєте інші варіанти?

Інтегровані середовища розробки (IDE)

Ethereum Studio — IDE, що працює через Інтернет, є ідеальним ресурсом для починаючих розробників, які бажають експериментувати із смарт-контрактами. Ethereum Studio надає багато шаблонів, інтеграцію з MetaMask, реєстратор транзакцій та вбудовану в браузер віртуальну машину Ethereum (EVM), яка допоможе вам якнайшвидше почати створювати програми на Ethereum.

Visual Studio Code — професійна міжплатформенна IDE з офіційною підтримкою Ethereum.

Remix — IDE, що працює через Інтернет, із вбудованим статичним аналізом і тестовою віртуальною машиною блокчейну.

EthFiddle — IDE, що працює через Інтернет, яка дає змогу писати, компілювати та налагоджувати ваші смарт-контракти.

Шукаєте інші варіанти?

API Javascript для клієнтських програм

Web3.js — API Javascript для Ethereum.

Ethers.js — повна реалізація гаманця Ethereum та інших службових програм на JavaScript і TypeScript.

light.js — реактивна бібліотека JS високого рівня, оптимізована для легких клієнтів.

Web3-wrapper — Typescript-альтернатива для Web3.js.

Шукаєте інші варіанти?

API серверної частини

Infura — API Ethereum як сервіс.

Шлюз Cloudflare Ethereum.

Nodesmith — доступ API JSON-RPC до основних та тестових мереж Ethereum.

Chainstack — спільні та виділені вузли Ethereum як сервіс.

Сховище

IPFS — файлова система InterPlanetary, децентралізована система зберігання та передавання файлів для Ethereum

Swarm — платформа розподіленого зберігання та сервіс розповсюдження контенту для стека Ethereum web3.

OrbitDB — децентралізована однорангова база даних, що працює поверх IPFS.

Інструменти безпеки

Безпека смарт-контрактів

Slither — платформа статичного аналізу Solidity на Python 3.

MythX — аналіз безпеки API для смарт-контрактів Ethereum.

Mythril — інструмент для аналізу безпеки байт-коду EVM.

SmartContract.Codes — пошукова система для перевіреного вихідного коду Solidity.

Manticore — інтерфейс командного рядка, який використовує інструмент символьного виконання в смарт-контрактах та бінарних файлах.

Securify — сканер безпеки смарт-контрактів Ethereum.

ERC20 Verifier — інструмент перевірки, який використовується для перевірки відповідності компілювання контракту стандарту ERC20.

Офіційна перевірка

Інформація про офіційну перевірку

Шукаєте інші варіанти?

Інструменти тестування

Solidity-Coverage — альтернативний інструмент перевірки коду на Solidity.

hevm — реалізація EVM, створена спеціально для модульного тестування та налагодження смарт-контрактів.

Whiteblock Genesis — ізольоване середовище для комплексної розробки і тестування блокчейну.

Шукаєте інші варіанти?

Інструменти дослідження блоків

Інструменти дослідження блоків — це сервіси, які дозволяють переглядати блокчейн Ethereum (та його тестові мережі) шляхом пошуку інформації про конкретні транзакції, блоки, контракти та інші операції в мережі.

Тестові мережі й роздача

Спільнота Ethereum підтримує декілька тестових мереж. Вони використовуються розробниками для тестування своїх програм в різних умовах перед розгортанням в головній мережі Ethereum.

Ropsten — підтвердження роботи блокчейн, можна видобути тестовий ether.

Rinkeby — підтвердження повноважень блокчейн, яке підтримується командою розробки Geth.

Goerli — підтвердження повноваження блокчейн між клієнтами, створене і підтримуване спільнотою Goerli

Клієнти та запуск власного вузла

Мережа Ethereum складається з багатьох вузлів, на яких працює із сумісне клієнтське програмне забезпечення. Більшість з цих вузлів працюють на платформах Geth або Parity, кожна з яких може бути налаштована по-різному відповідно до ваших потреб.

Клієнти

Geth — клієнти Ethereum, реалізований на Go.

Parity — клієнт Ethereum, реалізований на Rust.

Pantheon — клієнт Ethereum, реалізований на Java.

Nethermind — клієнт Ethereum, реалізований на C# .NET Core.

Запуск власного вузла

Ethnode — запускається як вузол Ethereum (на Geth або Parity) для локальної розробки.

Ресурси вузлів Ethereum

Шукаєте інші варіанти?

Передова практика, шаблони і антишаблони

Смарт-контракти

DappSys — безпечні, прості й гнучкі будівельні блоки для смарт-контрактів.

OpenZeppelin Contracts — бібліотека для розробки безпечних смарт-контрактів.

aragonOS — шаблони для оновлення і керування дозволами.

Реєстр слабких місць в смарт-контрактах (SCW)

Безпека

Посібник із найкращих методик для реалізації безпеки смарт-контрактів

Стандарт перевірки безпеки смарт-контрактів (SCSVS)

Шукаєте інші варіанти?

Підтримка розробників і навчання

Загальне навчання

Ethereum Stackexchange

ConsenSys Academy — повний курс для розробників для Ethereum, призначений для проходження у власному темпі та відкритий цілий рік.

Чат Solidity Gitter

Всі чати Ethereum Gitter

Chainshot — посібники з розробки децентралізованих веб-програм (dapp).

Blockgeeks — онлайн-курси з технології блокчейну.

DappUniversity — дізнайтеся, як розробляти децентралізовані програми на блокчейні Ethereum.

B9lab Academy — головна сторінка найстарішого професійного курсу для розробників децентралізованих програм для Ethereum та подальше навчання для аудиторів і забезпечення якості. Включ. навчання та перевірку коду.

Навчання на основі гри

Cryptozombies — дізнайтеся, як розробляти ігри на Ethereum.

Ethernaut — варгейм, написана на Solidity, де кожен рівень є контрактом, який потрібно зламати.

Capture the Ether — гра в безпеку смарт-контрактів Ethereum.

Дизайн інтерфейсу/взаємодії з користувачем

Rimble UI — адаптивні компоненти та стандарти дизайну для децентралізованих програм.

Стандарти

Спільнота Ethereum прийняла багато корисних стандартів для розробників. Зазвичай вони вносяться як пропозиції щодо вдосконалення Ethereum (EIP, Ethereum Improvement Proposals), які обговорюються членами спільноти з використанням стандартного процесу.

Деякі EIP стосуються стандартів на рівні програм (наприклад, стандарт формату смарт-контрактів), які вводяться як запит на коментування Ethereum (ERC). Багато ERC є критично важливими і широко використовуються в екосистемі Ethereum.