用户及用户库
Last updated
Last updated
借鉴分布式数字身份的理念,用户库综合使用用户编号映射表和用户对象映射表来注册、管理用户身份,同时提供了可供平台内已注册合约随时校验账户身份的查询接口。
用户行权时,系统会调用用户库的查询接口获取指令发出账户的用户编号,再根据特定登记簿合约的记录验证用户的身份权限。
例如,股东行使表决权时,系统会查询指令发出账户的用户编号,然后其传递给股东会纪要管理人合约,后者会继续调取股东名册合约来验证该编号用户是否为公司股东,若是股东则继续后续操作,否则终止程序并返回错误信息。
在使用ComBoox系统的写操作功能之前,需要先申请注册系统用户(单纯查阅平台上簿记的公司信息并不需要注册)。用户库会给申请账户地址分配一个系统唯一的用户编号。
为防止因遗失私钥而丧失用户控制权,系统允许已注册用户追加设定一个账户地址作为“备用钥匙”(注册时使用的账户地址为“主钥匙”)。但是,为防止规避锁定期、优先权等合同义务,系统禁止变更备用钥匙或追加更多的钥匙。因此,一个用户最多可以拥有主钥匙、备用钥匙两个账户,两者可互换角色。通过备用钥匙账户发出的写指令,在用户库中也会检索获取到与主钥匙相同的用户编号。不论是主钥匙还是备用钥匙,均只能对应唯一的用户编号,用过的账户地址不能再用于注册其他用户编号。
用户编号查询接口仅面向平台中已注册的合约账户及用户本人开放,在满足用户身份校验目的的前提下,尽最大可能避免外部合约访问可能带来的安全风险。
用户库定义了用户对象,采用“账户地址->用户编号”的用户编号映射表,以及采用“用户编号->用户对象”的用户对象映射表。
primeKey
用户的主钥匙对象。
backupKey
用户的备用钥匙对象。
pubKey
钥匙的账户地址。
discount
折扣率。
gift
赠与点数。
coupon
代金券点数。
primeKey.gift
eoaRewards: 外部账户注册的新用户奖励点数。
backupKey.gift
coaRewards: 合约账户注册的新用户奖励点数。
backupKey.coupon
floor: 模版合约的最低收费单价。
primeKey.discount
rate: 平台佣金折让比率(单位:基点)。
primeKey.coupon
counterOfUsers: 用户编号计数器。
getPlatformRule
获取平台(优惠促销)规则。
getRoyaltyRule
获取特定用户作者的许可费(优惠促销)规则。
getLocker
获取特定哈希值对应的保险柜对象。
getLocksList
获取所有哈希锁列表。
counterOfUsers
获取所有用户编号计数器的当前值。
getOwner
获取(注册中心)所有者账户地址。
getBookeeper
获取(注册中心)簿记管理人账户地址。
isKey
查询特定地址是否已在用户库中注册。
getUser
查询特定账户地址对应的用户对象。
getUserNo
查询获取特定账户地址对应的用户编号。