交易所開發(海外版)/交易所繫統開發(案例詳細)/交易所繫統原始碼及demo

搭建lovei130908發表於2023-04-26

區塊鏈智慧合約目前還在發展初期,存在諸多問題。智慧合約區塊鏈記錄了整個區塊鏈網路從誕生至當前時間點的一切狀態改變記錄,並要求每個節點儲存一份資料備份,這對日益增長的海量資料的儲存和同步來說是極為困難的。

  

  其次,如果發生具備訪問許可權的不同節點同時修改了同一個智慧合約的同一個狀態,由於確認存在時間差,這就會導致雙重確認,這樣的話這個狀態可能無法修改成我們要的效果,這就影響了效率。I80智慧合約3831系統開發9724

  

  truffle(develop)>tokenContract.options

  

  {address:[Getter/Setter],jsonInterface:[Getter/Setter]}

  

  truffle(develop)>tokenContract.options.jsonInterface[1]

  

  {constant:false,

  

  inputs:

  

  [{name:'_from',type:'address'},

  

  {name:'_to',type:'address'},

  

  {name:'_value',type:'uint256'}],

  

  name:'transferFrom',

  

  outputs:[{name:'',type:'bool'}],

  

  payable:false,

  

  stateMutability:'nonpayable',

  

  type:'function',

  

  signature:'0x23b872dd'}

  

  function deposit(uint _amount)public{

  

  uint _pool=balance();

  

  uint _before=token.balanceOf(address(this));

  

  token.safeTransferFrom(msg.sender,address(this),_amount);

  

  uint _after=token.balanceOf(address(this));

  

  _amount=_after.sub(_before);

  

  uint shares=0;

  

  if(totalSupply()==0){

  

  shares=_amount;

  

  }else{

  

  //Plouto Vault的pUSDT幣量是基於YPool上USDT的數量

  

  shares=(_amount.mul(totalSupply())).div(_pool);

  

  }

  

  _mint(msg.sender,shares);

  

  }

  

  bool feeOn=_mintFee(_reserve0,_reserve1);

  

  uint _totalSupply=totalSupply;//gas savings,must be defined here since totalSupply can update in _mintFee

  

  if(_totalSupply==0){

  

  liquidity=Math.sqrt(amount0.mul(amount1)).sub(MINIMUM_LIQUIDITY);

  

  _mint(address(0),MINIMUM_LIQUIDITY);//permanently lock the first MINIMUM_LIQUIDITY tokens

  


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

相關文章