Move.

Publication

Partagez vos connaissances.

Forever_A-gator.
Apr 11, 2025
Questions et Réponses avec des Experts

Comment générer un bytecode lisible pour Move avec Miden Assembly ?

J'essaie d'essayer d'écrire un compilateur Move en utilisant Miden Assembly comme cible du compilateur. Je souhaite générer un bytecode lisible pour le programme Move compilé. Existe-t-il un moyen simple d'y parvenir ?

  • Move CLI
0
2
Partager
Commentaires
.

Réponses

2
Grizzly.
Apr 12 2025, 18:16

Vous pouvez consulter la sui move disassemblecommande, qui peut vous aider à générer un bytecode lisible.

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

Si vous essayez de créer un compilateur Move qui cibleMiden Assembly, vous relevez un défi expérimental unique. À l'heure actuelle, aucune chaîne d'outils officielle ou prête à l'emploi ne connecte Move directement à Miden VM. Vous devrez donc mapper manuellement Move IR (représentation intermédiaire) ou un bytecode dans Miden Assembly. Pour ce faire de manière simple, vous pouvez commencer par compiler votre code Move à l'aide de la CLI Move pour générer son bytecode ou IR, puis créer une couche de traduction qui le prend et émet des instructions d'assemblage adaptées à Miden. Ce processus implique la création d'un backend personnalisé qui comprend les opérations basées sur les piles de Move et les traduit dans la structure de machine virtuelle basée sur les contraintes de Miden.

Pour rendre l'assemblage Miden lisible et précis, vous devrez probablement créer un interpréteur ou un générateur de code qui aligne les opcodes Move (likeMoveLoc, Call``Add, etc.) avec leurs routines d'assemblage Miden équivalentes ou approximatives. Comme Miden VM possède son propre ensemble de règles de manipulation de pile, vous devrez peut-être reconcevoir certains aspects du flux de contrôle ou des appels de fonctions pour les adapter à son paradigme. Cela ne sera pas anodin, mais si votre objectif est l'expérimentation et l'apprentissage, vous pouvez commencer petit, par exemple en compilant des expressions arithmétiques ou des appels de fonctions de base, et créer votre couche de traduction de manière incrémentielle.

Il n'existe pas d'exemple de bloc de transaction prédéfini pour cela puisqu'il s'agit d'un projet au niveau du compilateur, mais pour obtenir des conseils sur la compilation de Move to bytecode, utilisez :

move build

Puis inspectez le bytecode généré avec :

move bytecode-viewer build/bytecode_modules

À partir de là, vous pouvez concevoir un pass qui émet Miden Assembly.

Vous pouvez en savoir plus et participer aux discussions sur l'intégration de Miden et Move à l'adresse suivante : https://github.com/move-language/move https://github.com/0xPolygonMiden/miden

Cette approche nécessite une compréhension approfondie de la machine virtuelle Move et de l'architecture de Miden, mais il s'agit d'un moyen intéressant de relier une logique de contrat intelligent de haut niveau à une infrastructure à connaissance nulle de bas niveau.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

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

148Publications240Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesJuillet