前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >互助公排滑落机制dapp系统开发|智能合约编写流程

互助公排滑落机制dapp系统开发|智能合约编写流程

原创
作者头像
用户开发vx_hkkf5566
发布2022-11-07 17:08:52
3160
发布2022-11-07 17:08:52
举报

什么是公排滑落机制。公排滑落机制指的是在层级排满的情况下,新发展人员自动往下层滑落排列,下层如果排满会继续往更下一层滑落找空位,滑落顺序为自上到下自左到右。大公排和小公排都可以设置滑落机制,大公排在全网滑落,小公排在自己团队内滑落。公排滑落机制有利于系统平稳有序健康发展,是公排模式最重要的机制之一。

添加会员 自动匹配位置根据图谱升级

代码语言:javascript
复制
function sadd(){
 
$sid = 0;
$slevel = 0;
 
$count = Db::name('gongpai')->count();  
 
if($count > 0){
     
    $count++;
    $yu = Kmod($count,3);
    if($yu == 0){
        $sid = $count/3;
    }elseif($yu == 1){
        $sid = ($count-1)/3;
    }elseif($yu == 2){
        $sid = ($count+1)/3;
    }
     
    $whr['id'] = $sid;
    $slevel = Db::name('gongpai')->where($whr)->find();
     
    $data['fatherid'] = $sid;
    $data['level'] = $slevel['level']+1;
    $data['dengji'] = 0;
    if($slevel['level'] < 9){
        Db::name('gongpai')->insert($data);
        svipup($sid);
    }
}else{
     
    $data['fatherid'] = 0;
    $data['level'] = 1;
    $data['dengji'] = 0;
    Db::name('gongpai')->insert($data);
}
  

验证单一 Solidity 文件

在开始验证之前,我们需要首先部署智能合约。进入 Remix IDE,创建一个叫做“Counter.sol”的新文件。复制粘贴下面的代码:</p>

代码语言:javascript
复制
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;
contract Counter {
    uint256 internal counter;
    function increment() external {
        unchecked {
            ++counter;
        }
    }

   function getCurrent() external view returns(uint256) {
        return counter;
    }
}

在部署之前,我们必须关注一下我们使用的 Solidity 编译器是哪个版本,和在合约代码最上方 “SPDX-License-Identifier” 中标注的 license 类型。

因为我们在合约文件中标注了“^0.8.0”,所以这个合约可以被任何版本号为 0.8.0 和 0.9.0 之间的 solidity 编译器编译,这样就包含多个版本的比如 0.8.0,0.8.1,0.8.2 等等。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 验证单一 Solidity 文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档