An open API service indexing awesome lists of open source software.

https://github.com/caoyang2002/move-examples-zh

MoveonAptos 的中文说明
https://github.com/caoyang2002/move-examples-zh

Last synced: 3 months ago
JSON representation

MoveonAptos 的中文说明

Awesome Lists containing this project

README

        

# Aptos-Move 代码 / 项目示例

> 项目名沿用的原项目名称

1. [初始化 aptos 项目](./0-init-aptos-project/)

初始化项目概述


  • 创建一个基础的 aptos 项目,并输出 hello_blockchain

  • 2. [原始类型](./1-basic/)

    测试项目概述


  • 赋值:string::utf8 int number bool

  • 比较:> < == >= <=

  • 算数:+ - * / %

  • 逻辑:| & ^ ! && ||

  • 位运算:`<<` / `>>`

  • 3. [计数器](./3-aggregator_examples/)

    计数概述


  • 实现了一个全局计数器

  • 4. [创建一个资源](./4-argument_example/)

    资源概述


  • 通过调用合约设置链上数据获取链上数据

  • 5. [BCS 反序列化](./5-bcs-stream/)

    反序列化概述


  • 从 BCS 格式的字节数组中反序列化 Move 原始类型

  • 6. [DEX](./6-bonding_curve_launchpad/)

    去中心化交易所概述


  • 为 FA 发行活动创造一个更直接和开放的环境

  • 7. [没看明白](./7-cli-e2e-tests/)

    ...


  • ...

  • 8. [没看明白](./8-cli_args/)

    ...


  • ...

  • 9. [共享资源账户](./9-common_account/)

    共享资源账户概述


  • 创建和管理共享资源账户,并允许其他账户使用这些资源的签名能力。

  • 10. [DAO](./10-dao/)

    去中心化自治组织


  • 创建一个与其现有 NFT 项目连接的 DAO

  • 创建可以在链上投票的提案

  • 完成并执行链上提案结果

  • 11. [双向链表](./11-data_structures/)

    基于双向链表实现的可迭代表


  • 用于管理键值对数据结构的操作
  • ---

    # README

    [在 GitHub 中查看](https://github.com/aptos-labs/aptos-core/tree/main/aptos-move/move-examples/move-tutorial)

    要尝试这些示例,请按照以下步骤操作:

    1. 克隆此仓库

    ```
    git clone https://github.com/aptos-labs/aptos-core.git
    ```

    2. 打开一个新的终端,并通过运行 `cd aptos-move/move-examples` 导航到这个文件夹。

    3. 进入你感兴趣的特定教程目录(例如 `cd hello_blockchain`)。

    4. 你可以使用 Aptos CLI 来编译、测试、发布和运行这些合约,使用这里概述的命令:https://aptos.dev/move/move-on-aptos/cli/
    - 如果你需要安装 Aptos CLI,你可以按照这些说明进行:https://aptos.dev/tools/aptos-cli/install-cli/

    **警告:** 这些 Move 示例尚未经过审计。如果你在生产系统中使用它们,请自行承担风险。
    特别要注意那些包含复杂加密代码的 Move 示例(例如 `drand`, `veiled_coin`)。

    # 贡献

    ## 编写 Move 示例

    创建 Move 示例时,请使目录名称与源文件名称和包名称相同。

    例如,对于 `drand` 随机信标示例,创建一个 `drand` 目录,并在其中创建一个 `sources/drand.move` 文件,文件中包含 `module drand::some_module_name { /* ... */ }`。
    这是因为测试框架将仅根据目录名称分配地址给 `drand`,而不是基于 `drand.move` 中的命名地址。

    ## 运行测试

    要为 **所有** 示例运行测试:

    ```
    cargo test -- --nocapture
    ```

    要为特定示例(例如 `hello_blockchain`)运行测试:

    ```
    cargo test -- hello_blockchain --nocapture
    ```