BSC鏈質押代幣流動性挖礦系統開發|DAPP技術框架

lxqy16688發表於2023-05-18

  區塊鏈技術的最初迭代在某種程度上可與網站第一次進化相媲美。透過這項技術,你可以做一些新穎的、令人印象深刻的產品,但其基本功能嚴重受限。然而,當區塊鏈技術得到改進時,新的可能性出現了,區塊鏈技術的第二次迭代可以與在網頁中引入Javascript相媲美。現在,開發人員可以構建更豐富、更動態的應用程式,從而給使用者帶來更好體驗。


  區塊鏈1.0和區塊鏈2.0之間的主要區別是,如今區塊鏈是可程式設計的。這意味著它們可以做的遠不止簡單地記錄交易。實際上,現在開發人員可以在區塊鏈上構建動態的應用程式,並且可以與資料互動,以呈現不同的結果。這意味著智慧合約的概念最終會成為現實,這為web3技術進入主流提供了大好機會。


  function stake(uint256[]calldata tokenIds)external{


  IERC721N nft=IERC721N(NftAddress);


  uint256 tokenId;


  totalStaked+=tokenIds.length;


  for(uint256 i=0;i<tokenIds.length;i++){


  tokenId=tokenIds<i>;


  require(nft.ownerOf(tokenId)==msg.sender,"not your token");


  require(vault[tokenId].tokenId==0,"already staked");


  nft.transferFrom(msg.sender,address(this),tokenId);


  emit BlockStaked(msg.sender,tokenId,block.timestamp);


  vault[tokenId]=Stake({


  owner:msg.sender,


  tokenId:uint24(tokenId),


  timestamp:uint48(block.timestamp)


  });


  }


  }uint256 data;


  address owner;


  //定義事件


  event logData(uint256 dataToLog);


  //函式修改器


  modifier onlyOwner(){


  if(msg.sender!=owner)throw;


  }


  //構造器,名字與合約名一致


  function Sample(uint256 initData,address initOwner){


  data=initData;


  owner=initOwner;


  }


  //函式


  function getData()returns(uint256 returnedData){


  return data;


  }技術搭建:lxqy1668


  function setData()returns(uint256 newData)onlyOwner{


  logData(newData);


  data=newData;


  }


  }


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

相關文章