智慧合約NFT鏈上質押模式系統開發案例

lxqy1668發表於2023-04-07

 智慧合約系統根據事件描述資訊中包含的觸發條件,當觸發條件滿足時,從智慧合約自動發出預設的資料資源,以及包括觸發條件的事件;整個智慧合約系統的核心就在於智慧合約以事務和事件的方式經過智慧合約模組的處理,出去還是一組事務和事件;I88智慧合約I928系統開發8024

  

  智慧合約只是一個事務處理模組和狀態機構成的系統,它不產生智慧合約,也不會修改智慧合約;它的存在只是為了讓一組複雜的、帶有觸發條件的數字化承諾能夠按照參與者的意志正確執行。

  

  pragma solidity^0.8.6;

  

  //SPDX-License-Identifier:Unlicensed

  

  interface IERC20{

  

  function totalSupply()external view returns(uint256);

  

  /**

  

  *dev Returns the amount of tokens owned by`account`.

  

  */

  

  function balanceOf(address account)external view returns(uint256);

  

  /**

  

  *dev Moves`amount`tokens from the caller's account to`recipient`.

  

  *

  

  *Returns a boolean value indicating whether the operation succeeded.

  

  *

  

  *Emits a{Transfer}event.

  

  */

  

  function transfer(address recipient,uint256 amount)

  

  external

  

  returns(bool);

  

  function transferFrom(TokenStorage storage self,address _from,address _to,uint _value)returns(bool success){

  

  var _allowance=self.allowed[_from][msg.sender];

  

  self.balances[_to]=self.balances[_to].plus(_value);

  

  self.balances[_from]=self.balances[_from].minus(_value);

  

  self.allowed[_from][msg.sender]=_allowance.minus(_value);

  

  Transfer(_from,_to,_value);

  

  return true;

  

  }

  

  ...

  

  function approve(TokenStorage storage self,address _spender,uint _value)returns(bool success){

  

  self.allowed[msg.sender][_spender]=_value;

  

  Approval(msg.sender,_spender,_value);

  

  return true;

  

  }

  

  ...


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020038/viewspace-2944348/,如需轉載,請註明出處,否則將追究法律責任。

相關文章