@aragon/id

中文文档
2.1.1发布于 2020/01/31GPL-3.0-or-later近 30 天下载 4058

很可能是安全的 ENS 登记.

中文使用文档
文档目录8 节
  1. 为什么
  2. 使用量
  3. 在阿拉贡客户端
  4. 今后的工作
  5. 合同
  6. 示例
  7. 安装(用于Web3项目)
  8. 发展中国家

阿拉贡标识

很可能是安全的 ENS 登记.

这回波中的一切都是高度实验性的软件.

在进行适当的安全审计之前,在生产(主网)中使用任何这种代码是不安全的 已进行。 它可能造成不可逆转的资金损失.

为什么

Aragon用户以及一般大多数区块链用户都受到 左子三角区—— 说 地址是安全的和分散的,但并非对人友好。 除了作为最重要的 还应指出的是,对人友好可被视为一种 安全方面:已显示密码地址便于用户无辜 错误和 攻击者恶意出击。 。 。 .

虽然有几个项目正在建设服务以解决这一问题,例如: 微波 财务报告和审定财务报表 公民,则还没有成熟或可供大众市场使用 收养。 鉴此,阿拉贡ID是一个简单的身份系统,用来弥合差距,直到这样 项目已经就绪。 它利用现有的 国家 基础设施安全 提供双向、先入先出地址地图 <name>.aragonid.eth 标识符. 之后,用户将能够解决和逆向解决任何 <name>.aragonid.eth 改为: 地址,并相信他们的名字登记由自己安全控制.

使用量

总结如下: 丹·芬莱 财务报告和审定财务报表 尼克·约翰逊 作为第一次环境服务讲习班的一部分,环境服务子节点登记默认应更改 随时由节点的主人负责。 节点拥有者有权更改任何 子节点,甚至可以将节点的所有权转让给自己,叫拍卖 书记官 finalizeAuction() 或者说 transfer() 在任何时间。 这个问题一直持续到TLD,因为 ENS 根由 (原始内容存档于2018-10-21). ENS multisig.

Aragon ID是一份合同的收集 减轻了缺乏安全 子节点的注册人。 它受到很大影响 尼克·约翰逊以前的工作。 。 。 .

在阿拉贡客户端

应建议阿拉贡的新用户登记一个对人类友好的名字 <name>.aragonid.eth 如果他们还没有ENS识别符 与他们地址有关. 虽然登记过程最初是免费的,在出现不良情况时是优先的 aragon可能要求用户燃烧一些 阿拉贡网络 或作为登记费用的另一种标志.

需要用户进行两次交易才能全面登记姓名;不幸的是,没有 创建双向注册的安全方式(地址对名称和名称对地址都可以解决) 用于一次交易中的用户。 因此,登记应首先按“前进”方向进行, 通过部署 FIF 可注册登记器 页:1 aragonid.eth,以确保一个名字。 "逆向"登记一旦成功,就应发送 改为现有 ENS 反向登记员。 。 。 .

请注意,用户可以完全控制其 <name>.aragonid.eth 子节点,其登记可 在转帐时更改。 在使用标识符前,阿拉贡客户端应当先检查 它决心的地址没有改变.

今后的工作

虽然阿拉贡以前 与Keybase合并, (中文(简体) ), 现在ENS的存在 使我们可以建立一个身份系统 避免依赖集中的 第三会. 在这样做的过程中,我们失去了以前由Keybase提供的一些特征,例如: 作为脱链存储器(例如配置照片或其他服务标识符)。 将来,我们计划 将Aragon ID与分散的离链存储服务整合起来,例如 沼泽 或者说 森林小组,以提供这种功能.

最后,在乌波特和公民等身份服务即将到来之后,应当指出的是 Aragon ID在Ethereum身份的最基本层面工作:账户地址. 这意味着 未来用户将能够将其阿拉贡ID标识与任何身份连接 通过服务提供,反之亦然。 未来来到阿拉贡的用户 身份甚至可能选择完全跳过阿拉贡ID注册程序.

举例来说,就进行中的案件而言 ethereum 身份的标准化, (中文(简体) ), 在阿拉贡注册的ERC725身份合同可以代表阿拉贡的用户 身份识别 该身份合同将有一个可解决的名称和地址,允许 与阿拉贡组织通过 ACTION 键,并能够证明各种细节 关于自己通过组织持有的 索赔。 。 。 . 未来,一个阿拉贡组织,可能通过未来 阿拉贡应用, (中文(简体) ), 也可以是身份索赔的提出者,其中最基本的可能是关于 会员或行政(如"Brett Sun是Aradenity Inc."的总经理.

合同

契约持有者

稍作修改的版本 尼克・约翰逊的 DeedHolder。 。 。 .

这个 DeedHolder 充当契约的保存库(由拍卖登记员为每项契约设立) 登记)。 转让后,证书及其相应的ENS节点将锁定在 DeedHolder 直到更换原登记员。 这阻止了节点所有者的能力 直接控制 ENS 节点, 并禁用它们拨打登记员的能力 finalizeAuction() 或者说 transfer() 以重新完全控制节点.

鉴于目前尚不清楚向新登记员迁移的过程,可能需要 多个业务,契约的所有权需要转移到一项合同,其逻辑是 同样不详。 这个负责移民的新主人最好通过一些机构决定 治理机制,如社区多思潮。 一旦移民完成, 契约应该 再次被锁定以确保节点不被篡改.

函数 :

  • claim(bytes32 node): 重新要求从 DeedHolder 当原始登记员 由新的书记官长取代
  • owner(bytes32 node) returns(address): 返回契约的当前所有者
  • transfer(bytes32 node, address newOwner): 转让地契所有权(注意: 新的"所有者"在契约成为可要求之前仍然无法获取)

授权代办(是代办)

A 类 DeedHolder 允许契约的所有人为节点设置"管理者"(即成为 eNS节点的拥有者)允许外部方或合同管理子节点注册.

使用 DeedHolder 它本身就使得今后不可能对所持有的 ENS节点,因为转让契约的过程也确定了 DeedHolder 作为拥有者 节点.

函数 :

  • setManager(bytes32 node, address manager): 设置 ENS 节点的管理器 行动 最好是登记员合同(见下文).

FIFS 解析 书记官长

A 类 FIFSRegistrar 还设置解析器的执行(和相应的地址映射,如果是登记册) 支持地址接口),当一个子节点被请求时.

函数 :

  • register(bytes32 subnode, address owner): 如果 尚未索赔
  • registerWithResolver(bytes32 subnode, address owner, AbstractPublicResolver resolver)数字 : 以给定的解析器注册子节点,该解析器必须符合 解析器谱

FIFSBUNSLAR(是FIFS解析Registrarr) 互联网档案馆的存檔,存档日期2013-12-02

拥有的 FIFSResolvingRegistrar 允许所有人为登记设定价格(以象征性方式) 子节点。 以此方式使用的托币会被送往 0xdead。支持 ApproveAndCallReceiver 接口.

函数 :

  • register(bytes32 subnode, address owner): 如果 页:1 owner 已预先批准了至少登记费用的合同。 这次行动 如果通过“ token. transfer From( 所有人, “ 0xdead” ) 来烧掉令牌, 将会失败 .
  • registerWithResolver(bytes32 subnode, address owner, AbstractPublicResolver resolver)数字 : 以给定的解析器注册子节点,该解析器必须符合 解析器谱, (中文(简体) ), 若为 owner 已预先核准至少登记费用的合同
  • setBurningToken(ERC20 burningToken): 设置注册时要被烧毁的标志 费用
  • setRegistrationCost(uint256 cost): 设置子节点注册费用
  • receiveApproval(address from, uint256 amount, address token, bytes data)数字 : ApproveAndCallReceiver 执行,用于支持 ApproveAndCall 接口

示例

这个 DeedHolder 财务报告和审定财务报表 DelegatingDeedHolder 合同意在用于初始阶段 已部署的一套环境服务合同(特别是 拍卖登记员) (中文(简体) ). 假设有这些,你的流量很可能是类似的东西(在伪JS中):

// Contract instances
const ens = '...'
const publicResolver = '...'
const auctionRegistrar = '...'
const token = '...'

// Deploy contracts
const deedHolder = DelegatingDeedHolder.new(ens.address, namehash('eth'))
const nodeRegistrar = FIFSBurnableRegistrar.new(
  ens.address,
  publicResolver.address,
  namehash('node.eth'),
  token.address,
  10
)

// Transfer deed ownership to the deed holder and set up the nodeRegistrar as the manager
auctionRegistrar.transfer(web3.sha3('node'), deedHolder.address)
deedHolder.setManager(web3.sha3('node'), nodeRegistrar.address)

// Register via token.approve()
token.approve(nodeRegistrar.address, 10, { from: '<owner address>' })
nodeRegistrar.register(web3.sha3('subnode'), '<owner address>')

// Register via token.approveAndCall()
token.approveAndCall(nodeRegistrar.address, 10, '<call data for register(bytes32,address)>')

// Eventually reclaim ownership of deed, when the registrar has been updated
deedHolder.claim(web3.sha3('node'))

安装(用于Web3项目)

您可以通过 /abi 文件夹,例如:. const DeedHolderAbi = require('@aragon/id/abi/DeedHolder.json).abi

发展中国家

npm install
npm test

版本与发布记录

@aragon/id 共发布 13 个版本,首次发布于 2018/02/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.1.1latest2020/01/316 年前
2.1.02019/07/137 年前
2.0.32018/10/298 年前
2.0.22018/10/268 年前
2.0.12018/10/128 年前
2.0.02018/10/088 年前

关于 @aragon/id 的常见问题

@aragon/id 是什么?

很可能是安全的 ENS 登记.

如何安装 @aragon/id?

在项目目录运行 npm install @aragon/id,或使用 pnpm add / yarn add / bun add。

@aragon/id 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/aragon__id 是否存在。

@aragon/id 可以商用吗?

@aragon/id 使用 GPL-3.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以 GPL-3.0 兼容许可开源,并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@aragon/id 的下载量有多少?

根据 npm 官方下载统计,@aragon/id 在 2026/10/07 – 2026/11/05 这 30 天内被下载 4,058 次,日均约 135 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aragon/id 还在维护吗?

最新版本 2.1.1 发布于 2020/01/31(6 年前);至今共发布 13 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/02/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。