Развертываем контракт в сети Aleo — гайд для начинающих🔥

Kemi
6 min readMar 19, 2023

Всем привет и добро пожаловать в мой блог😍 !

Сегодня мы с вами развернем контракт и выполним базовую программу «Hello World!» в сети Aleo с помощью Leo и snarkOS. С помощью этого пошагового гайда даже неопытный пользователь сможет справиться с этой задачей.

Aleo , блокчейн уровня 1, ведущая платформа для создания частных приложений, привлекла в общей сложности 298 миллионов долларов от таких фондов как Kora Management LP, SoftBank Vision Fund 2, Tiger Global , Sea Capital, Samsung Next, Slow Ventures, Andreessen Horowitz (a16z) и других.

Создание кошелька Aleo

  1. Первым делом нам нужно создать новый аккаунт Aleo. Для этого переходим на сайт https://aleo.tools/ и жмем на кнопку Generate.

2. Копируем все данные — Private Key, View Key, Address и сохраняем в надежном месте.

Пополнение кошелька

3. Чтобы пополнить наш кошелек, запрашиваем в кране @AleoFaucet ⛲️ тестовые токены. Для этого создаем твит по образцу ниже, заменив адрес кошелька на свой из графы Address в пункте 2:

@AleoFaucet send 10 credits to aleo1....gnrr3an3n3nhjq0h3gjuh7uqwgawjuqf3g67zae6pgfq9qs538

Отправка монет @AleoFaucet может занять от нескольких минут до нескольких часов. Поэтому не стоит переживать по поводу того, что кран вас игнорирует, а также повторно отправлять твит, иначе бот вместо монет может отправить вас “остынуть”😅.

4. Пока наши монеты находятся в пути, давайте установим расширение Beautifier & Editor для Chrome. Оно нам понадобится на следующем шаге.

5. Через некоторое время бот ответит вам сообщением, в котором будет содержаться ссылка вида https://vm.aleo.org/api/testnet3/transaction/at1zs86wr7hkngweyt3nqd0wggzyshzqvqwcmvdv59p8v5wkqe68c. Это означает, что мы можем переходить к следующим шагам.

Это означает, что мы готовы к следующим шагам

6. Переходим по этой ссылке, которую нам прислал бот и открываем папки в следующей последовательности object -> execution -> transitions -> 0 -> outputs -> 0 -> value и скопируем значение value:

7. Снова переходим на сайт https://aleo.tools/, только теперь во вкладку Record. Вставим скопированное значение из пункта 6 в графу Record (Ciphertext), а в графу View Key значение, которое вы сохранили в пункте 2:

✔Полученное значение в поле Record (Plaintext) снова сохраняем к себе вместе в данными кошелька.

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

Если у вас есть сервер, на котором будете выполнять команды, то пропустите этот раздел.

8. Мы будем арендовать сервер на DigitalOcean на короткий промежуток времени, смотря за сколько вы управитесь. Для этого переходим на сайт и авторизируемся с помощью Sign in with google. После того, как мы развернем контракт, мы уничтожим нашу каплю. Но давайте обо всем по порядку😄.

9. В правом верхнем углу жмем на Create -> Droplets:

10. Не меняя никакие параметры сразу переходим к Create root password и создаем пароль:

11. Нас перекинет на страницу, где надо нажать на три точки в левом верхнем углу и далее Access console:

12. Далее заходим в консоль управления как root, нажав на кнопку Launch Droplet Console:

13. Не забудьте вернуться на сайт на следующий день, чтобы произвести оплату. У меня за один час аренды вышло 0,09$.

Установка файлов

14. В открывшемся терминале вводим команды по одной: копируем — вставляем — ввод, ждем выполнения. Когда сервер выполнил предыдущую и готов к выполнению следующей команды появляется новая строчка с именем root@имя_пользователя:~#
- Некоторые файлы загружаются долго, иногда до пяти минут, терпеливо ждем.
- На все вопросы “….? Y/n” отвечаем одной буквой — латинской y.
- Если вы делаете на сервере DigitalOcean, несколько раз будут всплывать окна, где нужно осуществить выбор — жмите просто enter

Начинаем вводить:

sudo apt update
sudo apt install git
git clone https://github.com/git/git
apt install curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs/ | sh
sudo apt install gcc
sudo apt install clang libssl-dev pkg-config
source "$HOME/.cargo/env"
git clone https://github.com/AleoHQ/snarkOS.git --depth 1
cd snarkOS
./build_ubuntu.sh
apt install cargo
cargo install --path .
export PATH=/root/.cargo/bin:$PATH
curl -L https://raw.githubusercontent.com/AleoHQ/workshop/master/install.sh | sh
cargo install snarkos

15. Проверяем установились ли файлы snarkos и leo:

snarkos
Вывод должен быть примерно таким

leo
Вывод должен быть примерно таким

16. Переходим в директорию

cd
mkdir demo_deploy_Leo_app && cd demo_deploy_Leo_app

17. Задаем наш адрес кошелька (ADRESS), сгенерированный в пункте 2 — так и вcтавляем его между кавычками:

WALLETADDRESS="YOUR_WALLET_ADDRESS"

18. Указываем наш приватный ключ:

PRIVATEKEY="YOUR_PRIVATE_KEY"
Пункты 16 и 17

19. Задаем имя приложения, с автоматической генерацией названия:

APPNAME=helloworld_"${WALLETADDRESS:4:6}"

20. Создаём новую программу:

leo new "${APPNAME}"
Вывод должен быть таким

21. Запускаем:

cd "${APPNAME}" && leo run && cd -
Получаем такой вывод

22. Сохраняем путь:

PATHTOAPP=$(realpath -q $APPNAME)

23. Теперь давайте вернемся в наш файл, где мы сохраняли данные от кошелька.
- Скопируем оттуда значение параметра RECORD (из пункта 7), и заменяем в команде ниже данные на свои.
- Удалим лишние пробелы после и перед скобками.
- Не забудьте про кавычки.
У вас будет свой вариант, ниже приведен просто образец и его копировать не нужно!

RECORD="{owner: aleo1xvlh6ey[eogfv2z5zafhjgutjlglgncbxgsgtcnjfkgc4.private,gates: 10000000u64.private,_nonce: 41278778989665547896656525906532897983group.public
}"

24. И последний шаг — развертываем сам контракт:

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 600000 --record "${RECORD}"

Копируем все значение “Successfully deployed … “ и сохраняем к себе вместе с данными от кошелька.

Можно снова перейти на страницу https://aleo.tools/, только теперь в раздел REST API, ввести в поле Get Program -> Program ID название своей созданной программы (у меня helloworld_1t9xkv.aleo) и убедиться что она существует✔:

Удаление Droplets

25. Теперь когда мы завершили работу с севером, закрываем консоль управления и снова переходим в личный кабинет DigitalOcean. Кликаем на название проекта:

26. Жмем на три точки и далее Destroy:

27. Далее откроются еще две страницы, на которых подтверждаем свое решение об уничтожении капли, как на скринах ниже:

У меня ушел примерно час на развертывание контракта и я заплатила за это 0,09$. Счет будет доступен в кабинете на следующий день.

✔Готово!

Поздравляю, вы успешно развернули и запустили приложение Leo в Testnet III🎉🏆!

Делитесь в комментариях, легко ли вам было или сложно?

Также вы можете похлопать статье до 5 раз, я буду вам благодарна🤩 и это вдохновит меня на создание подобных статей. Ведь у меня в заначках есть перспективный проект, о котором пока мало кто знает, и в котором на данном этапе сможет принять участие каждый желающий. Возможно скоро я вам о нем расскажу…

Жду вас в своем телеграм-канале Easy | Crypto

Официальная документацию Aleo Deploy and Execute Demo

Ваша Kemi 🌼

--

--