Это четвертая и последняя статья в серии, в которой мы создаем DApp с нуля с помощью специально созданного смарт-контракта BEP-20.
В этой статье мы рассмотрим, как развернуть смарт-контракт в тестовой сети Binance вместо нашего локального экземпляра Ganache.

  1. [Создание децентрализованного приложения с контрактом BEP-20 в Solidity] - эта статья поможет вам понять основы Solidity
  2. [Создание наследуемого контракта стекинга в Solidity] - вторая статья, в которой мы рассмотрим более сложные элементы Solidity и реализуем стекинг и вознаграждение.
  3. [Использование смарт-контракта в веб-приложении] - третья статья из серии, в которой мы узнаем, как подключиться к цепочке блоков через веб-приложение с помощью MetaMask.
  4. [Развертывание смарт-контрактов в смарт-цепочке Binance с помощью Truffle] - четвертая и последняя статья, в которой мы узнаем, как развернуть наш смарт-контракт в реальных сетях.

Вы можете найти полный код из предыдущих частей здесь.

Мы начнем с обновления конфигурации Truffle в нашем truffle-config.js. Мы откроем три сети, чтобы мы могли развернуть их во всех трех сетях. Самую свежую информацию о развертывании, которая указывает на правильные исходные данные для сетей, можно найти здесь. Нам также нужно будет использовать поставщика трюфелей / hdwallet, который вам необходимо загрузить.

npm install @truffle/hdwallet-provider

После этого нам нужно раскомментировать поля module.exports и добавить следующие три сети.

Прежде чем это сработает, вы должны заметить, что мы читаем файл с именем .secret. Этот файл должен содержать только одно - вашу мнемонику.

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

Развертывание в TestNet

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

Тестовая сеть - это полная копия реальной производственной сети, поэтому это отличный способ все опробовать. Его использование позволит нам также иметь среду разработки (Ganache), Test (Testnet), Production (настоящая интеллектуальная цепочка Binance).

Помните, как мы запускали truffle migrate для развертывания в Ganache?
Самое прекрасное здесь то, что для развертывания в тестовой или производственной среде мы можем использовать ту же процедуру, просто добавив в команду флаг - network и укажите, в какой сети развертывать. Помните, что для перехода к тестированию и производству вам придется платить за газ.

truffle migrate --network testnet

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

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

Но мне не нужно платить за развертывание для тестирования! - Дешевый застройщик

К счастью для нас, в тестовой сети есть сборщики, которые позволяют бесплатно получить тестовый Ethereum. Давайте подключим MetaMask к тестовой сети, добавив еще одну сеть. Сеть является официальной тестовой сетью Binance. Если вы забыли, как добавить Сеть, перейдите к третьей статье этой серии или прочтите здесь.

При добавлении настраиваемого RPC используются следующие сетевые данные.

Имя сети: Smart Chain - Testnet
Новый URL RPC: https://data-seed-prebsc-1-s1.binance.org:8545/
ChainID: 97
Символ: BNB
URL-адрес обозревателя блоков: https: // testnet .bscscan.com

После того, как вы добавили это, возьмите адрес своей учетной записи, щелкнув учетную запись в MetaMask.

Посетите официальный смарт-кран TestNet, который дает вам жетоны для использования. Просто введите свой адрес и нажмите Дайте мне BNB. Подождите несколько секунд, и ваша учетная запись должна быть пополнена. Теперь вы должны увидеть, что у вас есть 1 BNB в MetaMask. Пора дать трюфелю новое вращение.

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

from: "0xyouraccount"

Снова запустите команду migrate для тестирования сети с учетной записью, на которую вы получили финансирование.

Поздравляем, вы развернулись в Testnet. Вы можете скопировать адрес контракта. Затем вы можете найти его в тестовом проводнике сети. Теперь вы можете добавить токен в MetaMask, чтобы просмотреть текущий баланс учетной записи. Выберите Добавить токен и введите запрашиваемую информацию, которая должна быть адресом контракта. Чтобы перейти на основную сеть, просто измените сеть в команде migrate на основную сеть, но не забудьте, что в вашей учетной записи должно быть достаточно газа.

Тестирование DApp в TestNet

Давайте попробуем DApp, который мы создали в части 3 этой серии статей, и посмотрим, работает ли он.

Перейдите к ужасной жестко запрограммированной функции getContractAddress, расположенной в App.js, и замените возвращенный ею контракт, чтобы он соответствовал вашему адресу смарт-контракта.

Если вы выбрали сеть TestNet в MetaMask и свою учетную запись, снова запустите DApp, используя

npm start

и посетите localhost: 3000.

Просматривайте транзакции и события в проводнике Binance Testnet.

Давайте проведем Stake и посетим обозреватель тестовой сети, чтобы просмотреть информацию так же, как мы могли бы это сделать в Ganache.

После нажатия кнопки вам будет предложен запрос MetaMask.

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

Это приведет вас к проводнику, где вы сможете просмотреть все транзакции, которые происходят в смарт-контракте, а также все события.

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

Заключение

Поздравляю! Если вы следовали всем частям этой серии, значит, вы создали свой первый DApp.

В сериале мы узнали

  • Базовая твердость
  • Реализована простая механика ставок.
  • Реализована система вознаграждений
  • Веб-интерфейс для использования и управления контрактом
  • Как развернуть в тестовой и основной сети.

Надеюсь, вы чему-то научились. И спасибо, что прочитали!

Не стесняйтесь комментировать или отправлять мне сообщения, если есть какие-либо вопросы или отзывы.