大小公排双轨互助模式dapp系统开发智能合约代码分析

简介: 大小公排双轨互助模式dapp系统开发智能合约代码分析

transfer转帐函数,一个比较重要的功能,调用者可以将自己的余额转给其它帐户。

_transfer为private的具体实现函数。主要是作了一些必要的检查,然后从发起帐户扣减余额,再将余额加到接收帐户。最后发送了一个转帐事件,方便开发者监听转帐功能。这里的_beforeTokenTransfer和_afterTokenTransfer并没有实现具体功能,开发中可根据实现需要做一些功能实现。
allowance、approve主要是实现授权其它帐户可以使用自己的余额,并设定使用上限。相关的授权者存储在_allowances变量中。

function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
    address owner = msg.sender;
    _approve(owner, spender, _allowances[owner][spender] + addedValue);
    return true;
}

function decreaseAllowance(address spender, uint256 substractedValue) public virtual returns (bool) {
    address owner = msg.sender;
    uint256 currentAllowance = _allowances[owner][spender];
    require(currentAllowance >= substractedValue, "ERC20: decreased allowance below zero");
    unchecked {
        _approve(owner, spender, currentAllowance - substractedValue);
    }
    return true;
}

increaseAllowance、decreaseAllowance两个函数是对approve函数功能的加强,对授权额度进行增减,这两个函数关不是ERC20协议中的内容。只是作者在参考源码时觉得有用,就加入了这两个函数。
ransferFrom,_spendAllowance是在授权额度下,进行转帐的功能实现。

transferFrom函数的from参数是授权帐户,to是余额接受帐户,amount是转帐余额,该函数的功能是将from帐户的余额转移amount个数据至to用户帐户中,调用者必须是from帐户通过_approve对其进行过授权,并且还有剩余的授权额度。该函数与transfer的区别是,transfer只能转移出调用者自己的帐户余额。

_spendAllowance是在进行授权转帐时首先扣减授权额度,保证被授权都在授权额度范围内使用转帐功能。

相关文章
|
存储 安全 区块链
DAPP互助公排智能合约系统开发方案与需求
智能合约是需要区块链开发者用区块链编程语言写出来的一串代码,根据不同场景构思逻辑后开发出来的信任机制
|
存储 算法 区块链
DAPP合约公排系统开发案例|DAPP互助系统开发
去中心化就是指网络中各个节点的地位相等,传输内容和交易数据不再需要通过某个中心节点进行
|
存储 算法 区块链
DAPP公排互助质押项目系统开发指南与方案
去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中央控制。除了自成一体的区块链本身,各个节点通过分布式的计费和存储实现信息的自校验、传输和管理
|
供应链 算法 区块链
智能合约互助公排系统开发指南与方案
作为一种自动执行的协议,智能合约被嵌入在区块链计算机代码中
|
区块链 数据安全/隐私保护 算法
DAPP互助公排系统开发|DAPP三三复制系统开发(模式)
Web3.0的主要特点是开放、隐私和去中心化。
|
安全 区块链
DAPP互助拆分公排系统开发(智能合约)
去中心化,不是不要中心,而是由节点来自由选择中心、自由决定中心。简单地说,中心化的意思,是中心决定节点。
|
存储 设计模式 开发框架
DAPP排单互助公排系统开发智能合约模式
智能合约开发:学习使用智能合约开发语言(如Solidity),熟悉智能合约的编写
|
供应链 安全 区块链
DAPP矩阵公排合约互助系统开发模式|DAPP互助系统开发指南
智能合约的工作原理基于区块链的去中心化特性
|
区块链
dapp互助公排智能合约系统开发指南与规则
智能合约作为区块链技术应用最广泛的场景之一

热门文章

最新文章

下一篇
开通oss服务