Base: от тестнета до деплоя смарт-контракта
Гайд по тестнету:
Ну а теперь к тестнету. Переходим в сам мост (бридж) от Base и коннектим свой кошелек METAMASK:
И здесь мы депозитим ETH из Goerli -> Base, подтверждая все транзакции:
Переходим в Transactions и смотрим прошла транзкация или нет. ОБычно занимает от 1 до 5 мин.
Если все отлично статус отображает Complete.
Далее проделываем обратную операцию - переходим во вкладку Withdraw и выводим из Base Goerli -> Goerli:
Если появляется окно смена сети жмем switch network
Переходим в раздел Transaction для проверки статуса транзакций. Ждем пока не появится кнопка на переключение сети Switch to L1 и нажимаем ее.
Последним шагом нажимаем на Finalize (может потребоваться перезагрузка странички). В итоге все транзы должны быть в статусе Complete:
Гайд по деплою и развертыванию смарт-контракта в Base Goerli
Итак, открываем IDE и выполняем по инструкции.
Переходим в Remix и создаем новый файл New File, даем ему название base.sol:
Откроется редактор, встравляем туда ранее скопированный код:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
contract NFT is ERC721 {
using Counters for Counters.Counter;
Counters.Counter private currentTokenId;
constructor() ERC721("NFT Name", "NFT") {}
function mint(address recipient)
public
returns (uint256)
{
currentTokenId.increment();
uint256 tokenId = currentTokenId.current();
_safeMint(recipient, tokenId);
return tokenId;
}
}Переходим в раздел с компиляцией (3ий пункт), сверху выбираем 0.8.17+ и нажимаем Compile:
Переходим в раздел деплоя и в секции Environment выбираем Injected Provider - Metamask, подписываем все транзакции:
Нажимаем оранжевую кнопку Deploy и подтверждаем транзакцию в кошельке (в зависимости от нагрузки сети будет выставлена Network Fee).
В случае успеха будет такое сообщение в логах:
Теперь можно повзаимодействовать с контрактом. Разворачиваем задеплоенный контракт и в поле Mint вставляем адрес своего Метамаска:
Нажимаем mint и подтверждаем транзакцию. Зеленая галочка в логах отобразит успешность операции, переходим в кошелек Metamask в пункт Активность где увидим в истории транзу с именем Mint. Заходим туда и кликаем по Адресату, откроется окно с адресом также скопируйте его - он нам пригодится позже:
Деплой смарт-контракта произведен успешно!
Минт NFT за деплой смарт-контракта
Если выполняли предыдущий пункт и деплоили смарт-контракт, то можно пройти квест и заминтить NFT.
Переходим на сайт https://quests.base.org/quest и коннектим свой кошелек:
Нажимаем Start Quest и принимаем условия пользовательского соглашения:
Также нам потребуется gETH в сети Base. Если делали весь гайд то у вас должны остаться какие-то копейки.
Далее нажимаете Continue в пункте DEPLOY CONTRACT ON TESTNET необходимо вставить адрес самого смарт-контракта (который создавали выше) и нажимаем Verify Transaction:
Должна появиться надпись "Nice work! This is a valid smart contract". И далее уже минтим NFT: