3id- block 链式
此套件包含由 3ID 和 3Box 为创建和校验块链地址的链接而使用的一系列工具.
目录标签
安装
$ npm install --save 3id-blockchain-utils
使用量
导入软件包到您的工程中
import { createLink, validateLink, authenticate } from '3id-blockchain-utils'
使用库创建和校验链接 :
const did = 'did:3:bafypwg9834gf...'
const proof = await createLink(did, '0x123abc...', ethereumProvider)
console.log(proof)
const verified = await validateLink(proof)
if (verified) {
console.log('Proof is valid', proof)
} else {
console.log('Proof is invalid')
}
使用 3ID 认证库 :
await authenticate(message, '0x123abc...', ethereumProvider)
支持的块链
下面可以看到一个表格,其中列出支持的块链及其提供者对象.
| 区链 | CAIP-2 命名空间 | 支助提供者 |
|---|---|---|
| 以利亚 | 页:1 | 类似元水缸的乙醚供应商 |
| 文件币 | 过滤 | 文件币钱包提供者 |
维护者
添加区块链支持
如果您想要在 3ID 中添加对新块链的支持, 则此位置为此 。 此库使用 第10条 以不可知的方式代表账户。 如果想要添加的块链已经不是其中的一部分 加勒比空间方案 标准,你按住 确定它在那里.
要开始添加给定块链的支持, 添加路径的文件 : src/blockchains/<blockchain-name>.js。本模块需要导出三种功能:
createLink- 创建一个链接Proof 对象,将指定的账户ID与 DID 连接validateLink- 验证给定的链接证明authenticate- 签名消息,然后根据签名返回一些 en. 需要确定性
还需要导出一个常数 namespace此常数是一个字符串,包含 CAIP-2 联合国 链路命名空间 .
请看 src/blockchains/ethereum.js 以实例说明如何为 eip155 CAIP-2命名空间.
最终在区块链中添加支持 src/index.js只要把它加入到 handlers 阵列.
测试
通过运行测试代码 :
$ npm test
许可证
Apache-2.0或麻省理工学院