BSEX交易所繫統開發(開發方案)丨BSEX交易所開發(原始碼詳情)
什麼是DAp,pDApp應用需要滿足那些條件
什麼是Dapp?
DApp是Decentralized Application的縮寫,譯為:分散式的應用程式。App我們都知道,我們在智慧手機上安裝的應用程式也就是App。而DApp比App多了一個‘D’,‘D’的意思是分散式的。所以,它的意思是分散式的應用程式/去中心化的應用程式。
關於區塊鏈專案技術開發唯:MrsFu123,代幣發行、dapp智慧合約開發、鏈遊開發、單雙幣質押、多鏈錢包開發、NFT盲盒遊戲、公鏈、鏈上游戲開發
Uniswap博餅、交易所開發、量化合約開發、合約對沖、互助遊戲開發、Nft數字藏品開發、眾籌互助開發、元宇宙開發、swap開發、DAO智慧合約、
夾子合約、鏈上合約開發、ido開發、商城開發等,開發過各種各樣的系統模式,更有多種模式、制度、案例、後臺等,成熟技術團隊,歡迎實體參考。
DApp是一種網際網路應用程式,與傳統的App最大的區別是:DApp執行在去中心化的網路上,也就是區塊鏈網路中。網路中不存在中心化的節點可以完整的控制DApp。
Dapp(去中心化應用程式)是一種開源的應用程式,自動執行,將其資料儲存在區塊鏈上,以密碼令牌的形式激勵,並以顯示有價值證明的協議進行操作。
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);
}
//****REMOVE LIQUIDITY****
function removeLiquidity(//移除流動性,該方法需要先將lp代幣授權給路由合約,才能代扣lp
address tokenA,
address tokenB,
uint liquidity,//移除lp的數量,轉入lp得另外兩個幣
uint amountAMin,//A的最小輸出量
uint amountBMin,//B的最小輸出量
address to,//接收兩個幣的地址
uint deadline
)public virtual override ensure(deadline)returns(uint amountA,uint amountB){
address pair=UniswapV2Library.pairFor(factory,tokenA,tokenB);//獲取pair地址
IUniswapV2Pair(pair).transferFrom(msg.sender,pair,liquidity);//將lp轉到pair地址
//send liquidity to pair
(uint amount0,uint amount1)=IUniswapV2Pair(pair).burn(to);//呼叫pair的burn方法,內部會將兩個幣的數量轉給to,返回值就是兩個代幣的輸出數量
(address token0,)=UniswapV2Library.sortTokens(tokenA,tokenB);//透過排序確認兩個amountA/B
(amountA,amountB)=tokenA==token0?(amount0,amount1):(amount1,amount0);
//校驗A/B的輸出量需要小於引數中要求的最小量,否則交易失敗
require(amountA>=amountAMin,'UniswapV2Router:INSUFFICIENT_A_AMOUNT');
require(amountB>=amountBMin,'UniswapV2Router:INSUFFICIENT_B_AMOUNT');
}
function removeLiquidityETH(//移除流動性(其中一個返還幣是ETH),該方法需要先將lp代幣授權給路由合約,才能代扣lp
address token,
uint liquidity,
uint amountTokenMin,
uint amountETHMin,//eth最小輸出量
address to,
uint deadline
)public virtual override ensure(deadline)returns(uint amountToken,uint amountETH){
//呼叫上面的removeLiquidity方法,傳入的是WETH
(amountToken,amountETH)=removeLiquidity(
token,
WETH,
liquidity,
amountTokenMin,
amountETHMin,
address(this),//注意!接收幣的地址是路由
deadline
);
//將代幣轉給to
TransferHelper.safeTransfer(token,to,amountToken);
IWETH(WETH).withdraw(amountETH);//將weth轉換成eth
TransferHelper.safeTransferETH(to,amountETH);//將eth轉給to
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2944842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BSEX交易所開發運營版丨BSEX交易所繫統開發(開發詳細)及原始碼功能原始碼
- BSEX交易所繫統技術開發詳情(細節分析)
- BSEX交易所模式軟體開發系統詳情模式
- BSEX交易所合約系統開發方案
- 交易所繫統丨交易所繫統開發(上線版)丨交易所開發詳細原始碼部署原始碼
- swap交易所繫統(原始碼)丨swap交易所繫統開發(去中心化交易所開發詳細)原始碼中心化
- 交易所開發(海外版)丨交易所繫統開發(Python)丨 交易所繫統原始碼功能Python原始碼
- BSEX交易所DAPP合約交易系統模式開發技術方案APP模式
- 數字貨幣交易所開發正式版丨數字貨幣交易所繫統開發(開發詳情)及案例原始碼原始碼
- 交易所開發(海外版)丨交易所繫統開發(Demo)交易所專案系統開發(原始碼定製)原始碼
- 交易所開發(海外版)丨交易所繫統開發(多語言)丨交易所成熟原始碼版原始碼
- (demo)交易所App開發功能|交易所繫統開發原始碼APP原始碼
- 交易所開發(穩定版)/交易所繫統開發(python開發)/交易所開發(原始碼版)Python原始碼
- 交易所開發(海外版)/交易所繫統開發(案例詳細)/交易所繫統原始碼及demo原始碼
- Uniswap交易所繫統開發(穩定版)丨Uniswap交易所開發成品及原始碼原始碼
- 區塊鏈交易所繫統開發(海外版)丨區塊鏈交易所繫統開發(開發案例及原始碼)區塊鏈原始碼
- 永續合約交易所繫統開發(開發邏輯)丨永續合約系統開發(原始碼方案)原始碼
- 數字貨幣交易所開發方案丨數字貨幣交易所繫統開發(正式版)丨數字貨幣交易所開發原始碼原始碼
- 合約跟單/交易所開發方案,合約跟單/交易所繫統開發(穩定版)丨原始碼詳細原始碼
- 數字貨幣交易所開發詳情丨數字貨幣交易所繫統開發(詳細及邏輯)丨數字貨幣交易所原始碼原始碼
- Uniswap交易所開發穩定版丨Uniswap交易所繫統開發(開發模板)
- 深度解析:交易所繫統開發(海外版)交易所繫統開發(多語言)交易所開發(原始碼部署)原始碼
- 區塊鏈交易所開發運營版丨區塊鏈交易所繫統開發(詳細案例)及邏輯方案丨原始碼區塊鏈原始碼
- BSEX交易所去中心化系統開發技術(邏輯分析)中心化
- swap交易所繫統開發(成熟技術)交易所中心繫統開發流程(原始碼搭建)原始碼
- 現貨期權交易所繫統(成熟原始碼)丨現貨期權交易所繫統開發(方案)原始碼
- 合約跟單交易所開發運營版丨合約跟單交易所繫統開發成熟方案及原始碼詳細原始碼
- 現貨期權期貨交易所開發(詳情)丨現貨期權期貨交易所繫統開發(PHP/JAVA開發)PHPJava
- 數字貨幣交易所開發(案例)丨數字貨幣交易所繫統開發(JAVA/PHP開發)及原始碼JavaPHP原始碼
- 現貨期權交易所開發詳情丨現貨期權交易所繫統開發(原理及邏輯)
- 促進區塊鏈交易所繫統開發技術概念丨區塊鏈交易所原始碼系統開發部署方案區塊鏈原始碼
- 合約跟單交易所開發(案例開發)丨合約跟單交易所繫統開發實現技術方案及原始碼專案原始碼
- 數字貨幣交易所錢包系統開發(開發說明)丨數字貨幣錢包交易所繫統開發(原始碼詳細)原始碼
- 現貨期權交易所繫統開發(多語言)丨現貨期權交易所繫統開發(詳細邏輯及原始碼)原始碼
- 永續合約技術開發系統方案丨槓槓交易所繫統開發技術原始碼搭建原始碼
- 去中心化交易所開發正式版丨去中心化交易所繫統開發技術詳細及原始碼分析中心化原始碼
- 現貨期權交易所開發案例原始碼丨現貨期權交易所繫統開發(海外版)原始碼
- 數字貨幣交易所繫統開發(海外版)丨數字貨幣交易所開發(原始碼版)原始碼