Приступаем к работе
Внимание: Содержимое этой страницы устарело и требует доработки. Новая версия Move IDE будет опубликована в ближайшее время. На данный момент я рекомендую вам использовать move-cli.
Как и в случае с любым компилируемым языком, вам нужен правильный набор инструментов для компиляции, запуска и отладки ваших приложений Move. Поскольку этот язык создан для блокчейнов и используется только внутри них, запуск скриптов вне блокчейна — нетривиальная задача: для каждого модуля потребуется среда, обработка учетных записей и система компиляции-публикации.
Чтобы упростить разработку модулей Move, я создал расширение Move IDE для Visual Studio Code. Это расширение поможет вам справиться с требованиями среды. Настоятельно рекомендуется использовать это расширение, поскольку оно будет обрабатывать среду сборки/запуска за вас и, следовательно, позволит вам сосредоточиться на изучении языка Move вместо того, чтобы бороться с интерфейсом командной строки. Это расширение также включает в себя подсветку синтаксиса Move и исполнитель, чтобы помочь отладить ваши приложения перед публикацией.
Установка Move IDE
Для его установки вам понадобится:
- VSCode (версия 1.43.0 или выше) - вы можете получить его здесь; если он у вас уже есть - переходите к следующему шагу;;
- Move IDE - после установки VSCode перейдите по этой ссылке чтобы установить новейшую версию IDE.
Настройка среды
Move IDE предлагает единый способ организации вашей структуры каталогов. Создайте новый каталог для своего проекта и откройте его в VSCode. Затем настройте эту структуру каталогов:
modules/ - каталог для наших модулей
scripts/ - каталог для скриптов транзакций
out/ - этот каталог будет содержать скомпилированные исходники
Также вам нужно создать файл с именем .mvconfig.json
который будет настраивать вашу рабочую среду. Это образец для for libra
:
{
"network": "libra",
"sender": "0x1"
}
В качестве альтернативы вы можете использовать dfinance
как network:
{
"network": "dfinance",
"sender": "0x1"
}
dfinance использует адреса bech32 'wallet1...', libra использует 16-байтовые '0x...' адреса. Для локальных запусков и экспериментов достаточно адреса 0x1 - он простой и короткий. Однако при работе с реальными блокчейнами в тестовой сети или производственной среде вам придется использовать правильный адрес выбранной вами сети.
Ваше самое первое приложение на Move
Move IDE позволяет запускать скрипты в тестовой среде. Давайте посмотрим, как это работает, реализовав функцию gimme_five()
и запустив ее внутри VSCode.
Создаем модуль
Создайте новый файл с именем hello_world.move
внутри каталога modules/
вашего проекта.
// modules/hello_world.move
address 0x1 {
module HelloWorld {
public fun gimme_five(): u8 {
5
}
}
}
Если вы решили использовать свой собственный адрес (не
0x1
) - убедитесь, что вы изменили 0x1 в этом файле и в том, что ниже
Пишем скрипт
Затем внутри каталога scripts/
создадим скрипт me.move
:
// scripts/run_hello.move
script {
use 0x1::HelloWorld;
use 0x1::Debug;
fun main() {
let five = HelloWorld::gimme_five();
Debug::print<u8>(&five);
}
}
Затем, не закрывая скрипт в редакторе, выполните следующие действия:
- Переключите палитру команд VSCode, нажав
⌘+Shift+P
(на Mac) илиCtrl+Shift+P
(на Linux/Windows) - Введите:
>Move: Run Script
и нажмите enter или щелкните, когда увидите нужный вариант.
Вуаля! Вы должны увидеть сообщение в логах с результатом "5", напечатанным в debug. Если вы не видите этого окна, пройдите эту часть еще раз.
Ваша структура каталогов должна выглядеть так:
modules/
hello_world.move
scripts/
run_hello.move
out/
.mvconfig.json
В вашем каталоге модулей может быть столько модулей, сколько вы хотите; все они будут доступны в ваших скриптах по адресу, который вы указали в .mvconfig.json