Move.

Пост

Поделитесь своими знаниями.

Forever_A-gator.
Apr 11, 2025
Экспертные Вопросы и Ответы

Как создать читаемый байт-код для Move with Miden Assembly?

Я пытаюсь поэкспериментировать с написанием компилятора Move, используя Miden Assembly в качестве цели компилятора. Я хочу создать читаемый байт-код для скомпилированной программы Move. Есть ли простой способ добиться этого?

  • Move CLI
0
2
Поделиться
Комментарии
.

Ответы

2
Grizzly.
Apr 12 2025, 18:16

Вы можете ознакомиться sui move disassembleс этой командой, которая может помочь вам создать читаемый байт-код.

0
Комментарии
.
24p30p.
Jul 9 2025, 06:55

Если вы пытаетесь создать компилятор Move, предназначенный дляMiden Assembly, вы решаете уникальную экспериментальную задачу. На данный момент не существует официального набора инструментов, позволяющего подключать Move напрямую к виртуальной машине Miden, поэтому вам придется вручную сопоставлять Move IR (промежуточное представление) или байт-код с Miden Assembly. Чтобы сделать это простым способом, вы можете начать с компиляции кода Move с помощью интерфейса командной строки Move для генерации байт-кода или IR, а затем создать слой перевода, который возьмет этот код и отправит инструкции по сборке, удобные для Miden. Этот процесс включает создание собственного бэкенда, который понимает операции Move на основе стека и преобразует их в структуру виртуальных машин Miden, основанную на ограничениях.

Чтобы сделать сборку Miden понятной и точной, вам, скорее всего, потребуется создать интерпретатор или генератор кода, который сопоставляет коды операций Move (например MoveLoc``Call, Addи т. д.) с эквивалентными или приближенными процедурами сборки Miden. Поскольку в Miden VM есть собственный набор правил управления стеком, вам, возможно, придется переработать некоторые аспекты потока управления или вызовов функций в соответствии с этой парадигмой. Это будет нетривиально, но если ваша цель — экспериментировать и учиться, вы можете начать с малого (например, составление арифметических выражений или вызовов базовых функций) и постепенно создавать слой перевода.

Для этого не существует готового примера блока транзакций, так как это проект на уровне компилятора, но для получения рекомендаций по компиляции Move в байт-код используйте:

move build

Затем проверьте сгенерированный байт-код с помощью:

move bytecode-viewer build/bytecode_modules

Оттуда вы можете создать пропуск, излучающий Miden Assembly.

Вы можете узнать больше и принять участие в обсуждении интеграции Miden и Move по адресу: https://github.com/move-language/move https://github.com/0xPolygonMiden/miden

Этот подход требует глубокого понимания как виртуальной машины Move, так и архитектуры Miden, но это интересный способ объединить высокоуровневую логику смарт-контрактов с низкоуровневой инфраструктурой с нулевым уровнем знаний.

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Посты240Ответы
Sui.X.Peera.

Заработай свою долю из 1000 Sui

Зарабатывай очки репутации и получай награды за помощь в развитии сообщества Sui.

Кампания вознагражденийИюль
Посты с вознаграждением