显示软件包…

1 个稳定版本

2.0.0 2021 年 4 月 4 日

#25 in #tetcore

37 个月下载次数
8 个软件包中使用(通过 node-runtime

Apache-2.0

1.5MB
25K SLoC

身份模块

概述

一个联合命名系统,允许从指定的起源添加多个注册机构。注册机构可以设置费用以提供身份验证服务。任何人都可以提出一个固定的存款的提案身份,并请求任何数量的注册机构的审查。注册机构的判断以 enum 的形式给出,允许复杂的、多级意见。

一些判断被标识为 sticky,这意味着它们不能被移除,除非完全删除身份,或由注册机构删除。判断允许代表保留给注册机构的部分资金。

超级用户可以删除账户,并因此扣除存款。

所有账户也可能有一个由所有者指定的有限数量的子账户;按照定义,这些账户具有等效的所有权,每个账户都有一个单独的名称。

应该限制注册机构的数量,并确保存款足够大,以确保没有状态膨胀攻击可行。

接口

可调用的函数

用于普通用户

  • set_identity - 设置账户的关联身份;如果没有占用,则保留小额存款。
  • clear_identity - 删除账户的关联身份;返还存款。
  • request_judgement - 从注册机构请求判断,支付费用。
  • cancel_request - 取消先前的判断请求。

用于具有子身份的普通用户

  • set_subs - 设置身份的子账户。
  • add_sub - 向身份添加子身份。
  • remove_sub - 从身份删除子身份。
  • rename_sub - 重命名身份的子身份。
  • quit_sub - 从身份删除子身份(由子身份调用)。

用于注册机构

  • set_fee - 设置由注册员给出裁决所需的费用。
  • set_fields - 设置注册员在裁决中关注的字段。
  • provide_judgement - 向身份提供裁决。

对于超级用户

  • add_registrar - 将新的注册员添加到系统中。
  • kill_identity - 强制删除关联的身份;押金将丢失。

许可证:Apache-2.0

依赖项

~4–12MB
~148K SLoC