智慧合約代幣流動性挖礦系統開發功能分析

caiayu1234發表於2023-04-07

智慧合約系統根據事件描述資訊中包含的觸發條件,當觸發條件滿足時,從智慧合約自動發出預設的資料資源,以及包括觸發條件的事件;整個智慧合約系統的核心就在於智慧合約以事務和事件的方式經過智慧合約模組的處理,出去還是一組事務和事件;智慧合約只是一個事務處理模組和狀態機構成的系統,它不產生智慧合約,也不會修改智慧合約;它的存在只是為了讓一組複雜的、帶有觸發條件的數字化承諾能夠按照參與者的意志,正確執行。I88智慧合約I928系統開發8024

  

  import" openzeppelin/contracts 4.4.0/access/Ownable.sol";

  

  interface IWallet{

  

  function tokenTransfer(address token,address reciever,uint256 amount)external;

  

  }

  

  contract Wallet is Ownable{

  

  constructor(address _owner){

  

  }

  

  function tokenTransfer(address token,address reciever,uint256 amount)external onlyOwner{

  

  SafeERC20.safeTransfer(IERC20(token),reciever,amount);

  

  }

  

  }

  

  contract WalletFactory is Ownable{

  

  mapping(uint256=>address)public wallets;

  

  function deploy(

  

  uint256 _salt

  

  )external onlyOwner returns(address){

  

  wallets[_salt]=address(new Wallet{salt:bytes32(_salt)}(address(this)));

  

  return wallets[_salt];

  

  }

  

  function getBytecode()

  

  internal

  

  view

  

  returns(bytes memory)

  

  {

  

  bytes memory bytecode=type(Wallet).creationCode;

  

  return abi.encodePacked(bytecode,abi.encode(address(this)));

  

  }

  

  contract TestToken is ERC20{

  

  string public name="KirinToken";

  

  string public symbol="KIT";

  

  constructor()public{

  

  _totalSupply=100000000;

  

  //這裡的msg.sender是合約部署者(初始化建構函式)

  

  _balances[msg.sender]=_totalSupply;

  

  }

  

  function transfer(address to,uint256 value)public returns(bool){

  

  //這裡的msg.sender是呼叫transfer方法的人

  

  _transfer(msg.sender,to,value);

  

  return true;

  

  }


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

相關文章