Последнее обновление страницы: март 06, 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.