盲盒区块链游戏开发原理丨盲盒区块链游戏系统开发技术详细及案例源码

简介:  The"new retail"model has broken the respective closed state of online and offline.Online and offline can be integrated,complement each other and rely on each other.Online and offline more perform the functions of transaction and payment.Offline is usually used as a platform for screening and experi

  The"new retail"model has broken the respective closed state of online and offline.Online and offline can be integrated,complement each other and rely on each other.Online and offline more perform the functions of transaction and payment.Offline is usually used as a platform for screening and experience,while efficient logistics connects online and offline and forms a commercial closed loop with its interaction.

  interface IERC20{

  event Approval(address indexed owner,address indexed spender,uint value);

  event Transfer(address indexed from,address indexed to,uint value);

  function name()external view returns(string memory);

  function symbol()external view returns(string memory);

  function decimals()external view returns(uint8);

  function totalSupply()external view returns(uint);

  function balanceOf(address owner)external view returns(uint);

  function allowance(address owner,address spender)external view returns(uint);

  function approve(address spender,uint value)external returns(bool);

  function transfer(address to,uint value)external returns(bool);

  function transferFrom(address from,address to,uint value)external returns(bool);

  }

  function addLiquidity(//添加流动性,两个代币

  address tokenA,

  address tokenB,

  uint amountADesired,

  uint amountBDesired,

  uint amountAMin,

  uint amountBMin,

  address to,//lp接收人,新版的uniswap前端好像不支持设置这个了

  uint deadline//交易的成交时间,默认是当前时间+20分钟后的时间的秒值

  )external virtual override ensure(deadline)returns(uint amountA,uint amountB,uint liquidity){

  //调用内部方法_addLiquidity获取到两个币实际所需要的数量

  (amountA,amountB)=_addLiquidity(tokenA,tokenB,amountADesired,amountBDesired,amountAMin,amountBMin);

  address pair=UniswapV2Library.pairFor(factory,tokenA,tokenB);//查找到pair地址

  TransferHelper.safeTransferFrom(tokenA,msg.sender,pair,amountA);//给pair转A数量

  TransferHelper.safeTransferFrom(tokenB,msg.sender,pair,amountB);//给pair转B数量

  liquidity=IUniswapV2Pair(pair).mint(to);//调用pair的mint方法,会有添加的lp数量返回

  }

  function addLiquidityETH(//添加流动性,其中一个币种是eth

  address token,

  uint amountTokenDesired,

  uint amountTokenMin,

  uint amountETHMin,//eth最小输入量;对应的Desired在msg.value

  address to,

  uint deadline

  )external virtual override payable ensure(deadline)returns(uint amountToken,uint amountETH,uint liquidity){

  //调用内部方法_addLiquidity获取到两个币实际所需要的数量

  //eth使用weth代币替代

  (amountToken,amountETH)=_addLiquidity(

  token,

  WETH,

  amountTokenDesired,

  msg.value,//ethDesired

  amountTokenMin,

  amountETHMin

  );

  address pair=UniswapV2Library.pairFor(factory,token,WETH);//获取到pair地址

  TransferHelper.safeTransferFrom(token,msg.sender,pair,amountToken);//给pair转代币数量

  IWETH(WETH).deposit{value:amountETH}();//调用weth的兑换方法,通过eth换weth

  assert(IWETH(WETH).transfer(pair,amountETH));//给pair转weth数量

  liquidity=IUniswapV2Pair(pair).mint(to);//调用pair的mint方法,会有添加的lp数量返回

  //refund dust eth,if any

  //如果传入的eth数量,大于实际所需的eth数量,将剩余的eth返还给用户

  if(msg.value>amountETH)TransferHelper.safeTransferETH(msg.sender,msg.value-amountETH);

  }

相关文章
|
2月前
|
安全 区块链
区块链积分商城系统开发详细指南//需求功能/指南教程/源码流程
Developing a blockchain points mall system involves multiple aspects such as blockchain technology, smart contracts, front-end development, and business logic design. The following is the general process for developing a blockchain points mall system
|
1天前
|
安全 算法 区块链
区块链系统开发|(成熟技术)/区块链系统开发介绍方案
区块链架构自下而上包括数据层、网络层、共识层、激励层、契约层和应用层。数据层涉及底层区块和基础数据;网络层实现节点间的分布式通信;共识层确保去中心化网络中节点对区块有效性的共识;激励层提供参与区块链安全验证的节点奖励;契约层支持智能合约,实现交易模式的编程;应用层则将区块链技术应用于现实生活场景。激励层、契约层和应用层并非所有区块链应用的必要组成部分。
|
1天前
|
测试技术 区块链
swap开发/区块链跨链技术系统开发规则
跨链技术通过验证源链状态和中继交易至目标链实现交互,关键组件是跨链桥,用于通证在不同链间的转移。桥通过智能合约锁定/销毁源链通证并在目标链解锁/铸造。简单的跨链桥仅适用于通证传输,而可编程通证桥支持更复杂交互,如交易中的交换、借贷等。任意数据消息传递协议则提供更通用功能,能构建跨链DApp,如跨链DEX、NFT和游戏。
|
2月前
|
监控 前端开发 安全
区块链积分商城系统开发详细步骤及源码
区块链积分商城系统涉及到多个方面的技术和流程。以下是一般开发流程的简要概述
|
9月前
|
存储 安全 区块链
区块链游戏系统开发(开发详细)/案例开发/设计功能/逻辑方案/源码平台
  区块链游戏系统开发是一个复杂而精密的过程。首先,需要进行需求分析和规划,确定游戏系统的功能和特性。然后,进行技术选型和架构设计,选择适合的区块链平台和开发工具。接下来,进行系统的搭建和编码,实现游戏逻辑和用户交互功能。最后,进行测试和优化,确保系统的稳定性和性能。
|
9月前
|
安全 Go 区块链
区块链游戏链游系统开发功能详情丨方案逻辑丨开发项目丨案例分析丨源码规则
 In recent years, with the continuous development of blockchain technology, NFTs (non homogeneous tokens) and DAPPs (decentralized applications) have emerged in the gaming industry.
|
9月前
|
存储 JavaScript 前端开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
区块链代币支付钱包(trx/trc20代币/usdt)对接开发
|
10月前
|
存储 机器人 大数据
量化交易机器人系统开发(开发策略)及案例丨数字货币区块链交易所系统开发详细项目/方案设计/开发逻辑/源码版
  区块链的核心技术之一就是公开且透明的交易信息。一般情况下,在区块链内产生、流转和存储的信息是对所有节点用户开放的,其高度的透明化也使得区块内的所有人都能够查看数据的所有相关信息同时使用其应用。因此,区块链技术在信息共享与数据交换领域具有一定的优势。
|
10月前
|
存储 安全 区块链
区块链智能合约DAPP开发|DAPP合约代币项目开发(案例说明)
区块链技术使用了分布式网络来实现去中心化
|
10月前
|
存储 开发框架 IDE
区块链dapp开发搭建
区块链DApp开发(去中心化应用开发)是构建基于区块链技术的应用程序的过程。DApp是Decentralized Application的缩写,即去中心化应用。DApp与传统的应用程序类似,但它们是完全去中心化的,不依赖于任何中心化的服务器,而是由区块链网络的节点来运作。

热门文章

最新文章