Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
{
   "code": 0,
   "message": "success",
   "data": [
       "compile",
       "test",
       "package",
       "disassemble"
   ]
}

错误输出:

Code Block

1.2 编译命令

...

Code Block
{
   "code": 1,
   "message": "compile fail",
   "data": {
       "diagnostics": []
   }
}

1.4

...

打包命令

Code Block
$mc package [OPTIONS] 

...

Code Block
{
   "code": 1,
   "message": "compile fail",
   "data": {
       "diagnostics": []
   }
}

1.5 反编译命令

Code Block
$mc disassemble [OPTIONS] 

命令选项:

选项

描述

--json

输出JSON格式

--move-bytecode-path

Move字节码文件路径

标准输出:

Code Block
{
   "code": 0,
   "message": "success",
   "data": {
       "code": "反编译后的代码",
   }
}

错误输出:

Code Block
{
   "code": 1,
   "message": "disassemble fail",
   "data": {
       "diagnostics": []
   }
}

2、move-api

2.1 package.d.ts

Code Block
import { WasmFs } from '@wasmer/wasmfs';

export interface IDependency {
    git?: string;
    rev?: string;
    local?: string;
}

export interface ITarget {
    path?: string;
    hash?: string; // 目标文件Hash
}

export interface IMovePackage {
    name?: string;
    version?: string;
    addresses?: Map<string, string>;
    dependencies?: Map<string, IDependency>;
    devDependencies?: Map<string, IDependency>;
    build(): voidPromise<void>;
    test(): voidPromise<void>;
    package(): voidPromise<ITarget>;
}

export declare type MoveOptions = {
    packagePath: string;
    test: boolean;
    alias?: Map<string, string>;
    initFunction?: string;
};

export declare function createMovePackage(wasmfs: WasmFs, opts: MoveOptions): IMovePackage;

2.2 disassemble.d.ts

Code Block
import { WasmFs } from '@wasmer/wasmfs';

export declare function disassemble(wasmfs: WasmFs, mvPath: string): Promise<string>;