@ canton- network/ core- signing- dfns
此软件包提供了一个签名驱动程序,用于将钱包网关与 数字它执行 SigningDriverInterface 定义 @canton-network/core-signing-lib,允许钱包网关使用 Dfns 的基础设施管理密钥并签名交易.
安装
这个软件包是钱包网关(Wallet Gateway monorepo)的一部分,一般作为工作空间依赖性安装.
pnpm add @canton-network/core-signing-dfns
使用量
这个 DfnsSigningDriver 在钱包网关的签名架构内使用 它需要一个包含 Dfns 组织细节和证书的配置对象.
初始化
import DfnsSigningDriver, {
DfnsConfig,
DfnsCredentials,
} from '@canton-network/core-signing-dfns'
const credentials: DfnsCredentials = {
credId: 'your-credential-id',
privateKey: 'your-private-key',
authToken: 'your-auth-token',
}
const config: DfnsConfig = {
orgId: 'your-dfns-org-id',
baseUrl: 'https://api.dfns.io', // Dfns API URL
credentials,
}
const driver = new DfnsSigningDriver(config)
特征
Dfns是作为只签名的提供者:驱动程序创建了ed25519密钥并生成散列签名,而地形提交和分类账交互则发生于钱包网关上与其所配置的验证器(bring- your-own-validator)相对.
- 密钥管理数字 :
createKey:在 Dfns 中创建新的 ed25519 键.getKeys: 列出活动中符合州条件(EdDSA编号 :ed25519钥匙.
- 签名数字 :
signTransaction: 向 Dfns 提交一个散列签名请求, 以获取解析的密钥 。 立即以签名 ID 返回; 签名字节通过getTransactiondfns 报告请求时Signed。 。 。 .
- 签署情况数字 :
getTransaction:为先前提交的签名请求获取状态和签名.getTransactions:检索被id或公钥过滤的多签名.
- 配置数字 :
getConfiguration编号 :setConfiguration。 。 。 .
一体化
这个驱动程序是要注册到 SigningController 用于管理多个签名提供者的钱包网关.
// Example integration (conceptual)
import { SigningController } from '@canton-network/core-signing-internal' // or similar
const signingController = new SigningController()
signingController.registerDriver(driver)
配置
司机接受一个 DfnsConfig 对象 :
| 财产 | 类型 | 需求 | 说明 |
|---|---|---|---|
orgId | string | 对 | 你的Dfns组织ID. |
baseUrl | string | 对 | Dfns API 的基础 URL( 例如 ), https://api.dfns.io) (中文(简体) ). |
credentials | DfnsCredentials | 对 | 用来认证Dfns的证书. |
Dfns 证书
Dfns使用双层认证:一个长寿命的服务账户JWT外加每个请求用私钥签名.
| 财产 | 类型 | 说明 |
|---|---|---|
credId | string | 在服务账户上注册的Dfns证书的身份. |
privateKey | string | PEM 编码的私钥配对 credId中,将每个敏感的 Dfns API 请求作为 U2F 类的第二因子签名。 配置一次; 不从 authToken。 。 。 . |
authToken | string | Dfns仪表板发行的长寿服务账户持有人JWT. 不自动过期,也不从 privateKey编号 :credId;通过在仪表板上发布一新符来旋转. |
钱包网关配置
在运行钱包网关( 远程) 时, 列出 dfns 下级 signingProviders
选择提供者 。 配置网关配置中的非秘密值 :
signingProviders.dfns.orgId:你的Dfns组织ID.signingProviders.dfns.baseUrl: Dfns API 的基础 URL. 默认为https://api.dfns.io。 。 。 .signingProviders.dfns.credId: Dfns API 认证的默认证书ID.signingProviders.dfns.privateKeyEnv: 持有服务账户私钥的环境变量名称。 默认为DFNS_PRIVATE_KEY。 。 。 .signingProviders.dfns.authTokenEnv: 持有服务账户验证符的环境变量名称。 默认为DFNS_AUTH_TOKEN。 。 。 .
秘密值会留在这些环境变量中,从不存储在配置文件中.
若为 signingProviders 删去, DFNS_PRIVATE_KEY, (中文(简体) ), DFNS_AUTH_TOKEN, (中文(简体) ), DFNS_ORG_ID, (中文(简体) ),
DFNS_CRED_ID,以及 DFNS_BASE_URL 从环境读取。 非机密变量为
忽略一次 signingProviders 已存在.
示例用法:
{
"signingProviders": {
"dfns": {
"orgId": "your-org-id",
"baseUrl": "https://api.dfns.io",
"credId": "your-cred-id",
"privateKeyEnv": "DFNS_PRIVATE_KEY",
"authTokenEnv": "DFNS_AUTH_TOKEN"
}
}
}
州网络支助
键用 scheme: EdDSA 财务报告和审定财务报表 curve: ed25519。驱动程序只列出并解决 Active ed25519 键. 钱包网关负责通过自己的党派分配流将密钥绑入特定的Canton网络.
许可证
阿帕奇 - 2.0