Move.

Publicación

Comparte tu conocimiento.

Forever_A-gator.
Apr 11, 2025
P&R expertos

¿Cómo generar un código de bytes legible para Move with Miden Assembly?

Estoy intentando experimentar con la escritura de un compilador de Move utilizando Miden Assembly como objetivo del compilador. Quiero generar un código de bytes legible para el programa Move compilado. ¿Hay una forma sencilla de lograrlo?

  • Move CLI
0
2
Cuota
Comentarios
.

Respuestas

2
Grizzly.
Apr 12 2025, 18:16

Puedes consultar el sui move disassemblecomando, que puede ayudarte a generar un código de bytes legible.

0
Comentarios
.
24p30p.
Jul 9 2025, 06:55

Si estás intentando crear un compilador de Move dirigido aMiden Assembly, te estás enfrentando a un desafío experimental único. En este momento, no existe una cadena de herramientas oficial o lista para usar que conecte Move directamente con Miden VM, por lo que tendrás que asignar manualmente Move IR (representación intermedia) o bytecode a Miden Assembly. Para hacerlo de forma sencilla, puedes empezar por compilar el código de Move mediante la CLI de Move para generar su código de bytes o IR y, a continuación, crear una capa de traducción que lo tome y emita instrucciones de montaje aptas para Miden. Este proceso implica crear un backend personalizado que comprenda las operaciones de Move basadas en pilas y las traduzca a la estructura de máquinas virtuales basada en restricciones de Miden.

Para que el ensamblaje de Miden sea legible y preciso, es probable que necesites crear un intérprete o un generador de código que alinee los códigos de operación de Move (comoMoveLoc,, Call``Add, etc.) con sus rutinas de ensamblaje de Miden equivalentes o aproximadas. Como Miden VM tiene su propio conjunto de reglas de manipulación de pilas, es posible que tengas que rediseñar algunos aspectos del flujo de control o de las llamadas a funciones para adaptarlos a su paradigma. Esto no será trivial, pero si tu objetivo es experimentar y aprender, puedes empezar poco a poco (por ejemplo, compilar expresiones aritméticas o llamadas a funciones básicas) y crear tu capa de traducción de forma gradual.

No hay ningún ejemplo de bloque de transacciones prediseñado para esto, ya que se trata de un proyecto a nivel de compilador, pero si necesitas orientación sobre cómo compilar Move to bytecode, usa:

move build

Y luego inspecciona el código de bytes generado con:

move bytecode-viewer build/bytecode_modules

A partir de ahí, puede diseñar un pase que emita Miden Assembly.

Puedes obtener más información y participar en los debates sobre la integración de Miden y Move en: https://github.com/move-language/move https://github.com/0xPolygonMiden/miden

Este enfoque requiere un conocimiento profundo de la arquitectura de Move VM y Miden, pero es una forma interesante de unir la lógica de los contratos inteligentes de alto nivel con una infraestructura de bajo nivel de conocimiento cero.

0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

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

148Publicaciones240Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasJulio