交易所合約跟單帶單系統開發技術成熟(Demo)原始碼搭建
合約主要功能函式介紹
1.1 主要引數
address private owner; //合約部署(擁有者)賬號地址
address private profitor; //收益分配者賬號地址,僅該地址有權分配收益
bool _isDIS = false; //質押合約功能狀態,true才可以進行質押
ERC20 _Token; //用於分配收益的ERC20資產
KeyFlag[] keys; //用於標記使用者地址的質押狀態
uint256 size; //質押者地址(使用者)數量
uint256 _maxPledgeAmount; //最大質押(底層幣)額度
uint256 _maxMiningAmount; //最大(ERC20收益分配)額度
uint256 _leftMiningAmount; //剩餘額度
uint256 _minAmount; //單次最少質押額度
uint256 _totalPledegAmount; //已質押總額度
uint256 _maxPreMiningAmount; //最大單次分配額度
uint256 _startTime; //開始時間,單位“秒”
uint256 _endTime; //結束時間,單位“秒”
uint256 _precentUp=100; //與_precentDown一起設定每次收益提取比例
uint256 _precentDown=100; //與_precentUp一起設定每次收益提取比例
struct PledgeOrder { //結構體,用於標記質押使用者的各類狀態
bool isExist; //質押狀態
uint256 token; //質押額度
uint256 profitToken; //收益額度
uint256 time; //最近一次提取收益時間
uint256 index; //質押地址序號
}
struct KeyFlag { //結構體,用於標記使用者地址的質押狀態
address key; //地址
bool isExist; //質押狀態
}
部署合約時,建構函式內的引數需要使用者輸入,以完成相應的引數設定並實現相應功能;
1.2 質押函式pledgeToken
function pledgeToken() public payable{
require(address(msg.sender) == address(tx.origin), "no contract");
require(_isDIS, "is disable");
require(_leftMiningAmount>0, "less token");
require(msg.value>=_minAmount, "less token");
require(_totalPledegAmount.add(msg.value)<=_maxPledgeAmount, "more token");
require(block.timestamp>=_startTime&&block.timestamp<=_endTime, "is disable");
if(_orders[msg.sender].isExist==false){
keys.push(KeyFlag(msg.sender,true));
size++;
createOrder(msg.value,keys.length.sub(1));
}else{
PledgeOrder storage order=_orders[msg.sender];
order.token=order.token.add(msg.value);
keys[order.index].isExist=true;
}
_totalPledegAmount=_totalPledegAmount.add(msg.value);
}
功能說明:
明顯的,該函式具有接收底層幣功能(payable);
質押地址必須是賬號地址,不能是合約地址;
需要合約質押功能已經開始,且在活動限定時間內;
剩餘額度大於0;
進行質押的底層幣額度不能少於最小值,質押後也不能超過限定的最大質押額度;
如果該使用者之前沒有質押過,則建立檔案(createOrder),否則僅修改檔案;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2948677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 合約跟單開發需求丨合約跟單系統開發(技術方案)丨合約跟單原始碼及功能原始碼
- 交易所合約跟單帶單軟體開發原始碼方案技術詳情原始碼
- 區塊鏈swap合約跟單系統開發技術方案丨合約跟單/帶單技術系統開發方案區塊鏈
- 合約跟單交易所開發運營版丨合約跟單交易所繫統開發成熟方案及原始碼詳細原始碼
- 關於合約跟單交易所繫統開發(原始碼)|合約交易搭建原始碼
- 合約跟單系統開發詳解案例,合約跟單系統原始碼原始碼
- 合約跟單交易所開發(案例開發)丨合約跟單交易所繫統開發實現技術方案及原始碼專案原始碼
- 合約跟單系統開發(原始碼案例)丨合約跟單開發原始碼案例部署原始碼
- 合約跟單/交易所繫統開發(開發demo),合約跟單/交易所繫統開發(邏輯及案例)
- 合約跟單系統丨合約跟單系統開發(正式版)丨合約跟單開發原始碼說明原始碼
- 量化合約丨合約量化丨合約跟單丨交易所繫統開發實現技術案例及原始碼(demo)原始碼
- 量化合約原始碼搭建開發案例丨合約量化技術開發成熟Demo原始碼
- 合約跟單系統開發(原始碼搭建方案)_現成原始碼
- 現貨合約秒合約跟單系統開發(原始碼案例)搭建原始碼
- 合約跟單/系統開發解析/合約策略交易/量化跟單技術開發解析
- 合約跟單開發案例,合約量化跟單系統開發技術詳細流程
- 合約量化跟單系統開發搭建丨現成原始碼搭建原始碼
- 合約跟單開發(正式版)丨合約跟單系統開發(方案及策略)丨合約跟單系統原始碼功能原始碼
- 合約跟單系統開發案例部署原始碼|跟單合約開發(講解方案)原始碼
- 量化跟單/合約量化/秒合約/跟單交易/交易所繫統技術開發(Python策略)Python
- 合約跟單開發說明丨合約跟單系統開發(方案及策略)丨合約跟單原始碼版原始碼
- 現貨跟單/合約跟單/系統技術開發/量化交易/永續合約技術分析
- 合約跟單/交易所開發方案,合約跟單/交易所繫統開發(穩定版)丨原始碼詳細原始碼
- 合約跟單系統開發、合約跟單appAPP
- 量化跟單/秒合約/原始碼系統開發/永續合約量化交易開發技術分析原始碼
- 現貨量化/原始碼/秒合約/量化跟單交易系統合約開發python技術原始碼Python
- 量化跟單系統開發丨Python程式設計原始碼丨跟單合約交易策略開發技術Python程式設計原始碼
- 合約跟單/秒合約/永續合約/量化跟單交易系統開發技術設計
- 量化合約/合約量化/合約跟單/交易所繫統開發實現技術原理及案例原始碼原始碼
- 智慧量化合約跟單系統開發技術/量化交易/合約跟單交易
- 永續合約開發/秒合約/合約跟單/量化交易跟單系統技術開發丨Python示例Python
- 合約跟單/現貨量化跟單/永續合約/系統開發技術/應用
- 量化合約跟單系統開發(樣式搭建)合約量化原始碼系統開發流程原始碼
- 合約跟單系統開發丨合約跟單appAPP
- AI合約跟單策略/永續槓桿交易系統開發技術/合約量化原始碼AI原始碼
- 量化合約交易所繫統開發技術方案丨成熟Demo搭建
- 秒合約跟單系統開發原始碼|秒合約交易模式系統開發原始碼模式
- 合約跟單系統開發/跟單量化交易機器人/合約交易技術開發詳情機器人