defi质押挖矿dapp系统开发智能合约部署函数介绍

简介: defi质押挖矿dapp系统开发智能合约部署函数介绍

什么是 DeFi? 让用户在无需依靠中心化机构的情况下,通过部署在智能合约平台上的去中心化应用(Dapp)完成一系列金融服务

合约主要功能函数介绍
1.1 主要参数I34开发I633搭建53I9定制

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),否则仅修改档案;

DeFi 的特点:

消除可信第三方:依靠区块链的特性来创建信任,将传统交易中对政府和银行等信贷机构的信任转化为对机器的信任。

智能合约:自动自主,降低成本,提高速度和精度,不受外力影响确保合约执行

安全性、隐私性、透明性——区块链的本质优势

相关文章
|
5月前
|
供应链 区块链
区块链DAPP质押合约代币系统开发|模式方案
智能合约是一种数字化的合约,它将合约内容写入区块链中,保证了合约的公开透明
|
5月前
|
区块链
dapp质押代币系统开发|合约技术搭建
智能合约是一种通过计算机程序实现自动执行合约的协议。
|
5月前
|
人工智能 安全 区块链
DAPP合约代币质押系统开发方案需求|说明
区块链智能合约的发布方式不仅仅关乎技术手段,更是涉及到人性化和自然化的问题
|
安全 区块链 数据安全/隐私保护
Defi/DAPP智能合约质押挖矿系统开发/DeFi应用/NFT/DAPP
Defi/DAPP智能合约质押挖矿系统开发/DeFi应用/NFT/DAPP
|
存储 安全 区块链
TRONEX波场DAPP智能合约交易系统开发
TRONEX波场DAPP智能合约交易系统开发
|
存储 区块链
DAPP/LP/DEFI智能合约流动性质押挖矿系统开发(详细及方案)丨源码案例
智能合约事实上是由计算机代码构成的一段程序,其缔结过程是:第一步,参与缔约的双方或多方用户商定后将共同合意制定成一份智能合约;
|
存储 人工智能 边缘计算
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
  Web 3.0:指的移动互联网后的下一个阶段的互联网生态,主要是通过区块链等技术手段,实现去中心化的网络形态,实现模拟真实世界感受、打破虚拟、现实边界的互联网;
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
|
存储 前端开发 JavaScript
浅谈DAPP智能合约流动性质押挖矿分红系统开发技术分析及代码部署
“Web3.0”是一个用户共建、隐私保护、平台开放的生态体系。相比“Web2.0”,“Web3.0”的目标是实现一个更加开放、零信任或是低信任、无许可的价值互联网时代。其生态体系主要由“Web3.0钱包”、“稳定币”、“公链”、“NFT”、“GameFi”、“去中心化存储”、“Dapp”、“DAO”、“DeFi”构成。
浅谈DAPP智能合约流动性质押挖矿分红系统开发技术分析及代码部署
|
存储 前端开发 JavaScript
dapp/defi智能合约流动性LP质押挖矿系统开发(开发源码案例)丨成熟技术
Dapp:代表去中心化应用程序。它们是在去中心化网络或区块链上运行后端代码(主要用Solidity编写的智能合约)的应用程序。可以使用React、Vue或Angular等前端框架构建Dapp。
|
存储 算法 区块链
dapp/defi代币流动性挖矿系统开发(详情及方案)丨dapp/defi代币流动性挖矿系统开发(案例及功能)
     智能合约是运行在区块链系统可复制、共享账本上的计算机程序,可以处理信息,接收、储存和发送价值。基于区块链技术的智能合约,不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。