Пост
Поделитесь своими знаниями.
Развертывания на уровне 1
Я научился развертывать простой смарт-контракт в тестовой сети с помощью Remix.
Какова наилучшая процедура развертывания протокола DeFi в любой сети уровня 1 или 2?
Используете ли вы Remix, используете ли вы какой-либо интерфейс командной строки или любую другую альтернативу? Один из них безопаснее другого? и почему эта процедура выбрана по сравнению с двумя другими?
Например, когда команда Uniswap развернула код Uniswap на уровне 1 Ethereum, как они развернули этот код?
Спасибо
- Cyfrin Updraft
- Blockchain
- Smart Contract
Ответы
1Существует несколько способов развертывания смарт-контрактов, как и многих других. Все зависит от индивидуальных предпочтений. Давайте поговорим о 2-3 основных подходах, которые, насколько мне известно, нравится использовать большинству разработчиков:
-
Hardat — это среда разработки, созданная специально для Ethereum. С помощью смарт-контрактов можно выполнять различные задачи, такие как отладка, тестирование и развертывание. Он прост в использовании, имеет собственный интерфейс командной строки и использует Javascript, который является довольно распространенным языком и известен почти всем в мире.
-
Foundry — еще одно популярное оружие, которое разработчики обычно предпочитают при разработке смарт-контрактов. Оно приобрело популярность совсем недавно, потому что оно использует Solidity для всего, а значит, нет необходимости переходить на разные языки для разработки, вы знаете Solidity, у вас есть все. И да, он также поставляется с интерфейсом командной строки и может оказаться довольно сложным по сравнению с Hardhat. Однако эта боль того стоит.
-
Remix (нет необходимости вставлять ссылку) — вы знаете Remix, первый инструмент, с которым мы познакомились. Да, это самый простой вариант, но заниматься чем-то другим, кроме развертывания, может оказаться достаточно сложно. Тем не менее, я никогда не видел, чтобы разработчики широко использовали его в серьезных целях разработки. Даже я иногда использовал его для тестирования самых простых вещей, когда мне нужно было заключить контракт на тестирование некоторых его частей, а не писать для этого целый сценарий.
Кроме того, вы можете найти и другие инструменты, которые в настоящее время устарели. Помню, что в конце 2023 года появились такие инструменты, как Truffle, которые мне, честно говоря, не нравились (просто личное мнение).
Есть еще один инструмент, с которым я знаком лично, но не очень хорошо знаком другим, потому что пока это своего рода стартер, созданный небольшой командой, и я знаю его основателя (я был одним из первых, с кем он поделился своей идеей). Это AnyFlow. На самом деле этот проект был создан для того, чтобы избежать проблем, с которыми иногда сталкиваются разработчики при разработке смарт-контрактов. Вот некоторые из его особенностей:
- Нет необходимости заботиться о токенах тестовой сети
- Потрясающий пользовательский интерфейс
- Нет клипа
Единственное условие AnyFlow заключается в том, что ваш проект должен быть жестким проектом (который создается с помощью одной команды). Затем все, что вам нужно сделать, это подключить GitHub, открыть репозиторий, выбрать цепочки и выполнить развертывание. Я попробовал это лично, и это было просто замечательно, особенно когда у вас мало токенов в тестовой сети.
Теперь давайте ответим на некоторые из ваших конкретных вопросов:
Какова наилучшая процедура развертывания протокола DeFi в любой сети уровня 1 или 2?
Будь то протокол DeFi или набор смарт-контрактов, связанных друг с другом, в большинстве случаев процедура всегда остается неизменной. Протестируйте контракт, разверните его и защитите свои личные ключи (попробуйте найти лучший способ, а не хранить ключи в .env
файле). Кроме того, рекомендуется хранить кошельки разработчиков отдельно от кошельков с реальными средствами. Почему так? Из-за того, что в наши дни происходит множество взломов, а мишенью стали мы, разработчики. Я уже сталкивался с нападением, но меня каким-то образом спасли (вы знаете причину), но многим не всегда так везет.
Используете ли вы Remix, используете ли вы какой-либо интерфейс командной строки или любую другую альтернативу? Один из них безопаснее другого? и почему эта процедура выбрана по сравнению с двумя другими?
Я уже ответил на первую часть этой статьи. Говоря о безопасности, я никогда точно не слышал о каких-либо нарушениях или уязвимостях при развертывании (за исключением случаев, когда разработчик сам виноват, например, он по ошибке передал свой закрытый ключ на Github и т. д.). Поэтому большинство из них безопасны. Выбор любого из них зависит от ваших личных предпочтений, почему бы не попробовать все и выбрать тот, который вам удобен?
Например, когда команда Uniswap развернула код Uniswap на уровне 1 Ethereum, как они развернули этот код?
Я точно не знаю, что команда Uniswap использовала для развертывания Uniswap. Возможно, это можно сразу найти в Google или немного порыться в разных статьях или в самом GitHub от Uniswap. Честно говоря, это не имеет большого значения. Как только вы будете точно разбираться в использовании смарт-контрактов, вы, вероятно, догадаетесь, как они это сделали (если не совсем). Сосредоточьтесь на том, как они написали и протестировали эту программу, но решать вам. Однако я точно уверен, что они не использовали Remix.
Удачи!
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.
Cyfrin Updraft is an education platform specializing on teaching the next generation of smart contract developers