數字貨幣交易所/合約跟單/秒合約/永續合約/合約量化系統開發說明/原始碼案例/運營版

開發MrsFu123發表於2023-04-23

  智慧合約:它們是儲存在區塊鏈上的計算機程式,在滿足預定條件時執行,智慧合約是用Solidity語言編寫的。


  Solidity:一種用於編寫智慧合約的物件導向的程式語言。它用於在各種區塊鏈平臺上實施智慧合約,Solidity的語法類似於JavaScript。


  智慧合約dapp開發技術主要由以太坊區塊鏈網路提供支援,該網路提供了一系列的智慧合約技術,這些智慧合約可以讓開發者快速、安全地構建出功能強大的dapp。智慧合約dapp開發技術主要包括以太坊智慧合約語言Solidity,以太坊智慧合約框架Truffle,Web3.js,以太坊區塊鏈瀏覽器Mist等


  pragma solidity^0.8.0;


  import"./utils/introspection/IERC165.sol";


  /**


  *dev Required interface of an ERC721 compliant contract.


  */


  interface IERC721 is IERC165{


  //代幣轉移事件,當發生代幣轉移時觸發


  event Transfer(address indexed from,address indexed to,uint256 indexed tokenId);


  //代幣授權事件,當owner對代幣授權於approved時觸發


  event Approval(address indexed owner,address indexed approved,uint256 indexed tokenId);


  //代幣全量授權事件


  event ApprovalForAll(address indexed owner,address indexed operator,bool approved);


  //============================函式==========================================


  //檢視owner賬號餘額(擁有的代幣數)


  function balanceOf(address owner)external view returns(uint256 balance);


  //獲取tokenID對應的代幣的owner地址


  function ownerOf(uint256 tokenId)external view returns(address owner);


  //安全轉換方法


  function safeTransferFrom(address from,address to,uint256 tokenId)external;


  //轉移方法(開發中使用上者更多,more safe..)


  function transferFrom(address from,address to,uint256 tokenId)external;


  //授權,owner呼叫該函式,將tokenID對應的代幣授予to賬號行使權


  function approve(address to,uint256 tokenId)external;


  //獲取tokenID代幣對應的被授權賬號地址


  function getApproved(uint256 tokenId)external view returns(address operator);


  //全量授權,owner呼叫即將自己所有的代幣行使權授予operator賬號


  function setApprovalForAll(address operator,bool _approved)external;


  //判斷owner是否對賬號operator進行全量授權


  function isApprovedForAll(address owner,address operator)external view returns(bool);


  //安全轉移,攜帶回撥的資料


  function safeTransferFrom(address from,address to,uint256 tokenId,bytes calldata data)external;


  }


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

相關文章