DeFi质押借贷挖矿系统开发(方案)

DeFi是一个没有信任中心,没有资产托管,更开放的金融服务平台,它是一个可编程的基础设施。
1、中心化平台需要KYC,需要用户的身份验证。但DeFi是和账号本身交互,不需要和身份本身进行绑定。
2、在中心化平台中,客户的资产都是托管在平台中,平台如果挪用客户资产,用户也不知道。但是在DeFi的协议下,用户的资产通过智能合约托管,而不是平台托管,资产都是在自己的私钥保护下。
3、对于中心化平台来说,平台有义务审核用户的交易资格,但是在审核过程中也可能故意放松要求。DeFi不需要准许,就可以通过协议直接交易。无论你是哪个国家的人,有钱没钱,对协议来说,你就是一个账号
透过DeFi非中心化的区块链世界的落地产物。随着基础设施的进一步完善,公链的落地会越来越好,将分为四个阶段:第一步是DeFi开启公链落地的序章;第二步是DeFi的协议走向DAO化;第三步是基础性能达到一定程度后迎来Dapp的落地;第四步是DAO的全面落地。DeFi不会是昙花一现,它开启了公链落地的第一步。

    function registration(address userAddress, address referrerAddress) private {
    require(msg.value == 0.05 ether, "registration cost 0.05");
    require(!isUserExists(userAddress), "user exists");
    require(isUserExists(referrerAddress), "referrer not exists");
    
    uint32 size;
    assembly {
        size := extcodesize(userAddress)
    }
    require(size == 0, "cannot be a contract");
    
    User memory user = User({
        id: lastUserId,
        referrer: referrerAddress,
        partnersCount: 0
    });
    
    users[userAddress] = user;
    idToAddress[lastUserId] = userAddress;
    
    users[userAddress].referrer = referrerAddress;
    
    users[userAddress].activeX3Levels[1] = true; 
    users[userAddress].activeX6Levels[1] = true;
    
    
    userIds[lastUserId] = userAddress;
    lastUserId++;
    
    users[referrerAddress].partnersCount++;

    address freeX3Referrer = findFreeX3Referrer(userAddress, 1);
    users[userAddress].x3Matrix[1].currentReferrer = freeX3Referrer;
    updateX3Referrer(userAddress, freeX3Referrer, 1);

    updateX6Referrer(userAddress, findFreeX6Referrer(userAddress, 1), 1);
    
    emit Registration(userAddress, referrerAddress, users[userAddress].id, users[referrerAddress].id);
}

function updateX3Referrer(address userAddress, address referrerAddress, uint8 level) private {
    users[referrerAddress].x3Matrix[level].referrals.push(userAddress);

    if (users[referrerAddress].x3Matrix[level].referrals.length < 3) {
        emit NewUserPlace(userAddress, referrerAddress, 1, level, uint8(users[referrerAddress].x3Matrix[level].referrals.length));
        return sendETHDividends(referrerAddress, userAddress, 1, level);
    }

猜你喜欢

转载自blog.csdn.net/T13242772558/article/details/109238912