Aptos DAPP之智能合约编写

本文详细介绍了在Aptos上构建DAPP的步骤,从创建Move模块到编写智能合约,包括创建列表、任务以及完成任务的函数,同时提供了验证和测试的实现,最后讲解了如何发布模块。
摘要由CSDN通过智能技术生成

背景

在之前的文章中我们介绍了如何在aptos上编译和发布模块,也就是智能合约,而智能合约发布之后就可以与之交互,而对于一般用户而言,与智能合约的交互就是通过DAPP,接下来几篇文章将会介绍如何从零开始在aptos上构建一个DAPP。

准备工作

  • 首先我们需要创建一个目录my-first-dapp,然后进入该目录创建一个move目录用于存放智能合约的代码
  • 然后我们在move目录下使用aptos move init --name my_todo_list命令,该命令会创建一个sources目录和Move.tom文件。
什么是Move.toml文件

一个Move.toml文件是一个配置文件,其中包括了一些元数据如名字、版本号和包的依赖,我们使用命令创建的Move.toml内容如下:

[package]
name = 'my_to_list'
version = '1.0.0'
[dependencies.AptosFramework]
git = 'https://github.com/aptos-labs/aptos-core.git'
rev = 'main'
subdir = 'aptos-move/framework/aptos-framework'

我们可以看到包信息和一个AptosFramework的依赖,其中的name属性就是我们使用–name指定的属性,其中的AptosFrame依赖指向github仓库main分支aptos-core/aptos-move/framework/aptos-framework。

sources目录

sources目录是包含一系列.move模块文件的目录,之后我们想要使用命令行编译时编译器会寻找sources目录以及与其相关的Move.toml文件。

创建Move模块

正如上篇文章我们所提到的,当我们发布一个Move模块时我们需要一个账户,所以我们需要创建一个帐户,一旦我们拥有了一个账户的私钥,我们就可以在该账户下创建一个模块,也可以使用该账户发布模块。

在move目录下使用aptos init --network devnet命令,当有提示时直接回车确。这个命令为我们创建了.aptos目录,其中包含了config.yaml文件,这个文件包含了一些描述信息,其中的内容如下:

profiles:
  default:
    private_key: "0x664449b9aefa4694d6871b0025e84dc173a64c58c5dbf413478e79048bc5f6e9"
    public_key: "0xca1b0da9a12a3e51fdab6809e3c4bf2668379bdc62573f80b70da5b5635a0a19"
    account: 6f2dea63c25fcfa946dd54d002e11ec0de56fb37b0cb215396dd079872fc49eb
    rest_url: "https://fullnode.devnet.aptoslabs.com"
    faucet_url: "https://faucet.devnet.aptoslabs.com"

从现在开始,我们在move目录下使用命令行时会自动带上这些默认信息,需要注意的是我们使用的是devnet网络,我们最后也会将我们的包发布到测试网上去。

正如之前所提到的我们的sources目录包含.move的模块文件,所以我们来添加我们第一个Move文件,打开Move.toml文件,在其中添加一下信息,其中的default-profile-account-addres就是我嘛从config.yaml文件中获取的account信息。

[addresses]
todolist_addr='<default-profile-account-address>'

所以我的Move.toml更改后如下:

[addresses]
todolist_addr='6f2dea63c25fcfa946dd54d002e11ec0de56fb37b0cb215396dd079872fc49eb'

然后在sources目录下创建todolist.move文件,其代码内容如下:

module todolist_addr::todolist {
    
}

一个Move模块需要存储在一个地址上,所以当它发布时可以通过该地址访问该

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值