普瑞缇Protradex系统开发(案例详细)丨Protradex普瑞缇系统开发(源码方案)/玩法规则

简介:  什么是DAPP?DAPP是Decentralized Application的缩写,中文叫分布式应用/去中心化应用。通常来说,不同的DAPP会采用不同的底层技术开发平台和共识机制,或者自行发布代币

  什么是DAPP?DAPP是Decentralized Application的缩写,中文叫分布式应用/去中心化应用。通常来说,不同的DAPP会采用不同的底层技术开发平台和共识机制,或者自行发布代币。

  区块链技术一般用于构建交易系统,而且要保证交易的信息真实可信,可追踪且不可篡改。

  每一次交易的信息被确认后存储在一个区块中,区块信息通过散列技术加密,以保证信息不被篡改。这些区块按时间顺序构成链条。

  每个节点都保有完整的区块链信息,个别节点的信息损坏,不会对区块链信息产生影响。这种信息记录方式被称作分布式账本。

  区块链技术就是一种数据库技术,每个区块就像一个硬盘,把信息全部保存下来,再通过密码学技术进行加密,这些被保存起来的数据是不能被篡改的。

  而在区块链模式下,尤其是公有链体系下,任何人都可以参与对数据的读写,并且以分布式账本的方式构建了一个去信任的系统,参与读写的各个组织或个体可以互不信任,但能对系统存储数据的最终状态达成共识。

  liquidity是抽取的流动性的量。amountMin是抽取代币的最小的个数。to是抽取代币的目标地址。deadline是个有意思的设计:抽取的操作有时效性。超过了一定的deadline(区块高度),这次抽取操作看成无效。

  先收回需要抽取的Token,并且销毁:

  IUniswapV2Pair(pair).transferFrom(msg.sender,pair,liquidity);//send liquidity to pair

  (uint amount0,uint amount1)=IUniswapV2Pair(pair).burn(to);

  3.swap

  swap是普通用户进行代币交易的操作。普通用户通过swap操作实现两种token之间的交易。

  function swapExactTokensForTokens(

  uint amountIn,

  uint amountOutMin,

  address[]calldata path,

  address to,

  uint deadline

  )external virtual override ensure(deadline)returns(uint[]memory amounts){

  Uniswap支持多种代币的交换。具体的含义是,Uniswap提供了多级交易池的路由功能。举个例子,已有两个交易对TokenA-TokenB,以及TokenB-TokenC,通过swap接口,可以实现TokenA-TokenC的交换,其中经过的TokenA-TokenB,TokenB-TokenC,称为路径(path)。amountIn是路径中的第一个代币的数量,amountOutMin是期望的交换后的最少的数量。

  amounts=UniswapV2Library.getAmountsOut(factory,amountIn,path);

  require(amounts[amounts.length-1]>=amountOutMin,‘UniswapV2Router:INSUFFICIENT_OUTPUT_AMOUNT’);

  amounts是每个路径上的交换后的数量。amounts[amounts.length-1]也就是最后一条路径的输出数量。注意,UniswapV2Library.getAmountsOut的实现(在获取每个交易对的reserve信息后,调用getAmountOut函数):

  function getAmountOut(uint amountIn,uint reserveIn,uint reserveOut)internal pure returns(uint amountOut){

  require(amountIn>0,'UniswapV2Library:INSUFFICIENT_INPUT_AMOUNT');

  require(reserveIn>0&&reserveOut>0,'UniswapV2Library:INSUFFICIENT_LIQUIDITY');

  uint amountInWithFee=amountIn.mul(997);

  uint numerator=amountInWithFee.mul(reserveOut);

  uint denominator=reserveIn.mul(1000).add(amountInWithFee);

  amountOut=numerator/denominator;

  }

  注意,其中的997/1000的系数。在进入每个交易池之前,进入的金额先扣除了0.3%的本金。这个就是交易费。注意的是,路径上的交易池,每个池子都收。有点像高速收费站,一段段的收。

  TransferHelper.safeTransferFrom(

  path[0],msg.sender,UniswapV2Library.pairFor(factory,path[0],path[1]),amounts[0]

  );

相关文章
|
7月前
|
前端开发 大数据 数据库
临时抱佛脚必看|一个月速通高级系统架构设计师!(低分飘过版)
本文写给已决定报考高级软件架构设计师的同学,从软考报名到正式考试,有40天时间,本文纯应试备考经验,一个月速成,仅供参考。
|
存储 区块链
Jogger慢跑者/stepn跑鞋链游模式系统开发详细功能/案例项目/源码程序
区块链的核心技术之一就是公开且透明的交易信息。一般情况下,在区块链内产生、流转和存储的信息是对所有节点用户开放的,其高度的透明化也使得区块内的所有人都能够查看数据的所有相关信息同时使用其应用。因此,区块链技术在信息共享与数据交换领域具有一定的优势。
|
区块链
Jogger/Stepn跑鞋零撸项目系统开发实现技术案例/逻辑方案/案例介绍/源码运营版
 区块链的可追溯性来源于区块链数据结构的特殊性。在区块链系统中,它的链式结构是从创世区块开始的,其后系统产生的所有区块都通过父区块的哈希值前后相连,并最终能追溯到创世区块。
|
存储 区块链 数据安全/隐私保护
Stepn跑鞋/Jogger慢跑者NFT链游铸造合成项目系统开发(正式版)/案例说明/方案介绍/逻辑项目/源码平台
链游是指基于区块链技术的游戏,也被称为区块链游戏或加密游戏。在传统游戏中,游戏数据通常由中心化的服务器控制和存储,而在链游中,游戏数据被存储在区块链网络中,所有的玩家都可以访问和验证这些数据。
|
人工智能 数据挖掘 物联网
NFT/Stepn/Jogger跑鞋链游铸造合成项目系统开发成熟稳定版/开发案例/规则玩法/源码平台
  NFT跑鞋链游项目则是将区块链技术应用到跑鞋领域中去的一个创新项目。通过NFT跑鞋链游项目,跑者可以将自己的跑鞋进行数字资产化,并在游戏中进行买卖和交换。这种数字资产化的跑鞋不仅可以让跑者更好地了解自己的跑鞋价值,还可以为跑者带来更多的社交和娱乐价值。
|
存储 区块链 开发者
Jogger慢跑者/Stepn跑鞋NFT系统案例开发技术
 随着NFT(非同质化代币)市场的不断升温,许多开发者开始探索如何将NFT应用于跑步鞋领域。
|
区块链 算法框架/工具 Android开发
Stepn跑鞋零撸项目开发详情丨Stepn跑鞋零撸项目系统开发(案例设计)及代码说明
简单说,智能合约是一种用计算机语言取代法律语言去记录条款的合约。智能合约可以由一个计算系统自动执行。可以理解为智能合约就是传统合约的数字化版本。
|
新零售 人工智能 供应链
东郊到家系统开发(规则及玩法)/方案详解/案例设计/成熟技术,东郊到家APP开发源码
 新零售就是企业借助互联网,通过大数据、人工智能等一些手段,对产品的生产、流通以及销售的过程俩进行升级改造,从而可以把线上服务、线下服务以及现代的物流进行深度的融合的新零售模式。
|
前端开发 区块链 数据安全/隐私保护
Jogger慢跑者/Stepn跑鞋NFT铸造合成项目系统开发逻辑方案/案例设计/成熟技术/源码详解
  区块链作为一种新的信息与网络技术,运用加密技术、分布式网络和共识机制来保证网络中每个节点所记录的信息真实有效。区块链正在不断渗透到各行各业中,已经展现出良好的发展态势。
|
存储 算法 安全
Jogger跑鞋链游开发详情丨Jogger链游跑鞋系统开发方案详细/项目逻辑/功能分析/案例设计/源码平台
  区块链就是把加密数据(区块)按照时间顺序进行叠加(链)生成的永久、不可逆向修改的记录。某种意义上说,区块链技术是互联网时代一种新的“信息传递”技术,