Skip to content

contract

maggie edited this page Sep 15, 2020 · 1 revision

Contract模块重构

  • 模块介绍
  • 重构任务
  • 重构设计
  • 接口说明

1. 模块介绍

Contract模块

  • 主要功能
    • 将智能合约用一个Java类来描述,用户通过调用该Java类操作合约。
    • 提供预编译合约接口。
      • SystemConfig:节点配置
        • setValueByKey: 根据键设置对应的值
      • CNS:CNS服务 ( CNS:合约名系统,将合约地址与合约名称相互映射的系统)
        • insert:新增记录
        • selectByName:根据合约名查询地址
        • selectByNameAndVersion:根据合约名和版本查询地址
      • PermissionService:权限管理
        • grantUserTableManager、revokeUserTableManager:根据用户表名和外部账户地址设置/去除权限信息
        • grantDeployAndCreateManager、revokeDeployAndCreateManager:增加/移除外部账户地址的部署合约和创建用户表权限
        • grantPermissionManager、revokePermissionManager:增加/移除外部账户地址的管理权限的权限
        • grantNodeManager、revokeNodeManager: 增加/移除外部账户地址的节点管理权限
        • grantCNSManager、revokeCNSManager:增加/移除外部账户地址的使用CNS权限
        • grantSysConfigManager、revokeSysConfigManager: 增加/移除外部账户地址的系统参数管理权限
        • listUserTableManager:根据用户表名查询设置的权限记录列表(每条记录包含外部账户地址和生效块高)。
        • listDeployAndCreateManager:查询拥有部署合约和创建用户表权限的权限记录列表
        • listPermissionManager:查询拥有管理权限的权限记录列表
        • listNodeManager: 查询拥有节点管理的权限记录列表
        • listCNSManager:查询拥有使用CNS的权限记录列表
        • listSysConfigManager:查询拥有系统参数管理的权限记录列表
      • CRUD:CRUD服务 (CRUD:用户可以使用CRUD模块,在区块链网络中创建表,存储业务数据,并对表增删改查操作)
        • createTable:创建表
        • insert: 插入记录
        • update: 更新记录
        • select: 查询记录
        • remove: 删除记录
        • desc: 根据表名查询表的信息
      • Consensus : 共识管理
        • addSealer: 根据节点NodeID设置对应节点为共识节点
        • addObserver: 根据节点NodeID设置对应节点为观察节点
        • removeNode: 根据节点NodeID设置对应节点为游离节点

2. 重构任务

  • 适配新的交易模块、事件订阅模块
Clone this wiki locally