ERC-721合约编写,进入Web IDE:在nf-token-mock合约中定义了mint NFT的方法,我们进入该合约并执行编译操作。
Web IDE模拟部署与执行:不同于以太坊在线IDE编辑器如Remix,趣链BaaS的Web IDE直接提供模拟部署和执行环境,无需用户使用Metamask的测试网账户,相当于省去了用户在Metamask导入一个测试网账户并拥有测试通证的步骤,也无需在每次调用中进行签名授权,可提升调试效率。
个性化完善合约功能:本例的合约已经封装了很多函数方法,但开发者还可以根据需求编写更多功能,在模拟执行时还可以使用Debug操作帮助调试。
合约编译文件集成至SDK: 做完以上所有调试并编译完成后,可将最终的合约编译文件集成至趣链BaaS提供的SDK中,由此可通过SDK进行NFT合约的部署、调用等管理操作。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;【更全面的开发源码搭建可V or TG我昵称】
// 第一个合约
contract HelloWorld {
// 状态变量
string public str = "Hello World!";
// set 函数
function set(string memory s) public {
str = s;
}
// get 函数
function get() public view returns(string memory) {
return str;
}
}
合约类(对象【更全面的开发源码搭建可V or TG我昵称】)
contract HelloWorld {
// 函数和数据
}
在Solidity语言中,合约类似于其他面向对象编程语言中的类。contract 是定义合约类的关键字,HelloWorld 是合约名称。我们建议合约名称和本地文件名用同一个名称,且第一个字母大写。
合约还可以从其他合约继承,可以是一些特殊的合约,比如库(library)和接口(interface)。这些知识点我们会在后续的课程中讲解。
状态变量
string public str = "Hello World!";
这段代码中的 str 就是一个状态变量,它是一个存储在合约存储中的值。
函数
function set(string memory s) public
function get() public view returns(string memory)
函数是合约代码的可执行单元,函数通常在合约内部定义。函数一般有以下几部分组成:
函数名
参数
返回值
在样例代码中,我们定义了2个函数:
set():用于设置状态变量的值;
get():用于返回状态变量的值。
注释
合约中的注释有单行注释(//)和多行注释(/.../)两种,和C++的注释类似。
// 这是一个单行注释
/* 这是一个多行注释
*/