Гайды по нодам
February 20

Разворачивание смарт-контракта в тестовой сети Eclipse

В данном гайде мы пройдем небольшой тестнет от Eclipse Labs, в ходе которого нам предстоит развернуть смарт-контракт в их тестовой сети



Подготовка

Аренда сервера

Арендуем самый минимальный Ubuntu сервер. В нашем случае минимально доступный сервер 1 CPU, 1 RAM, 15 GB

Подключаемся к серверу

Установка, подготовка необходимых зависимостей

Для начала сносим старый nodejs, который скорее всего будет предустановлен на нашем VPS

sudo apt-get purge nodejs -y && sudo apt autoremove -y

Далее скачиваем и устанавливаем последний nodejs одной командой

curl -fsSL https://deb.nodesource.com/setup_21.x | sudo -E bash - &&\
sudo apt-get install -y nodejs

Качаем и устанавливаем Rust и его менеджер пакетов Cargo

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Нас спросит какая установка нам нужна, пишем 1 и нажимаем enter

Разворачивание смарт-контракта

Скачиваем и ставим Solana CLI

sh -c "$(curl -sSfL https://release.solana.com/stable/install)"

Перезапускаем сервер

reboot 

Прописываем RPC в конфиг

solana config set --url https://testnet.dev2.eclipsenetwork.xyz

Генерируем кошелек

solana-keygen new

По желанию вводим пароль, либо просто нажимаем enter

Обязательно сохраните мнемонику

Идем в кран1 или кран2

Берем на свой личный кошелек токенов

Идем на бридж1 или бридж2

И кидаем 0.1 eth на адрес(public key), который был сгенерирован ранее

Запускаем валидатора командой

sudo $(command -v solana-sys-tuner) --user $(whoami) > sys-tuner.log 2>&1 &

Клонируем репозиторий с нашим смартом и устанавливаем зависимости

git clone https://github.com/solana-labs/example-helloworld
cd example-helloworld
npm install

Скорее всего вам высыпет страшный текст, но на деле он не страшный, так что не обращаем внимания

Создаем смарт контракт

 npm run build:program-rust

На данном шаге может выскакивать рандомная ошибка связанная с отсутствием какого-либо пакета. Его нужно будет докачать руками. Пример:

Решение:

После этого еще раз билдим смарт-контракт, выход должен быть +- таким

Деплоим смарт-контракт

solana program deploy dist/program/helloworld.so

После этой команды нам выведем Program Id, его мы потом указываем в форме

Проверяем успешность деплоя

npm run start

Вывод должен быть +- следующим

Далее идем и заполняем форму