Cover photo

Прыгаем в уходящий поезд или деплой контрактов на Aleo

Автор: https://t.me/clear_investor Дата обновления 19.05.2023

Предисловие

Первая фаза была заабужена софтерами и лезть в этот омут мне не хотелось. Сейчас же все довольно-таки цивильно, так как ребята из Aleo додумались усложнить получение тестовых токенов с крана.

А зачем им это делать? Им же пофиг на активность и наград за это давать никто не будет? Как говорится: No tokens, no airdrop. Да-да! Так я вам и поверил. Бабки на стол!

Для деплоя контракта нам понадобится удаленный сервер и сим-карты для отправки смс. На один смарт-контракт затраты = рублей 200, а вот награды… награды могут быть жирными, так как все сейчас дрюкают LayerZero, а про Aleo забыли. Так-то там и там бабок занесли одинаково, но кто из вас в последний раз хоть что-то слышал про Aleo? А выход уже вот-вот!

О проекте

Aleo — еще один Layer-1 блокчейн, который использует zk-технологию для обеспечения конфиденциальности. Говорят, что это первая платформа для полностью приватных приложений.

post image

Самое интересное для нас — команда собрала на $298 миллионов инвестиций от a16z, Coinbase Ventures и Polychain Capital.

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

Подготовка

Снимаем удаленный сервер

Я рекомендую использовать VDSina. Цены тут приемлемые и нет проблем при оплате российскими картами.

  • Переходим на сайт

  • Проходим регистрацию

  • Пополняем баланс

  • Жмем кнопку Создать сервер

  • Выбираем сервер со следующими настройками

Ubuntu 20.04 | Эпичные серверы | Процессор — 16 ядер | Память — 16 ГБ | Хранилище — 130 ГБ | Локация сервера — Амстердам | Автоматическая резервная копия — отключить
Ubuntu 20.04 | Эпичные серверы | Процессор — 16 ядер | Память — 16 ГБ | Хранилище — 130 ГБ | Локация сервера — Амстердам | Автоматическая резервная копия — отключить
  • Нажимаем Создать

  • Ждем, пока сервер создастся

post image
  • После нажимаем на появившийся сервер

post image
  • Жмем Доступ и копируем куда-нибудь номер IP и пароль от сервака

Создаем кошелек Aleo

post image
  • Переходим на сайт и жмем Generate

  • Копируем куда-нибудь Private Key, View Key и Address

Запрашиваем тестовые токены

post image
  • Отправляем смс на номер +1-867-888-5688 с адресом кошелька в таком формате:

Send 50 credits to *ваш address из пункта выше*

*На этом сайте будет отображаться статус отправки токенов. Пока токены не отправились, статус будет Pending. После отправки токенов с крана появится Transaction ID. Ждем его, копируем куда-нибудь и приступаем к следующему шагу.

**На получение тестовых токенов может уйти несколько часов.

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

Сейчас будем работать с терминалом, не надо пугаться, ссаться под себя и звать мамочку, все очень просто!

Открываем терминал

На Mac OS он так и называется — Терминал. На Windows — Командная строка. Я работаю на Mac, поэтому скрины будут из терминала. ПК-бояре выполняют те же команды, так что без паники.

Разминаем пальчики и начинаем вводить команды! После каждой команды жмякаем Enter.

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

Вводим команду

ssh root@ip_вашего_сервака
yes

Все, мы подключились к серверу, который сняли!

*Код, который будет далее, я подрезал у ребят с канала Testnet Pride, крутые чуваки! Рекомендую ^_^

Качаем пакеты для работы и открываем отдельное окно

Вводим команду

sudo apt update && \
sudo apt install make clang pkg-config libssl-dev build-essential gcc xz-utils git curl vim tmux ntp jq llvm ufw -y && \
tmux new -s deploy

Добавляем свой кошелек и закрытый ключ в качестве переменных

Вводим команду, а затем данные нашего кошелька

echo Enter your Private Key: && read PK && \
echo Enter your View Key: && read VK && \
echo Enter your Address: && read ADDRESS

Проверяем, что данные верны

Вводим команду

echo Private Key: $PK && \
echo View Key: $VK && \
echo Address: $ADDRESS

Добавляем Transaction ID в качестве переменной

Вводим команду, а затем Transaction ID

echo Enter your Transaction ID: && read TI

А затем еще одну команду

CIPHERTEXT=$(curl -s https://vm.aleo.org/api/testnet3/transaction/$TI | jq -r '.execution.transitions[0].outputs[0].value')

Ставим snarkOS

Вводим команду и ждем завершения установки

cd $HOME
git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd snarkOS
bash ./build_ubuntu.sh
source $HOME/.bashrc
source $HOME/.cargo/env

Ставим Leo

Вводим команду и ждем завершения установки

cd $HOME
git clone https://github.com/AleoHQ/leo.git
cd leo
cargo install --path .

Затем жмем Enter и ждем еще.

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

Вводим это

NAME=helloworld_"${ADDRESS:4:6}"
mkdir $HOME/leo_deploy
cd $HOME/leo_deploy
leo new $NAME

Потом вводим это

RECORD=$(snarkos developer decrypt --ciphertext $CIPHERTEXT --view-key $VK)

Потом вводим это и ждем завершения развертывания контракта

snarkos developer deploy "$NAME.aleo" \
--private-key "$PK" \
--query "https://vm.aleo.org/api" \
--path "$HOME/leo_deploy/$NAME/build/" \
--broadcast "https://vm.aleo.org/api/testnet3/transaction/broadcast" \
--fee 4000000 \
--record "$RECORD"
post image

Должно получиться вот так. Сохраняем хэш контракта и идем в explorer его чекать.

Взаимодействуем с контрактом

Вводим команду, а затем вводим хэш нашего контракта

echo Enter your Deploy hash: && read DH

Затем вводим эту команду

CIPHERTEXT=$(curl -s https://vm.aleo.org/api/testnet3/transaction/$DH | jq -r '.fee.transition.outputs[].value')

Затем эту

RECORD=$(snarkos developer decrypt --ciphertext $CIPHERTEXT --view-key $VK)

Затем эту и ждем выполнения транзакции

snarkos developer execute "$NAME.aleo" "hello" "1u32" "2u32" \
--private-key $PK \
--query "https://vm.aleo.org/api" \
--broadcast "https://vm.aleo.org/api/testnet3/transaction/broadcast" \
--fee 1000000 \
--record "$RECORD"
post image

Должно получиться вот так. Сохраняем хэш транзакции и идем в explorer ее чекать.

post image

На этом все, поздравляю! Вы задеплоили контракт на Aleo!

  • Не забудьте удалить сервак на VDSina, чтобы он не сожрал все ваши накопления с завтраков.

  • Также не забудьте подписаться на мой канал в телеграм!

  • А еще можете сминтить эту статью, нажав на кнопочку Collect Entry ниже!

Тем самым вы сделаете мне приятно, а еще повысите свой шанс на следующий ретродроп от Optimism и Mirror ^_^

Жду вас тут | Telegram | Chat | YouTube | Twitter