去中心化大小公排雙軌互助dapp系統開發智慧合約定製詳情
transfer轉帳函式,系統開發I34-案例I633-演示53I9,一個比較重要的功能,呼叫者可以將自己的餘額轉給其它帳戶。
_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是在進行授權轉帳時首先扣減授權額度,保證被授權都在授權額度範圍內使用轉帳功能。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2938942/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DAPP合約公排互助系統開發(詳情功能)APP
- DAPP公排互助雙軌模式系統開發詳情丨Dapp技術框架APP模式框架
- 去中心化鏈上矩陣公排互助dapp系統開發智慧合約部署方案中心化矩陣APP
- 去中心化交易所swap系統開發智慧合約定製部署詳情中心化
- DAPP互助合約公排系統開發詳情案例丨DAPP公排合約互助系統開發(邏輯專案)及原始碼APP原始碼
- 去中心化Defi智慧合約雙幣dapp質押流動性挖礦系統開發詳情中心化APP
- DAPP智慧合約互助公排開發說明丨DAPP智慧合約互助公排系統開發(方案及原始碼)APP原始碼
- MMM互助矩陣公排智慧合約系統開發詳情矩陣
- 3M互助公排Dapp系統開發智慧合約編寫詳情(原始碼)APP原始碼
- 去中心化互助公排迴圈遊戲dapp系統開發合約部署(案例原始碼)中心化遊戲APP原始碼
- 去中心化交易所swap系統開發dapp智慧合約定製功能介紹中心化APP
- DAO公排互助開發/佛薩奇智慧合約系統開發/公排互助模式詳情模式
- DAPP智慧合約互助遊戲開發詳情丨DAPP智慧合約互助遊戲系統開發技術分析及規則APP遊戲開發
- 分投趣fintoch去中心化交易平臺dapp系統開發智慧合約部署詳情中心化APP
- DAPP互助公排智慧合約矩陣模式系統開發詳情分析APP矩陣模式
- DAPP智慧合約公排互助系統開發詳細方案及原始碼APP原始碼
- 矩陣公排互助盤迴圈遊戲dapp系統開發智慧合約部署詳情矩陣遊戲APP
- DAPP智慧合約互助公排系統開發邏輯demoAPP
- 智慧合約互助公排DAPP系統開發技術案例APP
- DeFi拆分理財雙幣質押dapp系統開發|智慧合約定製方案詳情APP
- 大小雙軌公排互助開發詳細丨大小雙軌公排互助系統開發(規則及方案)
- DAPP鏈上合約互助模式系統開發詳情介紹APP模式
- Polygon馬蹄鏈智慧合約公排互助系統開發技術詳情Go
- BSC智慧鏈DAPP公排矩陣互助系統開發詳情案例APP矩陣
- 普及一下:DAPP鏈上合約互助模式系統開發丨DAPP雙幣質押開發詳情APP模式
- 雲算力質押挖礦dapp系統開發模式詳情(智慧合約定製)APP模式
- BSC鏈公排矩陣互助合約系統開發詳情原理矩陣
- 互助公排滑落機制dapp系統開發|智慧合約編寫流程APP
- DAPP互助公排模式系統開發詳情丨DAPP技術框架APP模式框架
- DAPP公排矩陣互助合約系統開發分析方案APP矩陣
- CYBERDAO公排互助系統開發智慧合約搭建
- MMM互助智慧合約(3M)公排互助迴圈智慧合約系統開發
- 去中心化矩陣公排互助系統開發方案中心化矩陣
- 鏈上拆分理財dapp系統開發底層邏輯詳情(智慧合約定製)APP
- 馬蹄鏈智慧合約DAPP系統開發搭建詳情APP
- DAPP智慧合約迴圈互助遊戲開發原理丨DAPP智慧合約迴圈互助遊戲系統開發(開發案例)APP遊戲開發
- DAPP公排互助智慧合約模式軟體開發案例APP模式
- DAPP互助拆分公排模式系統開發詳情丨DAPP技術框架APP模式框架