Aptos 字节码/ABI 移动文件?

问题描述 投票:0回答:2

我有一个包含一些已部署模块的地址,有没有办法将字节码/ABI 信息转换为文件。移动以便人类可读?

blockchain bytecode move-lang aptos
2个回答
2
投票

默认情况下,Move 模块在链上发布时会包含其源代码。如果是这种情况,您可以像这样下载:

aptos move download --account 6286dfd5e2778ec069d5906cd774efdba93ab2bec71550fa69363482fbd814e7 --package other

有关该主题的更多信息,请参阅此答案:如何在不同的 Move 模块/智能合约中调用函数?

至于从字节码转换为源代码,这在技术上是可行的,但我们目前没有工具支持它。保持发布!


0
投票

前面的答案指出反编译是不可能的。现在它是! Aptos Labs + Verichains 最近为此发布了一个反编译器。源代码在语法上不会与原始代码完全匹配,但在语义上应该是相同的。

# Install Revela. The CLI needs this separate tool to decompile the bytecode.
aptos update revela

# Download the package from on chain, in this case MoveStdlib.
aptos move download --account 0x1 --bytecode --package MoveStdlib

# Decompile!
aptos move decompile --package-path MoveStdlib/bytecode_modules

输出应为

MoveStdlib/bytecode_modules
。查找扩展名为
.mv.move
的文件。

在此处了解更多信息:https://aptoslabs.medium.com/move-revealed-the-revela-decompiler-b206eaf48b45

© www.soinside.com 2019 - 2024. All rights reserved.