Последнее обновление страницы: November 13, 2020
Ресурсы для разработчиков
Приступая к работе
Вы только начинаете разрабатывать с помощью Ethereum? Тогда вы находитесь в правильном месте. Эти руководства, созданные сообществом Ethereum, познакомят вас с основой технологического стека и базовыми концепциями. Они могут отличаться от привычных вам по разработке других приложений.
Нужен простой пример для начала? Посмотрите ethereum.org/ru/learn.
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Updated often - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Updated Often - Joshua Cassidy
Языки умных контрактов
Любая программа, которая работает на виртуальной машине 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
Дополнительная информация о формальной верификации
- How formal verification of smart-contacts works July 20, 2018 - Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts Jan 29, 2018 - Bernard Mueller
Ищете что-то еще?
Инструменты тестирования
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
- Node Configuration Cheat Sheet Jan 5, 2019 - Afri Schoeden
Ищете что-то еще?
Лучшие практики, шаблоны и антишаблоны
DappSys Безопасные, простые, гибкие строительные блоки для умных контрактов.
OpenZeppelin Библиотека для разработки безопасных умных контрактов.
aragonOS Шаблоны для апгрейда контрактов и управления правами.
Реестр известных ошибок в умных контрактах
Лучшие практики в разработке безопасных умных контрактов
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Подборка рекомендаций и лучших практик для обеспечения безопасности
Ищете что-то еще?
Поддержка и обучение разработчиков
Ethereum Stackexchange
Чат Gitter о Solidity
Все чаты Gitter о Ethereum
Cryptozombies Учитесь разрабатывать игры на Ethereum.
Chainshot Веб-руководства по разработке децентрализованных приложений (dapp).
Blockgeeks Онлайн-курсы по технологии блокчейн
DappUniversity Научитесь создавать децентрализованные приложения на блокчейне Ethereum
Ethernaut Варгейм на Solidity, где каждый уровень – это контракт, который нужно взломать
UI/UX
- Challenge of UX in Ethereum June 25, 2018 - Anna Rose
- Designing for blockchain: what’s different and what’s at stake March 22, 2018 - Sarah Baker Mills
Стандарты
Сообщество Ethereum приняло множество полезных для разработчиков стандартов. Обычно они обозначаются как предложения по улучшению Ethereum (Ethereum Improvement Proposals: EIP), которые обсуждаются участниками сообщества через стандартизированный процесс.
- Список всех EIP
- Репозиторий EIP на GitHub
- Форум для обсуждения EIP
- Ethereum Governance Overview March 31, 2019 - Boris Mann
- Список воспроизведения всех онлайн-встреч основных разработчиков Ethereum (список воспроизведения YouTube)
Некоторые EIP относятся к стандартам на уровне приложений (например, стандартный формат умного контракта), которые обозначаются как запрос на комментирование Ethereum (Ethereum Requests for Comment: ERC). Многие ERC являются критически важными и широко используются в экосистеме Ethereum.