Полное руководство по инструментам для разработчиков Smart Contract, Blockchain, Web3, Ethereum и Solidity. Плюс краткий обзор Solana, Terra и других инструментов на основе ржавчины.

В прошлом году я рассмотрел лучшие платформы для разработчиков смарт-контрактов, а в этом году мы расширяем их, чтобы рассмотреть больше, намного больше.

Мы рассмотрим десять категорий инструментов, а затем рассмотрим лучшие в каждой категории для разработчиков смарт-контрактов/блокчейна/солидности/выпера/растения/веб3 (сейчас у нас слишком много терминов для «разработчика блокчейна», не так ли) .

Я работал с каждым инструментом в этом списке в той или иной мере, поэтому вы можете быть уверены, что я не копирую какой-то список. Для тех из вас, кто меня не знает, я живу и дышу смарт-контрактами и работаю вместе с одними из лучших в отрасли в качестве защитника разработчиков в проекте Chainlink, генерального директора моей собственной компании по инфраструктуре блокчейна и любовника. веб3. Это даст вам именно то, что используют некоторые из лучших разработчиков в мире. Этот список, однако, не является списком всего, поэтому, если я пропустил ваш инструмент, извините! Это просто список того, что, по моему мнению, должен знать каждый разработчик. Итак, давайте прыгнем в него!

Table Of Contents
Smart Contract Langage
Smart Contract Essentials
Deployment & Testing Framework
Wallet
Block Explorer
Layer 1 Connection
Front End Tools
Help & Support
Security Analysis
Monitoring & Maintainance

Дополнительно мы сняли видео на эту тему, если хотите посмотреть!

1. Язык смарт-контрактов

Язык является наиболее фундаментальной частью любого разработчика смарт-контрактов, и как писать смарт-контракты! Выберите один из этих языков и вперед.

Солидность

Если вы новичок, то стоит начать с solidity. Если вы занимались смарт-контрактами, вы, вероятно, знакомы с Solidity. Solidity является наиболее доминирующим и наиболее используемым языком разработки смарт-контрактов, и неудивительно, почему. Solidity работает на большинстве платформ смарт-контрактов, таких как Ethereum, Avalanche, Moonbeam, Polygon, BSC и других. Это связано с тем, что большинство блокчейнов используют Виртуальную машину Эфириума (EVM), для которой и была создана Solidity. Из 10 лучших проектов Defi на данный момент девять из десяти используют Solidity в качестве основного языка программирования.

Если бы мне пришлось угадывать, я бы предположил, что 90% стоимости смарт-контрактов в мире сделано с надежностью. Этот язык активно поддерживается и имеет массовую поддержку.

Вы могли бы также квалифицировать yul/assembly как другой язык, но он используется солидно, поэтому я не считаю его собственным.

Вайпер

Vyper — это еще один язык, совместимый с EVM, и он используется в основном 1 из 10 лучших проектов Defi (и некоторые другие проекты используют его как второстепенный), а именно Curve.fi. Vyper — это язык на основе Python, с которым мне ПОНРАВИЛОСЬ работать. От него не так много пользы, как от его солидного брата EVM; однако, если вам нравится Python, вы можете попробовать этот язык вместо Solidity.

Ржавчина

Rust — новичок в этом блоке, и вы не сможете использовать его с нашими блокчейнами EVM, такими как Ethereum, Polygon, Binance Smart Chain и т. д. Однако с помощью Rust вы сможете развертываться в таких сетях, как Solana, Terra, и создавать блокчейны с Polkadot. Rust — это производительный язык общего назначения, используемый даже за пределами смарт-контрактов; следовательно, другие сети выбирают его. Логика такова: Ну, некоторые разработчики уже знают ржавчину, так что мы можем позволить людям использовать ржавчину везде.

Rust — хороший выбор, если вы хотите использовать эти многообещающие блокчейны. Если бы мне пришлось угадывать, я бы сказал, что на данный момент Rust включает в себя около 5% мировой стоимости, заблокированной в смарт-контрактах… но это всего лишь предположение.

Краткое изложение языка смарт-контрактов

Обязательно знать: Солидность

Любители Python: Вайпер

Terra, Solana, Polkadot и т. д.: Rust

2. Основы смарт-контракта

Здесь мы говорим об инструментах для использования в ваших смарт-контрактах. Вам не нужно выбирать только один здесь. Вы можете использовать все это, если хотите! Я не был уверен, как классифицировать их, но я думал, что «предметы первой необходимости» хороши, потому что… ну, они необходимы.

Звено цепи

Chainlink — это то, что известно как блокчейн-оракул, что означает, что это устройство, которое позволяет вашим смарт-контрактам стать гибридными смарт-контрактами, что означает, что они включают некоторый компонент вне сети и связаны с реальным миром. Смарт-контракты прекрасны, но у них есть серьезная проблема, заключающаяся в том, что они никак не связаны с миром. Теперь, чтобы использовать какой-либо компонент вне сети (например, данные или внешние вычисления) для децентрализации наших смарт-контрактов, мы должны также децентрализовать наши внешние данные и вычисления, и это именно то, что представляет собой сеть и инструменты Chainlink. для.

Подавляющее большинство ведущих платформ смарт-контрактов представляют собой гибридные смарт-контракты и используют эти оракулы в качестве важнейших компонентов своей инфраструктуры. Просто посмотрите на топ-10 проектов от DeFipulse и посмотрите, какие из них являются гибридными.

Мы видим, что по крайней мере 50% используют оракулы в качестве основных элементов инфраструктуры, а еще 30% (всего 80%) используют оракулы тем или иным образом. Вы можете получить информацию о ценах, случайные числа, исполнение, управляемое событиями и многое другое.

Chainlink — важная функция для любого разработчика смарт-контрактов, приходящего в это пространство, независимо от языка или блокчейна!

Кроме того, в 2020 и2021 мы наблюдали бесчисленныевзломы быстрых кредитных атак, атак с манипулированием оракулами и т.п., на которые приходилось почти миллиарды долларов, потерянных в пространстве Defi. Что меня больше всего убивает, так это то, что более половины из них можно было предотвратить с помощью правильного оракула, такого как Chainlink. Пожалуйста, пожалуйста, пожалуйста, не позволяйте вам или вашим друзьям использовать централизованные или небезопасные оракулы в 2022 году.

Пожалуйста, используйте безопасное решение Oracle, такое как Chainlink. Мы не можем допустить, чтобы 2022 год стал еще однимгодом, когда мы говорим: "Упс, воспользуемся централизованным оракулом и потеряем для своих пользователей 100 млн долларов". Поэтому, пожалуйста, ознакомьтесь с Chainlink, чтобы создавать потрясающие, надежные приложения и защищать себя от уязвимостей, которых можно избежать.

Опенцеппелин

Openzeppelin зарекомендовала себя как стандартная библиотека надежности. Каждый раз, когда любой разработчик (включая меня) ищет быстрый способ развернуть NFT/ERC721, ERC20, обновляемые контракты, DAO/управление или что-то еще, что многие разработчики делают в этой области, девять раз из 10 вы захотите получить пакет Openzeppelin.

Openzeppelin — это уже написанный набор смарт-контрактов, поэтому вам не нужно изобретать велосипед. Я сэкономил бесчисленное количество часов, используя их уже проверенные расширяемые смарт-контракты в своих проектах. Я не могу не подчеркнуть, насколько основным продуктом является Openzeppelin. Я думаю, что примерно в 80% моих руководств я в той или иной степени использую Openzeppelin.

Краткое изложение основ смарт-контракта

Обязательно знать: Chainlink и Openzeppelin

Вы можете (и, вероятно, должны) использовать их вместе. Я не могу не подчеркнуть знание этих технологий.

3. Платформа развертывания и тестирования

В прошлом году мой обзор был исключительно для этой категории, поэтому в этом году я обязательно дам вам diff того, где, по моему мнению, сегодня находятся эти фреймворки. Фреймворки смарт-контрактов являются неотъемлемой частью пути любого разработчика. Они позволяют вам эффективно тестировать и развертывать ваши смарт-контракты. Наличие хотя бы одного — важный шаг к успеху.

Для начала взгляните на составленную мной диаграмму, показывающую лучшие проекты Defi в соответствии с Defipulse и используемой ими структурой.

Кроме того, вот как я сейчас смотрю на ландшафт фреймворков:

Большие удивительные:

Каска, Домовой, DappTools

Хорошие:

Remix, Truffle, Apeworx, Foundry

Альтернативные:

Вафля, sbt-ethereum, web3j, Посадка, Седло

Не-EVM:

Анкор, ТерраСДК

Устарело:

Etherlime, Openzeppelin SDK, Cobra, Зонтик

Я не буду освещать устаревшие; см. мой прошлогодний обзор на них.

Давай начнем.

Большие удивительные

Каска

В настоящее время фреймворк для каски является наиболее доминирующим фреймворком для разработки смарт-контрактов. Hardhat — это среда разработки на основе javascript и Solidity, которая прекрасно справляется с задачей быстрого ускорения ваших приложений. Вы можете ознакомиться со стартовым комплектом каски, чтобы увидеть пример того, как выглядит проект каски.

Благодаря скорости тестирования Hardhat, поддержке машинописных текстов, широкому распространению, невероятной команде разработчиков, ориентированной на опыт разработчиков, неудивительно, почему его популярность так быстро выросла. Примерно в это же время в прошлом году я поставил этот фреймворк на первое место, и он все еще там сегодня. Он использует ethersjs на бэкэнде, собственный локальный блокчейн для тестирования, и в настоящее время команда находится в процессе создания новой передовой платформы разработки, интегрированной в Hardhat, которую я НЕВЕРОЯТНО рад попробовать в 2022 году.

Если вы меня знаете, я не самый большой поклонник javascript из-за всех его странностей, поэтому часто предпочитаю использовать Hardhat с машинописным текстом. Hardhat — мой второй наиболее часто используемый фреймворк.

Я настоятельно рекомендую эту платформу, если вам нравится JavaScript или вы хотите использовать самую популярную платформу с максимальной поддержкой.

Брауни

Я влюблен в фреймворк брауни, и если вы читали другие мои материалы, то знаете об этом.

Brownie — это фреймворк на основе Python с открытым исходным кодом, построенный на основе web3.py, который используется такими протоколами, как Curve.fi, yearn.finance и Badger. Он поддерживает как Solidity, так и vyper, но главная особенность этого фреймворка — Python. Brownie был создан, потому что многие инженеры Python презирали работу с javascript и хотели использовать pythonic framework. Кроме того, большая часть традиционного финтех-мира использует Python вместо javascript, поэтому переход от финтеха к Defi стал проще благодаря созданию Brownie.

Brownie — это мой фреймворк, который я использую при создании нового проекта, и я провозгласил себя защитником разработчиков Brownie. Вы можете ознакомиться со стартовым набором для домовых (также известным как миксы в мире домовых), чтобы начать свое путешествие по работе с фреймворком. Обязательно ознакомьтесь со списком других стартовых наборов в репозитории Brownie Mixes.

Я настоятельно рекомендую этот фреймворк, если вам нравится Python, вы хотите использовать более простой фреймворк или использовать мой любимый фреймворк.

DappИнструменты

Хотя у Dapptools нет причудливого логотипа, это привлекательное приложение, созданное с помощью Haskell. Однако не волнуйтесь; вам не нужно знать Haskell, чтобы использовать его!

Используемый в основном командой MakerDAO (группа, стоящая за DAI), Dapptools был вдохновлен философией Unix: Пишите программы, которые делают одну вещь, и делают это хорошо. Dapptools — это ориентированный на командную строку инструмент, в котором вместо работы с python, javascript или каким-либо другим языком программирования высокого уровня для помощи в разработке вы можете использовать инструменты командной строки/оболочки, с которыми вы уже знакомы, как bash или zsh. Это эффективно сокращает еще одну технологию, с которой вы должны быть знакомы, и заставляет вас лучше писать сценарии оболочки! Он поставляется с набором инструментов, таких как dapp, seth, ethsign и hevm, каждый из которых специально разработан для части того, что вам нужно делать как разработчику смарт-контрактов.

Я начал работать с Dapptools совсем недавно, и мне нравится его менталитет. Я запустил Стартовый набор Dapptools, чтобы показать другим людям, как работать с этим инструментом. Если вы работаете с Dapptools, вы, вероятно, будете работать с makefiles и сценариями оболочки для производства своего кода. Dapptools считает, что тестирование должно быть написано солидно, а фаззинг должен быть встроенным.

Мой опыт работы с ним немного неуклюж, но я чувствую, что большая часть этого связана с моими посредственными навыками написания сценариев bash. Тем не менее, мне понравилось, как это заставило меня лучше писать сценарии оболочки, что, я думаю, должен делать каждый.

Я настоятельно рекомендую этот фреймворк, если вы не хотите изучать другой язык, такой как javascript или python, предпочитаете использовать как можно меньше инструментов в своих настройках, вам нравится MakerDAO или @transmissions11 преобразовал ты.

Хорошие

Ремикс

Все и их мамы должны уметь пользоваться Remix, но не обязательно для производства. Это обзор Remix в двух словах.

Remix — это не фреймворк как таковой, а скорее IDE. Ремикс — это инструмент, с которого, по моему мнению, должен начать каждый, чтобы он стал точкой соприкосновения, на которой каждый мог бы встретиться, пытаясь поделиться идеями. Не все будут знать сценарии Python, javascript или bash для подключения, поэтому использование такого инструмента, как Remix, идеально, поскольку это более наглядный инструмент.

Когда вы развертываете контракт, вы получаете кнопки для взаимодействия с ним. Легко выбирать версии Solidity, компилировать, запускать тесты Solidity и тому подобное. А если вы хотитеиспользовать javascript, у него также есть javascript-скрипты! Он полностью расширяемый, поэтому вы можете улучшить его, если хотите добавить функцию, и вы даже можете подключить локальный диск к ремиксу для запуска кода из репозитория с контролем версий.

Remix — это инструмент, который объединяет всех, и я очень рад, что у нас есть команда, работающая над таким фантастическим инструментом, который поможет всем. Однако я бы не рекомендовал использовать Remix продвинутым пользователям, поскольку вы получите более точно настроенные инструменты в локальной среде разработки вместо того, чтобы всегда полагаться на веб-IDE. Я не рекомендую его для расширенных настроек; тем не менее, используйте его, если вам нравится с ним работать!

Я настоятельно рекомендую всем ознакомиться с Remix (если вы знаете Solidity, освоить его несложно).

Трюфель

Truffle является одним из исходных фреймворков и изначально был частью Consensys, а затем был выделен из него, а затем снова слился с ним. Это фреймворк на основе javascript, который поставляется с такими инструментами, как Ganache (который используют даже такие фреймворки, как брауни), Drizzle и уже поздние команды трюфелей. Truffle имеет наибольшее историческое влияние из всех фреймворков, и вы можете увидеть влияние, которое они оказали на отрасль, поскольку многие фреймворки перенимают методы Truffle. Мы должны чувствовать себя счастливыми, что эта команда пришла и создала такую ​​​​отличную основу для фреймворков. Если хотите попробовать, взгляните на Стартовый набор для трюфелей.

Недавно они обновили свою документацию, они находятся в процессе запуска седьмой версии Ganache, и я поговорил с их командой, которая сообщила мне, что у них большие планы, чему я очень рад.

Еще в 2019 году все слышали или использовали трюфель, но с тех пор ситуация изменилась. Hardhat был в режиме gogogo, чтобы закрепиться в качестве де-факто фреймворка javascript. Я часто сталкиваюсь со странными ошибками при работе с Truffle; их поддержка машинописных текстов незначительна, тесты выполняются намного медленнее, чем Hardhat. В настоящее время трудно аргументировать интересы Truffle, когда кажется, что Hardhat делает все немного лучше.

В начале 2021 года я нервничал из-за Truffle и даже упомянул об этом в начале 2021 года о своих резервах фреймворка, и похоже, что 2021 год был годом, когда Hardhat взял верх. Тем не менее, я думаю, что будущее Truffle по-прежнему светлое. У них фантастическая команда, они выяснили, где будет жить Truffle (теперь с Consensys), и я ожидаю от них больших успехов в 2022 году.

Truffle — это фреймворк, который вам следует использовать, если вы хотите поддерживать тот, с которого все началось, и предпочитаете синтаксис Truffle. По большей части я бы рекомендовал Hardhat вместо Truffle; тем не менее, я думаю, что Ganache по-прежнему является мощным инструментом, и рекомендую всем, кто хочет работать с локальной тестовой сетью, взглянуть на Ganache. Он имеет красивый компонент пользовательского интерфейса, который вы можете использовать, чтобы легче «видеть» транзакции; его просто раскрутить, и его можно установить глобально.

ApeWorX

ApeWorX — это новичок в области Python, который отделился от сообщества домовых, чтобы создать более модульную структуру, ориентированную на финансы, чем его предок домовой.

Apevorx работает с теми же настройками и синтаксисом, что и Brownie, с несколькими забавными улучшениями качества жизни.

Я только немного работал с Apevorx, он очень похож на пирожное, и мне нравится добавление плагинов. Пока неясно, будет ли это продолжением Брауни (по аналогии с тем, как Hardhat захватил долю разума Трюфеля) или они будут работать вместе. В любом случае, я очень рад видеть, что Пёсик и его команда собираются создать в 2022 году, и, безусловно, фреймворк, за которым нужно следить, и даже попробовать, если вы хотите что-то вроде брауни, которое вы можете добавить. плагины к.

Литейный завод

Foundry — это dapptools, написанный на Rust. Это самое простое описание инструмента.

Я работал с Foundry немного меньше, чем с Dapptools, и кажется , что это может быть продолжением Dapptools, но я не уверен. Он по-прежнему ориентирован на командную строку, предполагает схожую файловую структуру, и почти все команды из Dapptools имеют аналогию с литейным цехом. Георгиос и его друзья из команды Paradigm создали это удивительное переосмысление популярных Dapptools, даже отдав дань уважения Dapptools в своей релизной статье (которую вам НРАВИТСЯ видеть в этом пространстве).

Многие команды и настройки файловой структуры работают так же, как Dapptools, и вы едва заметите разницу. Этот фреймворк быстрый, мощный и ориентирован на создание надежных тестов со встроенным фаззингом и другими мощными инструментами.

Rust становится все более и более популярной технологией для поддержки инфраструктуры блокчейн-приложений, и похоже, что это соответствует этой тенденции. Я рад видеть, какие крупные игроки используют и литейное производство, и Dapptools.

Альтернативные

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

вафля

Waffle по-прежнему остается популярным фреймворком, за исключением того, что он больше ориентирован на тестирование, чем на целый набор инструментов. Вы можете использовать вафли с Hardhat, поскольку они оба основаны на javascript, и многие люди используют эту комбинацию настроек.

Седло

Saddle — это переосмысление Truffle от Compound. Если вам нравится Compound, попробуйте!

sbt-эфириум

Последние несколько лет я мало использовал java, что проявилось, когда я опробовал sbt-ethereum. Sbt-ethereum позиционирует себя как:

Интерактивная текстовая платформа, с которой «любители — люди, не являющиеся программистами» — sbt-ethereum.io

Это еще один фреймворк, который я рассматривал в прошлом году, и, к сожалению, мои навыки работы со Scala не стали намного лучше. Тем не менее, это еще один способ, который вы можете попробовать, если хотите остаться в мире командной строки.

Web3j/Эпир

Еще один фреймворк, который я рассмотрел в прошлом году; Глядя на их веб-сайт, кажется, что они превратили свой основной продукт из фреймворка в обозреватель корпоративных блоков. Тем не менее, у них все еще есть свой пакет web3j, который представляет собой фреймворк на основе Java. Возможно, вам захочется попробовать это, если вы знаете Java и посмотрите, как это выглядит.

Отправляйтесь

Embark — это тот, о котором я дал довольно восторженный отзыв в прошлом году. Я смог протестировать и развернуть смарт-контракты из их фреймворка и поработать с некоторыми инструментами пользовательского интерфейса. Тем не менее, он не получил git commit более года, и с тех пор в экосистеме смарт-контрактов кое-что изменилось, поэтому я не уверен, что это означает для будущего этого фреймворка.

Не-EVM

Якорь

На данный момент я бы сказал, что фреймворк Anchor — это самый большой фреймворк, не относящийся к EVM, для работы с Solana. Если вы хотите работать с Solana, я настоятельно рекомендую попробовать Anchor, так как мне кажется, что это лучшее решение на данный момент.

TerraSDK

Terra — это еще один блокчейн смарт-контрактов на основе ржавчины, создающий SDK/фреймворки для разработчиков. Теперь у них есть Terra.js и python SDK, чтобы начать с ними работать. Это еще один фреймворк, с которым я не тратил много времени, но я планирую поработать с ним еще в этом году.

4. Кошелек

Если вы развертываете смарт-контракты в какой-то мере, вам нужен кошелек для хранения средств или, по крайней мере, фондов тестовой сети. Многие будут использовать комбинацию перечисленных ниже кошельков для различных целей.

Метамаск

Метамаска — это инструмент, о котором знают или должны знать практически все в этом пространстве. Концепция проста и отлично подходит для тестирования вещей в браузере, что необходимо всем фронтенд-разработчикам. Почти у каждого должен быть Metamask или браузерный кошелек, похожий на Metamask (например, Phantom для Solana).

Metamask — это горячий кошелек, которым легко пользоваться. Проблема с ними в том, что как только ваш закрытый ключ выйдет, вы облажались! Кроме того, они всегда подключены к Интернету, поэтому, если кто-то получит доступ к вашему компьютеру, вам тоже может не повезти! К счастью, есть несколько полезных других инструментов для нас.

Гнозис Сейф

Gnosis safe известен как кошелек с несколькими подписями, что означает, что для отправки транзакции требуется X подписей. Таким образом, если один кошелек будет скомпрометирован, это не имеет значения, поскольку злоумышленнику потребуется скомпрометировать как минимум половину держателей ключей.

Это мощный инструмент для разработчиков смарт-контрактов, особенно для тех, кто имеет дело с большими деньгами и хочет убедиться, что их активы в безопасности. Многие DAO также используют сейф Gnosis для хранения своих сокровищ. Кроме того, сейф gnosis интегрируется со многими другими инструментами DAO, такими как Snapshot, для голосования.

Леджер / Трезор

Ledger и Trezor известны как холодные кошельки или кошельки, с которыми немного сложнее совершать переходы. Эта громоздкость преднамеренна; они усложняют вам, особенно злоумышленникам, перемещение средств.

Вы можете использовать любую комбинацию холодных кошельков, горячих кошельков и мультиподписей в своих проектах, и вам, вероятно, следует! Используйте горячее хранилище для небольших средств, к которым вам нужно получить доступ и перемещать много/быстро, холодное хранилище для вещей, к которым вы не хотите прикасаться в течение длительного времени, и мультиподпись для значительных средств, которые вы хотите защитить. Вы даже можете подключить свой холодный кошелек в качестве одного из ключей мультиподписи!

5. Обозреватель блоков

Обозреватели блоков — это важнейшие инструменты для людей, которые хотят «видеть» транзакции и то, что происходит в мире. В вашем распоряжении есть все инструменты для создания одного из них, если у вас есть соединение первого уровня, но в 99% случаев вы захотите использовать чужое.

Этерскан

Ах, Etherscan, как ты свободен. Etherscan — один из тех инструментов, который я хочу, чтобы все знали и понимали, как им пользоваться. Я бы хотел, чтобы они были с открытым исходным кодом, но я понимаю, что это не будет отличным стимулом для них оставаться такими же впечатляющими, как они есть. Etherscan встроен в большинство сервисов, и они отлично справляются со своей задачей. Etherscan — самый популярный обозреватель блоков для сообщества ETH, и они поддерживают такие проекты, как Polygon, ETH 2 и Binance Smart Chain.

Эфирчейн

Тем не менее, я рад, что у них есть конкуренция, поэтому они должны оставаться в тонусе! Etherchain — это легкий обозреватель блоков, который также выпустил замечательный проводник ETH 2, которым я сейчас пользуюсь больше, чем Etherscan!

Ethplorer

Другой проводник блоков ETH, Ethplorer, может быть еще одним проводником, который вы, возможно, захотите проверить.

Большинство других блокчейнов также имеют несколько клиентов для обозревателя блоков; тем не менее, сообщество EVM/ETH быстро получило больше всего, поэтому я решил сосредоточиться на них здесь.

6. Соединение уровня 1

Теперь, чтобы отправлять транзакции, вам нужна цепочка блоков для их отправки! Теперь, если вы беспокоитесь о стоимости, все они имеют бесплатные варианты, которые я настоятельно рекомендую попробовать, но вы также всегда можете запустить свой собственный узел первого уровня самостоятельно! Для тех, кто не знаком, «узел первого уровня» относится к вашему соединению с блокчейном. Например, чтобы отправить транзакцию в цепочке ETH, вам нужно отправить транзакцию на узел ETH. Даже Metamask и кошельки имеют подключение к узлу первого уровня, работающему в фоновом режиме!

Алхимия

Алхимия — это фантастика, и я использую ее для подключения к ETH и всех подключений к EVM. Он быстрый, имеет красивый пользовательский интерфейс для отслеживания запросов, имеет широкий набор уровней 1 и просто работает. Они невероятно отзывчивы, у них отличная поддержка и команда защитников разработчиков, и я очень рад тому, что они приготовили для 2022 года.

Инфура

Infura — еще одно приложение, которое было самым доминирующим в 2020 году и, возможно, остается им до сих пор. Они расширились до большего количества продуктов, таких как IPFS, у них много поклонников, и многие инструменты изначально работают с Infura. Если вы ищете твердый слой 1, это для вас.

Моралис

Несколько месяцев назад я даже не ЗНАЛА, что у Moralis есть продукт слоя 1, и я использовала его несколько раз, и он отлично работает! У него нет тех наворотов, которые есть у Infura или Alchemy, но я думаю, это потому, что добавленная стоимость Moralis больше связана с их внешними сервисами (которые потрясающие, и мы скоро до них доберемся). Но я думаю, что Moralis по-прежнему является отличным выбором для тех, кто хочет использовать один из этих инструментов.

Быстрый узел

Если у одного из вышеперечисленных нет нужного мне блокчейна, есть шанс, что QuickNode будет. Благодаря огромному массиву узлов, к которым вы можете подключиться, и простой настройке, QuickNode — еще один сервис, который может вам подойти.

7. Интерфейсные инструменты

Для создания полнофункциональных децентрализованных приложений/интерфейсов вы, скорее всего, по-прежнему будете использовать все стандартные инструменты, такие как javascript, HTML, CSS и, возможно, такие фреймворки, как react, angular или svelte. В дополнение к этому есть несколько замечательных инструментов, которые намного улучшат вашу жизнь при создании внешнего интерфейса.

Web3js/Ethersjs

Web3js и Ethersjs — это два основных фреймворка javascript, которые используются в мире, и оба они исключительно хорошо работают на внешнем интерфейсе. Вам в значительной степени нужно использовать один из этих инструментов, если вы создаете веб-сайт, и они отлично справляются со своей задачей. В последнее время тенденции смещаются в сторону Ethersjs как более популярного; тем не менее, они оба будут выполнять эту работу.

Моралис

Моралис — это инструмент, с которым, я думаю, должен познакомиться каждый. Он имеет встроенную поддержку web3js и ОГРОМНЫЙ набор инструментов для улучшения вашей работы с интерфейсом. Он позиционируется как база криптографии, и я думаю, что это именно то, что нужно. Может быть, вам нужна база данных для ускорения вашего внешнего интерфейса; возможно, вы хотите построить Etherscan или Opensea; возможно, вам нужен список NFT, которыми владеет адрес. Есть много вещей, которые вы, возможно, захотите сделать, для которых Moralis имеет встроенную поддержку.

В нем есть все, что вам нужно, как с набором инструментов с открытым исходным кодом, так и с облачной средой обслуживания.

Я настоятельно рекомендую всем, кто создаст веб-сайт web3 в 2022 году, знать Moralis. У них есть много шаблонов, чтобы начать ваш проект.

ИспользоватьDapp

Usedapp — еще один проект с открытым исходным кодом с отличными плагинами для работы с web3. Я использовал его в некоторых проектах и ​​наслаждался им. Проверить

Морось

Drizzle из семейства Truffle, Metamask, Infura и Consensys отлично справляется со своей задачей. Он создает несколько простых оболочек в вашем javascript для работы с вашими контрактами и имеет встроенную поддержку React! Посмотрите Видео Dapp University об использовании Drizzle.

График

График — это базовый инструмент для выполнения так называемого индексирования. Когда мы хотим найти что-то в блокчейне, для этого может потребоваться несколько запросов. Например, если мы хотим увидеть все адреса в цепочке, в которых есть 1000 токенов DAI. Это было бы кропотливо долго, просматривая каждый адрес в цепочке и вызывая функцию balance. Вместо этого мы могли бы построить так называемый подграф, который индексирует нужные нам запросы и хранит их в базе данных, намного меньшей, чем вся цепочка блоков. Это значительно упрощает получение конкретных данных о блокчейне!

Примечание. В зависимости от настройки ERC20 может быть тривиально сделать что-то вроде того, что описано выше, но это всего лишь пример запроса.

Дополнительные инструменты

Кроме того, я думаю, что все должны знать о create-eth-app и scaffold-eth. Это не совсем инструменты, а стартовые наборы для создания веб3-приложений / децентрализованных приложений, поэтому я думаю, что каждый должен о них знать!

8. Помощь и поддержка

Каждый разработчик должен знать основной план получения помощи по проблеме, с которой он застрял.

  1. Гуглите точную ошибку
  2. Посмотрите StackOverflow или Stack Exchange ETH (или любой другой Stack Exchange)
  3. Сделать тикет на Github проекта
  4. Задать вопрос на форуме
  5. Задать вопрос в Дискорде

Задавая вопросы в этом пространстве, вы хотите, чтобы ваш вопрос был:

  • Возможность поиска.Чтобы другие люди с такой же проблемой могли найти ваш вопрос.
  • Минимальная и воспроизводимая: чем более конкретно вы описываете свое использование, тем меньше вероятность того, что вы получите ответ.

Вы хотите думать о том, чтобы задавать вопросы на форуме или переполнять стек, как о живой документации. Чем лучше вы сформулируете свой вопрос, тем легче будет ответить. Нет плохих вопросов, есть только плохо отформатированные вопросы; сделай твой хороший!

StackOverflow и Стэковая биржа ETH

Вот ваше эмпирическое правило: «Если я столкнулся с проблемой, а ответ на нее не отображается на первой странице результатов Google, я должен опубликовать ее в Stack Overflow».

Используя это, вы получите ответы, которые хотите, и поможете всему сообществу, пока вы это делаете! Теперь вы не всегда будете всегда получать ответы с этих сайтов, потому что иногда ваш вопрос может быть слишком сложным, никто не задавал его раньше или его не видели нужные глаза. Иногда я добавляю ссылку на свои вопросы в дискордах, чтобы привлечь больше внимания. Но эмпирическое правило заключается в том, что Stackoverflow или Stack Exchange ETH должны быть одним из первых мест, куда я всегда обращаю внимание, когда сталкиваюсь с проблемой.

Теперь, куда вы должны опубликовать? Ну, если честно, это не имеет значения. Stack Exchange обычно немного дружелюбнее, но у StackOverflow лучший рейтинг в поиске, так что решать вам. Оба эти форума предназначены для конкретных технических вопросов. Не используйте эти форумы для более теоретических вопросов или общих вопросов. Это больше для Discord или Twitter.

Раздор

В 2022 году, я надеюсь, мы перейдем от Discord к форумам вроде StackOverflow в качестве основного средства поддержки и вопросов. Вопросы Discord не индексируются и, следовательно, не могут быть ранжированы. Discord отлично подходит для быстрых чатов и обмена идеями, но его не следует использовать в качестве канала поддержки.

Форумы

Форумы потрясающие, поскольку они индексируются и ранжируются как StackOverflow. Отличным примером является Форум Openzeppelin, который хорошо ранжируется и задает удивительные вопросы.

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

Как мы все знаем, аудит имеет решающее значение при выпуске кода в блокчейн, поскольку любой может просмотреть и потенциально использовать его, как только он будет там! Поэтому наличие инструментов, помогающих убедиться, что мы делаем меньше ошибок в нашем коде, имеет важное значение, и некоторые инструменты появились в космосе, чтобы сделать наши смарт-контракты более безопасными.

К сожалению, я не работал со всеми инструментами из этого раздела. Несколько проверок, которые я провел, проводились с использованием пакета Trail of Bits и MythX (наряду с ручной прокруткой каждой строки кода!). Вы можете ознакомиться с другими обзорами этих инструментов от charingane и Matt Solomon.

**Помните, что эти инструменты не всегда обнаруживают каждую ошибку, обязательно приложите все усилия!**

скользить

Slither становится одним из лучших для статического анализа. Созданный командой Trail of Bits (один из моих любимых аудиторов в этой области), slither прост в использовании и может обнаруживать множество простых ошибок, которые допускают инженеры. Я настоятельно рекомендую попробовать эту программу для отлова ошибок с открытым исходным кодом!

МифХ

MythX — еще один облачный инструмент Consensys для тестирования ошибок, который, как говорят, обеспечивает более глубокое погружение. Многим пользователям, таким как Ааве и мне, нравится, насколько все подробно. У него есть платный доступ для пользователей, но оно того стоит, если у вас есть деньги.

Мифрил

Mythril — это набор инструментов для анализа продукта MythX с открытым исходным кодом. Я не особо вникал в это, но похоже, что это даст вам многообещающие простые результаты.

Мантикора

Manticore — еще один инструмент Trail of Bits, но вместо статического анализа он выполняет символическое исполнение, которое определяет, что заставит ваш смарт-контракт работать. Если вы уже работаете со Slither, попробуйте и это!

Ехидна

Следующим опять же из Trail of Bits (понимаете, почему они одни из моих любимых) будет Echidna. Это фаззер для контрактов EVM, который вы можете попробовать еще раз, если работаете с другими инструментами Trail of Bits!

Обезопасить

Securify — это невероятный инструмент с открытым исходным кодом, который ищет определенные уязвимости. Это еще один, который вы могли бы попробовать!

10. Мониторинг и обслуживание

В нашем последнем разделе нет изображения, так как для мониторинга я обычно использую много собственных скриптов. Однако я считаю, что Openzeppelin’s Defender и Tenderly — это инструменты, с которыми стоит ознакомиться на 100%. Каждый из них представляет собой инструмент, который позволяет вам контролировать ваш производственный код и обеспечивать его безопасность!

Если вы еще этого не сделали, я настоятельно рекомендую попробовать оба этих инструмента и дайте мне знать, что вы думаете!

Краткое содержание

Это одна из моих самых больших статей на сегодняшний день, и она содержит огромный список инструментов. Я знаю, что их много, но чем больше вы строите в этом пространстве, тем больше понимаете, насколько важен каждый из этих инструментов для быстрого создания приложений.

2022 год будет безумным, и я надеюсь, что дал вам несколько идей о том, что стоит попробовать в этом году для создания удивительных, уникальных, вдохновляющих веб-3-приложений.

Дайте мне знать, какие инструменты, по вашему мнению, я пропустил в разделе комментариев! И ФАНТАСТИЧЕСКОГО нового года! Давайте сделаем его большим!

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