Fuel - деплой смарт-контракта и прохождение тестнета
Данная статья подготовлена командой DAO Crypto. Мы есть в Youtube и Telegram
Все наши уроки и статьи тут
Видео гайд по ссылке
Содержание
Fuel Network — это модульный уровень выполнения для Ethereum. Fuel Network предлагает другой подход к модульности, когда исполнительный уровень отделен от доступности данных и консенсуса. Такое разделение позволяет специализироваться на базовом уровне, предлагая больший потенциал масштабируемости.
Fuel Network привлек $80 млн. от таких инвесторов, как Blockchain Capital, Stratos Technologies, CoinFund, Bain Capital Crypto и других.
Проект весьма перспективный и стоит того, чтобы обратить на него внимание. На данный момент мы можем поучаствовать, во-первых, загрузив смарт-контракт, а во-вторых, протестировав кошелек проекта.
Если у вас еще нет опыта по деплою смарт-контракта
Если вы еще не имеете опыт по запуску нод, деплою смарт-контрактов и работе с серверами, то у нас есть детальное видео по этим вопросам.
Смотрите это видео здесь 👉 ссылка
В нем рассказано и про MobaXterm, и про аналоги на Mac, и про SSH ключ. К уроку идет подробная статья, пошагово рассказывающая о создании SSH ключа и подключении к серверу через MobaXterm с его помощью.
Статья про создание SSH-ключа 👉 ссылка
Подключение к серверу через SSH-клиент 👉 ссылка
И еще статья по кранам в Тестовой сети Goerli 👉 ссылка
Сохраняйте себе эти полезные статьи, чтобы у вас больше не возникало вопросов по работе с серверами и все получалось с первого раза!
Арендуем сервер на VDSina
Для разворачивания смарт-контракта достаточно будет сервера с минимальными техническими характеристиками (например: Процессор: 1 core Память: 1 ГБ Хранилище: 30 ГБ Трафик: 32 ТБ). Такой сервер можно арендовать на Vdsina
Заходим на сайт и нажимаем на кнопку "Создать сервер".
Задаем параметры сервера: выбираем операционную систему Ubuntu - Версия 20.04 - тип Стандартные серверы - Стоимость аренды минимальная - Локация любая - Отключаем ползунок Автоматическая резервная копия - включаем Дополнительные настройки, там вводим название и выбираем SSH-ключ - жмем кнопку "Создать"
Сервер создан. Копируем его IP-адрес.
Подключаемся к серверу
Для того, чтобы подключиться к серверу на Windows, потребуется программа MobaXterm.
Открываем MobaXterm, через вкладку Session добавляем сервер. В поле "Remote Host" вставляем IP-адрес арендованного сервера, в разделе "Advanced SSH settings" ставим галочку в поле "Use private key" и выбираем файл с приватным ключом.
Разворачиваем смарт-контракт
После этого начинаем запускать команды. Последовательно вводим следующие команды в окне MobaXterm, после каждой строчки нажимаем Enter и ждем выполнения:
sudo apt update sudo apt upgrade -y
sudo apt install curl make clang vim pkg-config libssl-dev build-essential git mc jq unzip wget -y curl https://sh.rustup.rs -sSf | sh
Вводим с клавиатуры 1 и ENTER для продолжения
source $HOME/.cargo/env
curl --proto '=https' --tlsv1.2 -sSf https://install.fuel.network/fuelup-init.sh | sh
Жмем У и ENTER для продолжения
Далее может возникнуть проблема с исполнением команд. Чтобы ее избежать, открываем новую вкладку терминала и продолжаем вводить команды уже в этой вкладке.
Чтобы открыть новую вкладку терминала в MobaXterm нужно нажать на название вкладки правой клавишей мыши, выбрать пункт "Duplicate tab". Дальше можно работать в этой новой вкладке, а первую закрыть.
Продолжаем вводить команды уже в новой вкладке MobaXterm
cd $HOME/.fuelup/ fuelup self update fuelup toolchain install beta-3 fuelup default beta-3
mkdir fuel-project && cd fuel-project forc new counter-contract vim counter-contract/src/main.sw
Далее откроется файл с текстом контракта. Вводим с клавиатуры i, после чего в окне терминала внизу появится слово INSERT.
Нам нужно удалить весь текст контракта, который мы видим, и на его место вставить следующий:
abi Counter {
#[storage(read, write)]
fn increment();
#[storage(read)]
fn count() -> u64;
}
impl Counter for Contract {
#[storage(read)]
fn count() -> u64 {
storage.counter
}
#[storage(read, write)]
fn increment() {
storage.counter = storage.counter + 1;
}
}
Далее нажимаем ESC и вводим с клавиатуры :w, затем ENTER. Вводим с клавиатуры :q и нажимаем ENTER.
Далее продолжаем вводить команды в терминале:
cd counter-contract/ forc build
forc-wallet new
Далее нам нужно придумать и подтвердить пароль. Он не отображается при вводе, поэтому пишем внимательно и сохраняем пароль у себя.
После этого на экране появится сид-фраза. Обязательно ее сохраням!
Далее жмем любую клавишу для выхода.
forc-wallet account new
Далее нужно будет ввести пароль, который задавали шагом выше.
Отобразится адрес кошелька. Сохраняем его.
Запрашиваем тестовые токены
Далее на этот кошелек нам нужно запросить тестовые токены. Переходим на сайт и вводим адрес кошелька. Проходим капчу и запрашиваем токены.
Дожидаемся, когда токены поступят на кошелек, после этого можно будет проверить их зачисление, для этого кликаем на кнопку:
И видим, что токены поступили на баланс:
Возвращаемся к окну терминала и продолжаем вводить команды.
forc deploy --node-url beta-3.fuel.network/graphql --gas-price 1 --random-salt
Появится запрос с адресом кошелька. Вставляем адрес, нажимаем ENTER.
После этого отобразится Transaction id to sign, нам нужно скопировать это значение, но так, чтобы не слетела команда.
Для того, чтобы скопировать Transaction id и не сбросить команду, нужно просто два раза кликнуть левой кнопкой мыши по нему, не использовать клавиши CTRL+C. После этого значение можно будет вставить уже к себе в блокнот нажатием CTRL+V.
Теперь работаем в двух вкладках сервера. Открываем еще одну, новую вкладку на том же сервере: нужно нажать на название вкладки правой клавишей мыши, выбрать пункт "Duplicate tab", после этого откроется новая вкладка. Теперь будем вводить команду в ней.
В следующую команду в блокноте вместо Transaction id подставляем свои значения, которые только что скопировали на первой вкладке терминала.
forc wallet sign --account 0 tx-id Transaction id
ПРИМЕР ТОГО, КАК МОЖЕТ ВЫГЛЯДЕТЬ ТАКАЯ КОМАНДА (ЭТОТ ПРИМЕР ВСТАВЛЯТЬ НЕ НУЖНО):
forc wallet sign --account 0 tx-id 38fb3540ce6642fdFGH789DLKJ879e0f35a383efc9729f02156cc1a2
После того, как подготовили свою команду в блокноте, копируем ее и вставляем во вторую вкладку терминала, нажимаем ENTER.
Вводим пароль, который придумали при создании кошелька.
После этого перед нами отобразится строчка Signature, копируем значение из нее.
Возвращаемся в первую вкладку терминала и вводим только что скопированное значение Signature, нажимаем ENTER.
Дожидаемся выполнения команды, после чего увидим надпись о загрузке контракта:
Убедиться в том, что контракт загружен, можно в эксплорере. Для этого переходим по ссылке и вводим в строку поиска адрес своего кошелька.
Далее видим список транзакций.
Среди последних транзакций находим ту, у которой значение Tx Hash совпадает со значением Transaction id, которое мы вставляли в команду в блокноте, открываем ее. И видим, что она имеет статус Success, значит все прошло успешно.
Если вы хотите загрузить еще один смарт-контракт
Для деплоя еще одного контракта не нужно удалять сервер. А также можно оставить обе вкладки в окне MobaXterm и продолжать работать в них.
Чтобы удалить данные предыдущего контракта, вводим в первой вкладке терминала следующие команды:
cd $HOME/ rm -rf $HOME/.fuelup/fuel-project rm -rf $HOME/.fuel/wallets/ cd $HOME/.fuelup/
А далее переходим к пункту "Создаем контракт" и по-новой выполняем все действия, начиная с него.
Переустановка системы на сервере
Если вы запутались в командах или что-то пошло не так, вы не можете найти, где допустили ошибку, не знаете, как ее исправить и хотите начать процесс разворачивания приложения заново, то можно не удалять для этого сервер на VDSina, а переустановить на нем систему. Таким образом все ранее введенные команды сбросятся.
Для этого переходим на VDSina и открываем свой сервер.
Выбираем вкладку Переустановка.
Здесь можно переустановить систему на сервере и таким образом удалить все изменения на нем.
Тестируем кошелек Fuel
1. Устанавливаем кошелек Fuel wallet
Для того, чтобы установить кошелек Fuel себе в браузер, переходим на сайт и нажимаем кнопку Download Fuel Wallet. После этого на компьютер скачается ZIP-файл кошелька.
Переходим в Управление расширениями в браузере Chrome
Включаем Режим разработчика. После этого перетаскиваем ZIP-файл кошелька из папки, в которую он загружен, на пустое место в списке расширений, после этого расширение установится.
Открываем расширение Fuel Wallet. При деплое смарт-контракта мы уже создали кошелек, поэтому нажимаем кнопку I already have a wallet.
Вводим сид-фразу от нашего кошелька. Нажимаем Next. После этого вводим пароль.
В итоге кошелек готов к работе.
2. Получаем тестовые токены
Мы уже получали тестовые токены во время деплоя смарт-контракта, бОльшая их часть должна остаться на кошельке.
Но если вам нужно запросить еще, то возвращаемся к этому пункту и следуем инструкциям.
3. Тестируем кошелек Fuel Wallet
Для того, чтобы протестировать кошелек Fuel, переходим на сайт.
Прокручиваем страницу до раздела Request connection и нажимаем кнопку Connect.
Далее проходим по всем разделам на этой странице и выполняем действия, представленные в них.
Для этого нажимаем кнопку Get accounts, после чего внизу увидим список своих кошельков
Для этого нажимаем кнопку Get current account, после чего внизу увидим адрес кошелька, который активен в данный момент
Нажимаем кнопку Sign Message. Затем подтверждаем действие в кошельке. После этого увидим ID транзакции внизу.
В этом пункте у нас уже заданы параметры для перевода, но мы можем их поменять - ввести адрес кошелька, на который хотим перевести средства, а также задать их количество.
После этого нажимаем кнопку Transfer и подтверждаем транзакцию в кошельке.
После этого внизу отобразится ID транзакции и мы сможем открыть ее в эксплорере.
Для этого нажимаем кнопку Get assets, после чего внизу увидим список активов, которые есть в кошельке
Для того, чтобы добавить свой актив, заполняем поля - адрес контракта, название, тикер, ссылка на изображение. И нажимаем кнопку Add Assets
После этого заходим в свой кошелек Fuel, открываем меню (три полоски в верхнем правом углу) и выбираем Settings - Assets
В списке активов увидим только что добавленный токен.
Старайтесь периодически заходить на сайт и проявлять активность в кошельке: подписывайте сообщения, переводите средства и добавляйте активы.
Свои транзакции можно посмотреть в эксплорере. Нужно ввести в строке поиска адрес вашего кошелька и нажать Enter. После этого появится список транзакций на кошельке.
4. Оставляем отзыв
Чтобы оставить отзыв о работе кошелька, присоединяемся к дискорду проекта.
Затем находим канал #wallet-feedback и в нем отправляем сообщение со своим отзывом об использовании кошелька Fuel.
Данная статья подготовлена командой DAO Crypto. Мы есть в Youtube и Telegram
Все наши уроки и статьи тут
Видео гайд по ссылке