DeFi+NFT铸造质押借贷理财dapp系统规则详情|合约功能开发介绍

简介: DeFi+NFT铸造质押借贷理财dapp系统规则详情|合约功能开发介绍

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;

// 第一个合约

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;

}

}

合约类(对象)

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++的注释类似。

// 这是一个单行注释

/* 这是一个多行注释

*/

相关文章
|
6月前
|
存储 区块链 数据库
NFT合约算力质押项目系统开发|指南详情
区块链的最重要特性是去中心化,它不依赖于任何中心机构或第三方信任
|
6月前
|
人工智能 安全 区块链
NFT元宇宙盲盒质押代币系统开发|方案设计|指南详情
Web3.0和元宇宙都强调了互操作性的重要性,允许用户在不同的平台、应用程序和体验之间无缝移动
|
区块链
DEFi借贷理财挖矿系统DAPP开发合约代码详情
constructor(uint256 initialBorrows, uint256 initialLends, uint256 minAPR) { _tokenIds = Counters.newCounter(initialBorrows + initialLends);
|
6月前
|
人工智能 算法 安全
dapp质押合约代币分红模式系统开发|细节详情|方案设计
Web 3.0的发展仍面临一些挑战,例如,当前DApps的使用率仍然相对较低
|
6月前
|
存储 区块链
NFT卡牌代币质押DAPP系统开发|详情原理
去中心化应用是指基于区块链技术的应用,可以实现去中心化的数据存储和验证
|
存储 分布式计算 大数据
DAPP质押合约代币公排互助系统开发详情讲解
区块链和大数据都是新一代信息技术,它们的概念不同,应用领域也有着一定的区别
|
供应链 安全 区块链
区块链钱包合约代币质押系统开发(模式详情)
一组条件在时间的推移中不可能一直正确的,而智能合约是不可变的,更新当前的预编程条件几乎是不可能的
|
存储 安全 大数据
合约现货跟单交易所系统开发|量化交易|秒合约系统案例
区块链,是比特币的底层技术架构,它在本质上是一种去中心化的分布式账本
关于代币质押合约系统技术开发功能详情讲解
map自带的.clear()函数会清空map里存储的所有内容,但如果map值存储的是指针,则里面的值不会被清空,会造成内存泄漏,所以值为指针的map必须用迭代器清空。
|
存储 区块链 数据安全/隐私保护
BSC币安链流动性质押分红dapp系统开发智能合约定制案例详情
BSC币安链流动性质押分红dapp系统开发智能合约定制案例详情