@ canton- network/ 核心提供者- 引导器
提供者 jSON Ledger API直接进入 执行
@canton-network/core-splice-provider 采用单一RPC型方法,
ledgerApi,由 @canton-network/core-ledger-client 超过HTTP.
在Node.js和浏览器中工作. 典型的使用情况:
- 传递一个实例到
@canton-network/wallet-sdk通过SDK.create({ ledgerProvider })(或让SDK从ledgerClientUrl+ auth) (中文(简体) ). - 打电话
ledgerApi直接来自工具、脚本或已有分类账的服务 证书.
如果你在建坎顿 (单位:千美元) 说到钱包,更喜欢
@canton-network/dapp-sdk
(和 @canton-network/core-provider-dapp相反.
发表于 无 下级 阿帕奇2.0 (英语).
安装
npm install @canton-network/core-provider-ledger
概览
flowchart LR
App["App / Wallet SDK"] --> LP["LedgerProvider"]
LP -->|"ledgerApi"| HTTP["HTTP"]
HTTP --> LAPI["JSON Ledger API"]
- 方法 :
ledgerApi只——参数编码resource, (中文(简体) ),requestMethod选择body编号 :path编号 :query - 运输: HTTP(由Canton JSON Ledger API要求)
- 认证 : 任意
AccessTokenProvider从@canton-network/core-wallet-auth(静态标志, 客户资格,自签,.)
使用量
import { LedgerProvider } from '@canton-network/core-provider-ledger'
import type { AccessTokenProvider } from '@canton-network/core-wallet-auth'
const accessTokenProvider: AccessTokenProvider = {
getAccessToken: async () => 'jwt...',
getAuthContext: async () => ({
userId: 'alice',
accessToken: 'jwt...',
}),
}
const provider = new LedgerProvider({
baseUrl: 'https://ledger-api.example.com',
accessTokenProvider,
})
const version = await provider.request({
method: 'ledgerApi',
params: {
resource: '/v2/version',
requestMethod: 'get',
},
})
类型
由于某些类型的推论限制,请求的返回类型崩溃到 unknown。为了帮助编译器,您可以提供与您在分类账Api中使用的操作相应的可选类型参数。 之后,反应被打得干净:
import { LedgerProvider, type Ops } from '@canton-network/core-provider-ledger'
const party = await provider.request<Ops.PostV2Parties>({
method: 'ledgerApi',
params: {
resource: '/v2/parties',
requestMethod: 'post',
body: {
partyHint: 'my-party',
},
},
})
console.log(party.partyDetails?.party)
操作类型由Ledger OpenAPI生成为面向供应商的联盟(参见
输入注释 core/splice-provider) (中文(简体) ).
请求数据
根据操作情况,提供一个或多个:
provider.request({
method: 'ledgerApi',
params: {
...,
body?: {
// usually for POST requests (JSON object body)
},
path?: {
// `path` arguments, usually for GET requests (i.e., `/v2/parties/{party-id}`)
"party-id": "some-party-id"
},
query?: {
// `query` params, usually for GET requests (i.e., `/v2/...?param=data`)
"param": "data"
}
}
})
让操作类型指南需要哪些字段 .
相关
| 软件包 | 作用 |
|---|---|
@canton-network/core-splice-provider | 提供者接口和 AbstractProvider |
@canton-network/core-provider-dapp | CIP- 103 同步/ Async 钱包提供者 |
@canton-network/core-ledger-client | JSON LAPI 客户端 |
@canton-network/core-wallet-auth | AccessTokenProvider 执行情况 |
@canton-network/wallet-sdk | 关于分类账访问的高级钱包工具 |