Avatar阿凡達模式系統開發技術流程方案(成熟技術)
新零售指的就是新型零售商業模式,將線上與線下進行融合,消費者可以從線上進行選物,I8O量化2857交易8624系統開發然後到線下門店進實際體驗,另外還可以透過大資料來了解消費者的消費習慣,從而提供更加完善的服務。
Ecology
The commercial ecology construction of"new retail"will cover online pages,physical stores,payment terminals,data systems,logistics platforms,marketing paths and many other aspects,and embed diversified functions such as shopping,entertainment,
首先呼叫UniswapV3Factory.getPool方法檢視交易對是否已經建立,getPool函式是solidity自動為UniswapV3Factory合約中的狀態變數getPool生成的外部函式,getPool的資料型別為:
contract UniswapV3Factory is IUniswapV3Factory,UniswapV3PoolDeployer,NoDelegateCall{
...
mapping(address=>mapping(address=>mapping(uint24=>address)))public override getPool;
...
}
使用3個map說明了v3版本使用(tokenA,tokenB,fee)來作為一個交易對的鍵,即相同代幣,不同費率之間的流動池不一樣。另外對於給定的tokenA和tokenB,會先將其地址排序,將地址值更小的放在前,這樣方便後續交易池的查詢和計算。
再來看UniswapV3Factory建立交易對的過程,實際上它是呼叫deploy函式完成交易對的建立:
使用CREATE2的好處是:
可以在鏈下計算出已經建立的交易池的地址
其他合約不必透過UniswapV3Factory中的介面來查詢交易池的地址,可以節省gas
合約地址不會因為reorg而改變
不需要透過UniswapV3Factory的介面來計算交易池合約地址的方法,可以看這段程式碼。
新交易對合約的建構函式中會反向查詢UniswapV3Factory中的parameters值來進行初始變數的賦值:
constructor(){
int24 _tickSpacing;
(factory,token0,token1,fee,_tickSpacing)=IUniswapV3PoolDeployer(msg.sender).parameters();
tickSpacing=_tickSpacing;
maxLiquidityPerTick=Tick.tickSpacingToMaxLiquidityPerTick(_tickSpacing);
}
為什麼不直接使用引數傳遞來對新合約的狀態變數賦值呢。這是因為CREATE2會將合約的initcode和salt一起用來計算建立出的合約地址。而initcode是包含contructor code和其引數的,如果合約的constructor函式包含了引數,那麼其initcode將因為其傳入引數不同而不同。在off-chain計算合約地址時,也需要透過這些引數來查詢對應的initcode。為了讓合約地址的計算更簡單,這裡的constructor不包含引數(這樣合約的initcode將時唯一的),而是使用動態call的方式來獲取其建立引數。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2935979/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sun4.0阿凡達Avatar系統開發技術詳細丨阿凡達Avatar系統原始碼原始碼
- Avatar阿凡達(泰山眾籌)系統開發技術詳情及方案原始碼原始碼
- AVATAR阿凡達眾籌系統開發說明合約技術
- Avatar阿凡達泰山眾籌系統開發(模式)|Avatar阿凡達需求方案部署模式
- web3拆分DAPP模式系統開發技術方案(成熟技術)WebAPP模式
- Avatar阿凡達泰山眾籌開發|眾籌系統DAPP開發技術APP
- 阿凡達(Avatar)泰山眾籌商城系統開發技術詳細及案例
- NFT鏈遊系統開發流程原始碼部署方案(成熟技術)原始碼
- 智慧合約DeFi質押代幣模式系統開發流程制度方案(成熟技術)模式
- SUN4.0眾籌模式系統開發模式丨SUN4.0阿凡達模式系統開發技術方案模式
- 關於sun4.0泰山眾籌阿凡達模式系統開發技術方案模式
- DAPP系統模式開發邏輯(成熟技術)APP模式
- FIl模式Defi模式燃燒代幣模式專案系統開發技術(成熟技術)模式
- DAPP合約系統開發邏輯技術丨DAPP成熟系統開發技術方案APP
- 代幣DAPP模式系統開發技術流程(邏輯方案)DAPP系統開發技術講解APP模式
- 深度解析:分投趣fintoch模式系統開發技術(成熟合約技術)模式
- 兔子直播卷軸系統技術開發詳情(成熟技術)
- java底層鏈遊系統開發技術功能(成熟技術)Java
- 泰山眾籌阿凡達avatar開發功能丨泰山眾籌阿凡達avatar系統開發流程及原始碼分析原始碼
- 阿凡達Avata泰山眾籌系統開發技術搭建
- 鏈遊模式系統開發搭建功能丨鏈遊系統開發專案方案(技術成熟)模式
- 量化交易系統開發程式碼部署方案丨合約量化系統開發技術成熟原始碼流程原始碼
- 區塊鏈NFT農場遊戲專案系統開發技術定製方案(成熟技術)區塊鏈遊戲
- 淺談區塊鏈代幣技術系統開發專案方案(成熟合約技術)區塊鏈
- Avatar阿凡達泰山眾籌開發案例版丨Avatar阿凡達泰山眾籌系統開發(開發邏輯及方案)
- XQORE佛薩奇模式系統開發技術方案模式
- 多商家商城系統模式開發技術方案模式
- 關於代幣質押挖礦模式系統開發技術方案丨(成熟Demo)模式
- 區塊鏈去中心化DAPP系統開發技術(成熟技術)區塊鏈中心化APP
- SET智慧合約量化(策略)系統開發技術(成熟技術程式碼)
- 玩家盛宴系統開發技術方案
- 拼團系統開發技術方案
- 關於區塊鏈趣步模式DAPP系統開發專案方案(成熟技術)區塊鏈模式APP
- chatGPT智慧聊天機器人系統開發介面對接模式專案方案(成熟技術)ChatGPT機器人模式
- 阿凡達sun眾籌挖礦系統開發原始碼技術原始碼
- 關於馬蹄鏈DAPP系統開發技術專案方案(成熟開發)APP
- 關於/區塊鏈系統開發|(成熟技術)/區塊鏈系統開發介紹方案區塊鏈
- 什麼是阿凡達泰山眾籌系統開發丨阿凡達泰山眾籌系統開發(dapp開發技術)APP