Последнее обновление страницы: март 06, 2020

Ресурсы для разработчиков

Приступая к работе

Вы только начинаете разрабатывать с помощью Ethereum? Тогда вы находитесь в правильном месте. Эти руководства, созданные сообществом Ethereum, познакомят вас с основой технологического стека и базовыми концепциями. Они могут отличаться от привычных вам по разработке других приложений.

Нужен простой пример для начала? Посмотрите ethereum.org/ru/learn.

Языки умных контрактов

Любая программа, которая работает на виртуальной машине Ethereum (EVM), обычно называется «умным контрактом». Самые популярные языки для написания умных контрактов на Ethereum: Solidity и Vyper, но есть и другие в разработке.

Solidity Наиболее популярный язык для Ethereum, вдохновленный C++, Python и Javascript

Vyper Ориентированный на безопасность язык для Ethereum, вдохновленный Python.

Ищете другие варианты?

Инструменты для разработчиков

Вокруг Ethereum существует большое и постоянно растущее количество инструментов, призванных помогать разработчикам создавать, тестировать и разворачивать приложения. Ниже вы найдете наиболее популярные инструменты, чтобы начать работать. Если вы хотите погрузиться глубже, ознакомьтесь с этим полным списком.

Truffle Среда разработки, система тестирования, создание конвейера и другие инструменты.

Embark Среда разработки, система тестирования и другие инструменты, интегрированные с Ethereum, IPFS и Whisper.

Waffle Система для продвинутой разработки и тестирования умных контрактов (основана на ethers.js).

Etherlime Основанная на Ethers.js система для разработки (Solidity и Vyper), развертывания, отладки и тестирования децентрализованных приложений.

Builder Планировщик задач для разработчиков умных контрактов с помощью Ethereum.

ZeppelinOS Система для разработки обновляемых умных контрактов и безопасного управления приложениями на их основе.

Ищете другие варианты?

Интегрированные среды разработки (IDE)

Visual Studio Code Профессиональная межплатформенная IDE с официальной поддержкой Ethereum.

Remix Сетевая IDE со встроенным статическим анализатором и тестовой виртуальной машиной Ethereum.

Superblocks Сетевая IDE со встроенной браузерной виртуальной машиной Ethereum, интеграцией MetaMask, регистратором транзакций и другими функциями.

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 как служба

Инструменты безопасности

Slither Статический анализатор для Solidity на Python 3

MythX API для анализа безопасности умных контрактов Ethereum

Manticore Интерфейс командной строки, который использует инструмент символьного выполнения для умных контрактов и бинарных данных.

Securify Сканер безопасности умных контрактов Ethereum

Дополнительная информация о формальной верификации

Ищете что-то еще?

Инструменты тестирования

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

hevm Реализация EVM специально для модульного тестирования и отладки умных контрактов.

Whiteblock Genesis Инструмент-песочница для непрерывной разработки и тестирования для блокчейна.

Ищете что-то еще?

Инструменты изучения блоков

Инструменты изучения блоков – это службы, которые позволяют просматривать блокчейн Ethereum (и его тестовые сети) и находить информацию о конкретных транзакциях, блоках, контрактах и других данных в блокчейне.

Тестовые сети и ресурсы раздачи токенов в них

Сообщество Ethereum поддерживает несколько тестовых сетей. Они используются разработчиками для тестирования своих приложений в различных условиях перед установкой в основную сеть Ethereum.

Ropsten Блокчейн с механизмом подтверждения транзакций в виде «доказательства работы» (PoW), тестовая сеть, в которой можно майнить

Rinkeby Блокчейн с «доказательством репутации» (PoA), который поддерживается командой разработки Geth

Goerli Межклиентский блокчейн PoA, созданный и поддерживаемый сообществом Goerli

Клиенты и запуск своего собственного узла

Сеть Ethereum состоит из многих узлов, каждый из которых работает на совместимом клиентском программном обеспечении. Большинство этих узлов работают на клиенте Geth или Parity, каждый из которых может быть настроен по-разному в соответствии с Вашими потребностями.

Geth Клиент Ethereum, реализованный на Go

Parity Клиент Ethereum, реализованный на Rust

Ethnode Запуск узла Ethereum (Geth или Parity) для локальной разработки.

Ресурсы об узлах Ethereum

Ищете что-то еще?

Лучшие практики, шаблоны и антишаблоны

DappSys Безопасные, простые, гибкие строительные блоки для умных контрактов.

OpenZeppelin Библиотека для разработки безопасных умных контрактов.

aragonOS Шаблоны для апгрейда контрактов и управления правами.

Реестр известных ошибок в умных контрактах

Лучшие практики в разработке безопасных умных контрактов

Ищете что-то еще?

Поддержка и обучение разработчиков

Ethereum Stackexchange

Чат Gitter о Solidity

Все чаты Gitter о Ethereum

Cryptozombies Учитесь разрабатывать игры на Ethereum.

Chainshot Веб-руководства по разработке децентрализованных приложений (dapp).

Blockgeeks Онлайн-курсы по технологии блокчейн

DappUniversity Научитесь создавать децентрализованные приложения на блокчейне Ethereum

Ethernaut Варгейм на Solidity, где каждый уровень – это контракт, который нужно взломать

UI/UX

Стандарты

Сообщество Ethereum приняло множество полезных для разработчиков стандартов. Обычно они обозначаются как предложения по улучшению Ethereum (Ethereum Improvement Proposals: EIP), которые обсуждаются участниками сообщества через стандартизированный процесс.

Некоторые EIP относятся к стандартам на уровне приложений (например, стандартный формат умного контракта), которые обозначаются как запрос на комментирование Ethereum (Ethereum Requests for Comment: ERC). Многие ERC являются критически важными и широко используются в экосистеме Ethereum.