November 15, 2023

Заключительные активности в Aleo

Навигация:

Что такое Aleo?

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

  • Инвестиции: $298 млн
  • Инвесторы: a16z, Samsung Next, Kora и другие

Проект представляет интерес только в узких кругах, и это зря.

  • В нем было достаточно много уникальных событий, начиная от получения «кредитов Aleo» и заканчивая амбассадорской программой / установкой ноды

Aleo Credits – это уникальный способ взаимодействия с блокчейном Aleo, позволяющий пользователям выполнять различные действия, сохраняя при этом свою конфиденциальность.

Ранее мы оповещали о двух ограниченных наборах в программу амбассадоров:

На данный момент основными активностями являются:

  • Деплой смарт-контракта (+ активность в кошельке Leo Wallet)
  • Получение «Leo Contributor Badge»

Mainnet проекта будет запущен в январе 2024 года, и вполне вероятно, что текущие активности является «последним вагоном» – вероятность получения вознаграждения за подобные действия весьма мала.

  • С другой стороны, это действия, не требующие больших временных/денежных затрат

Приступим!

Руководство по деплою контракта

Запрос токенов

  • Устанавливаем расширение кошелька Leo wallet и сохраняем Seed-фразу
  • Переходим на сайт и вставляем адрес своего кошелька из расширения Leo
  • Проходим капчу «Cloudflare»
  • Нажимаем на «Paint it green!»

После чего:

  • Присоединяемся к Discord-серверу проекта
  • Переходим в ветку «faucet»

Вводим приведенную ниже команду в текстовое поле:

/sendcredits "ваш адрес кошелька" 50

Ожидаем поступления тестовых активов (может занять значительное время, зависит от нагрузки и текущего состояния крана)

Если кран в Discord не работает, используем IZAR:

  • Переходим на сайт
  • Подключаем кошелек Metamask и расширение Leo Wallet
  • Обмениваем токены в Aleo

И, наконец, крайняя альтернатива – официальный кран проекта:

  • Переходим на сайт
  • Вставляем свой адрес из расширения Leo Wallet
  • Отправляем сообщение «Send 50 credits to aleo1xxxxxx» на номер +1-867-888-5688

Важно отметить, что ряд стран находится в блокировке, для обхода можно воспользоваться сервисами, предоставляющими временные номера из нашего «Руководства по мультиаккингу», либо же попытать удачу с предложениями на ОТС

Деплой

Копируем указанный ниже код и вставляем его в поле «Program»:

program the_liolikus.aleo;
record Token:
    owner as address.private;
    amount as u64.private;
function mint:
    input r0 as address.private;
    input r1 as u64.private;
    cast r0 r1 into r2 as Token.record;
    output r2 as Token.record;
function transfer:
    input r0 as Token.record;
    input r1 as address.private;
    input r2 as u64.private;
    sub r0.amount r2 into r3;
    cast r0.owner r3 into r4 as Token.record;
    cast r1 r2 into r5 as Token.record;
    output r4 as Token.record;
    output r5 as Token.record;

Далее, нам необходимо получить уникальное имя (длиной более 10 символов) для нашего контракта

В поле поиска напишите название нашего будущего контракта, например:

cryptomeraaleotest.aleo

Если мы видим «404», это означает, что имя не занято

Меняем название нашего контракта в первой строке:

Пример:

program cryptomeraaleotest.aleo;

В поле «fee» указываем значение:

12000000
  • Нажимаем кнопку «Submit»
  • Ожидаем завершения процесса «Deploy’а»

В том случае, если все было сделано корректно, в кошельке Leo появляется транзакция, связанная с «Deploy’ем»

После чего:

Вставляем имя нашего контракта в поле «Program ID»:

Пример:

cryptomeraaleotest.aleo

В поле Function Name вписываем:

mint

В поле Inputs вписываем:

АДРЕС_ВАШЕГО_КОШЕЛЬКА_LEO
1000u64

Число «1000» может быть изменено в зависимости от количества токенов, необходимых для одного кошелька

В поле Fee вписываем:

1000000
  • Нажимаем на «Submit»
  • Подтверждаем транзакцию в кошельке

В кошельке Leo отобразится транзакция, связанная с «Mint'ом» (а может и вовсе отсутствовать, сеть крайне нестабильна)

Получение «Leo Contributor Badge»

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

Запрос токенов

Для получения тестовых токенов можно использовать те же способы, что были представлены ранее

Если используем сервер

Если вы планируете использовать VPS, в настройках сервера выбирайте систему Debian 12 или, в крайнем случае Ubuntu.

В Windows

Подключаемся к серверу, используя PuTTY:

Также можно использовать Termius

  • В «Host Name» вводим IP вашего сервера и нажимаем на "Open"
  • В открывшемся окне прописываем команду: root;
  • Нажимаем кнопку “Enter”
  • Вставляем пароль от сервера, затем подтверждаем, нажав “Enter” еще раз.

Linux/MacOS

Запускаем программу Terminal:

  • Заходим на сервер командой: ssh root@IP_ADDRESS
  • IP_ADDRESS меняем на IP сервера
  • Вводим "yes"
  • Нажимаем кнопку «Enter»
  • Вставляем пароль от сервера
  • Подтверждаем ввод, нажав на "Enter" (пароль не будет виден)

Установка

Начало:

  • В Windows откройте Git Bash (вот вы его выше поставили)
  • В Linux/MacOS просто откройте любой Terminal.
  • Если вы используете сервер (в Putty/Termius), вы уже в нем

Начинаем установку (не забываем вводить «Y» и «ENTER» там, где этого потребует код):

apt update && apt upgrade
apt install curl git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd snarkOS
./build_ubuntu.sh

Скрипт добавит необходимые зависимости, остается только ждать завершения установки

source $HOME/.cargo/env
export PATH=$PATH:~/.cargo/bin/
cargo install --path .
cd
git clone https://github.com/AleoHQ/leo
cd leo
cargo install --path .
leo
cd
mkdir demo_deploy_Leo_app && cd demo_deploy_Leo_app
WALLETADDRESS="<ВАШ АДРЕС АЛЕО>"
APPNAME=helloworld_"${WALLETADDRESS:4:6}"
echo $APPNAME
leo new "${APPNAME}"
cd "${APPNAME}" && leo run && cd -
PATHTOAPP=$(realpath -q $APPNAME)
echo $PATHTOAPP
cd $PATHTOAPP && cd ..
PRIVATEKEY="<ВАШ ПРИВАТНЫЙ КЛЮЧ>"

Переходим на сайт и указываем свой кошелек

Смотрим транзакцию:

  • Переходим в Transaction ID
  • Нажимаем на транзакцию

Рекомендуем установить расширение для удобного просмотра.

Обновите страницу, затем рассмотрите JSON-код на странице.

  • Раскрываем цепочку execution — transitions — 0 — outputs — 0
  • Копируем код в поле value
  • Переходим по ссылке в поле Record (Ciphertext)
  • Вставляем ранее скопированный код value
  • В поле View Key вставляем наш View Key от кошелька.
  • Если все ввели верно, то вам покажут код Record (Plaintext), если нет — он будет затемнен!
RECORD="КОД ИЗ RECORD (PLAINTEXT)"
snarkos developer deploy "${APPNAME}.aleo" --private-key "${PRIVATEKEY}" --query "https://vm.aleo.org/api" --path "./${APPNAME}/build/" --broadcast "https://vm.aleo.org/api/testnet3/transaction/broadcast" --fee 25000000 --record "${RECORD}"

Приложение на Aleo успешно развернуто!

Добавление Github-профиля

cd
leo account import <ВАШ ПРИВАТНЫЙ КЛЮЧ>
leo example tictactoe
cd tictactoe
leo run new
cd tictactoe
git init -b main
git add .
git config --global user.email <ВАША ПОЧТА НА ГИТХАБ>
git config --global user.name <ВАШ ЮЗЕРНЕЙМ НА ГИТХАБ>
git commit -m "My First commit"

Создаем новый репозиторий на гитхаб — https://github.com/new

  • Можете назвать tictactoe (как в коде), можете иначе.
git branch -m main
git remote add origin <ССЫЛКА НА ВАШ НОВЫЙ РЕПОЗИТОРИЙ>
git remote -v
git push -u origin main

Теперь забираем значок за то, что внесли правки в Git Aleo:

  • Переходим по ссылке
  • Сверху справа нажимаем на New Issue, напротив Leo Contributor Badge
  • нажимаем на Get started

Пишем следующее:

Hi Aleo team! I’m claiming my contributor badge for completing the New Developer Toolkit tutorial.Tutorial Repo: <ССЫЛКА НА ВАШ РЕПОЗИТОРИЙ>Requested badge: Leo Contributor Badge

На этом все! Мы подали заявку на участие в репозитории Aleo и будем приняты в сообщество после ее одобрения.