欢迎光临散文网 会员登陆 & 注册

公排互助开发源码版丨公排互助系统开发(开发功能及案例)

2023-03-02 16:47 作者:bili_16249894763  | 我要投稿

  WeIdentity的CPT(Claim Protocol Type)合约,用于在链上存储凭证的Claim模板。CPT合约使用标准的数据-逻辑分离架构。一个数据CPT合约里,最重要的是其jsonSchema部分,它存储了以jsonSchema格式记载的Claim格式内容。区分不同CPT是通过其ID来进行的。


  系统CPT的ID落在1~1000里,它们是在WeIdentity智能合约部署之初就创建好的内置CPT,用来完成所有WeIdentity实例的统一功能,它们在部署WeIdentity智能合约时,在初始化过程中部署在链上。


  //给某地址添加权限


  function addRole(address addr,uint role)public{


  if(role==ROLE_AUTHORITY_ISSUER){


  //检查合约调用者是否有相应修改的权限


  if(checkPermission(tx.origin,MODIFY_AUTHORITY_ISSUER)){authorityIssuerRoleBearer[addr]=true;}


  }设计模式I35详情7O98开发O7I8 


  if(role==ROLE_COMMITTEE){


  if(checkPermission(tx.origin,MODIFY_COMMITTEE)){committeeMemberRoleBearer[addr]=true;}


  }


  if(role==ROLE_ADMIN){


  if(checkPermission(tx.origin,MODIFY_ADMIN)){


  adminRoleBearer[addr]=true;


  }


  }


  }


  //删除某地址权限


  function removeRole(


  address addr,


  uint role


  )开发需求:MrsFu123


  public


  {


  if(role==ROLE_AUTHORITY_ISSUER){


  if(checkPermission(tx.origin,MODIFY_AUTHORITY_ISSUER)){


  authorityIssuerRoleBearer[addr]=false;


  }


  }


  if(role==ROLE_COMMITTEE){


  if(checkPermission(tx.origin,MODIFY_COMMITTEE)){


  committeeMemberRoleBearer[addr]=false;


  }


  }


  if(role==ROLE_ADMIN){


  if(checkPermission(tx.origin,MODIFY_ADMIN)){


  adminRoleBearer[addr]=false;


  }


  }


  }


  //检查某地址是否属于某类别


  function checkRole(


  address addr,


  uint role


  )


  public


  constant


  returns(bool)


  {


  if(role==ROLE_AUTHORITY_ISSUER){


  return authorityIssuerRoleBearer[addr];


  }


  if(role==ROLE_COMMITTEE){


  return committeeMemberRoleBearer[addr];


  }


  if(role==ROLE_ADMIN){


  return adminRoleBearer[addr];


  }


  }


公排互助开发源码版丨公排互助系统开发(开发功能及案例)的评论 (共 条)

分享到微博请遵守国家法律