@ocap/client 1.25.4 → 1.25.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/report.html +1 -1
- package/docs/api-reference-client-methods.ja.md +229 -0
- package/docs/api-reference-client-methods.zh-TW.md +229 -0
- package/docs/api-reference-client-methods.zh.md +27 -27
- package/docs/api-reference-data-types.ja.md +482 -0
- package/docs/api-reference-data-types.zh-TW.md +482 -0
- package/docs/api-reference-data-types.zh.md +14 -14
- package/docs/api-reference-low-level-api.ja.md +228 -0
- package/docs/api-reference-low-level-api.zh-TW.md +228 -0
- package/docs/api-reference-low-level-api.zh.md +39 -39
- package/docs/api-reference-query-mutation-methods.ja.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh.md +158 -158
- package/docs/api-reference-transaction-helpers.ja.md +649 -0
- package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
- package/docs/api-reference-transaction-helpers.zh.md +112 -112
- package/docs/api-reference.ja.md +23 -0
- package/docs/api-reference.zh-TW.md +23 -0
- package/docs/api-reference.zh.md +6 -6
- package/docs/core-concepts-client-architecture.ja.md +102 -0
- package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
- package/docs/core-concepts-client-architecture.zh.md +21 -21
- package/docs/core-concepts-event-subscriptions.ja.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh.md +22 -22
- package/docs/core-concepts-gas-payment.ja.md +111 -0
- package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
- package/docs/core-concepts-gas-payment.zh.md +30 -30
- package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh.md +51 -51
- package/docs/core-concepts.ja.md +22 -0
- package/docs/core-concepts.zh-TW.md +22 -0
- package/docs/core-concepts.zh.md +6 -6
- package/docs/getting-started-basic-usage.ja.md +87 -0
- package/docs/getting-started-basic-usage.zh-TW.md +87 -0
- package/docs/getting-started-basic-usage.zh.md +17 -17
- package/docs/getting-started-installation.ja.md +60 -0
- package/docs/getting-started-installation.zh-TW.md +60 -0
- package/docs/getting-started-installation.zh.md +14 -14
- package/docs/getting-started.ja.md +16 -0
- package/docs/getting-started.zh-TW.md +16 -0
- package/docs/getting-started.zh.md +6 -5
- package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh.md +27 -28
- package/docs/how-to-guides-manage-accounts.ja.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh.md +14 -14
- package/docs/how-to-guides-manage-assets.ja.md +255 -0
- package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
- package/docs/how-to-guides-manage-assets.zh.md +60 -60
- package/docs/how-to-guides-manage-tokens.ja.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh.md +52 -52
- package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
- package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +205 -0
- package/docs/how-to-guides-stake-tokens-and-assets.zh.md +44 -44
- package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +179 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +47 -47
- package/docs/how-to-guides.ja.md +27 -0
- package/docs/how-to-guides.zh-TW.md +27 -0
- package/docs/how-to-guides.zh.md +11 -11
- package/docs/overview.ja.md +70 -0
- package/docs/overview.zh-TW.md +70 -0
- package/docs/overview.zh.md +8 -8
- package/package.json +14 -14
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 转移通证和 NFT
|
|
2
2
|
|
|
3
|
-
本指南提供了使用 OCAP Client
|
|
3
|
+
本指南提供了使用 OCAP Client 在账户之间转移可替代通证(包括原生和自定义通证)和非可替代通证(NFT 或资产)的详细步骤。所有转移操作的主要方法是 `client.transfer()`。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
需要记住的一个关键特性是,当一个新账户首次接收到交易时,它会自动在链上创建。这意味着你可以将通证或资产转移到一个全新的地址,而无需接收方进行任何预先设置。
|
|
6
6
|
|
|
7
7
|
## `transfer` 方法
|
|
8
8
|
|
|
9
|
-
`client.transfer()`
|
|
9
|
+
`client.transfer()` 方法是一个多功能的辅助函数,它简化了发送资产和通证的过程。它通过一次调用即可构建、签名并将相应的交易(`transferV2Tx`)发送到区块链。
|
|
10
10
|
|
|
11
11
|
### 参数
|
|
12
12
|
|
|
13
13
|
<x-field-group>
|
|
14
14
|
<x-field data-name="to" data-type="string" data-required="true">
|
|
15
|
-
<x-field-desc markdown
|
|
15
|
+
<x-field-desc markdown>接收方的账户地址。这必须是一个有效的 DID 地址。</x-field-desc>
|
|
16
16
|
</x-field>
|
|
17
17
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="用于签署交易的发送方钱包对象。"></x-field>
|
|
18
18
|
<x-field data-name="token" data-type="number" data-default="0">
|
|
19
|
-
<x-field-desc markdown
|
|
19
|
+
<x-field-desc markdown>要转移的链上原生通证的数量。客户端会自动处理到正确小数单位的转换。</x-field-desc>
|
|
20
20
|
</x-field>
|
|
21
21
|
<x-field data-name="assets" data-type="string[]" data-default="[]" data-desc="要转移的资产地址(NFT)数组。"></x-field>
|
|
22
22
|
<x-field data-name="tokens" data-type="object[]" data-default="[]">
|
|
23
|
-
<x-field-desc markdown
|
|
24
|
-
<x-field data-name="address" data-type="string" data-required="true" data-desc="
|
|
25
|
-
<x-field data-name="value" data-type="number" data-required="true" data-desc="
|
|
23
|
+
<x-field-desc markdown>要转移的自定义可替代通证对象数组。</x-field-desc>
|
|
24
|
+
<x-field data-name="address" data-type="string" data-required="true" data-desc="自定义通证合约的地址。"></x-field>
|
|
25
|
+
<x-field data-name="value" data-type="number" data-required="true" data-desc="要转移的自定义通证的数量。"></x-field>
|
|
26
26
|
</x-field>
|
|
27
|
-
<x-field data-name="memo" data-type="string" data-required="false" data-desc="
|
|
27
|
+
<x-field data-name="memo" data-type="string" data-required="false" data-desc="交易中包含的可选消息或备注。"></x-field>
|
|
28
28
|
<x-field data-name="delegator" data-type="string" data-required="false">
|
|
29
|
-
<x-field-desc markdown>如果 `wallet`
|
|
29
|
+
<x-field-desc markdown>如果 `wallet` 代表另一个账户操作,则此项应为委托账户的地址。更多详情请参阅 [委托权限](./how-to-guides-delegate-permissions.md) 指南。</x-field-desc>
|
|
30
30
|
</x-field>
|
|
31
31
|
</x-field-group>
|
|
32
32
|
|
|
33
33
|
### 返回值
|
|
34
34
|
|
|
35
35
|
<x-field data-name="Promise<string>" data-type="Promise">
|
|
36
|
-
<x-field-desc markdown>一个 Promise
|
|
36
|
+
<x-field-desc markdown>一个 Promise,在成功提交到区块链后解析为交易哈希值。</x-field-desc>
|
|
37
37
|
</x-field>
|
|
38
38
|
|
|
39
39
|
## 分步示例
|
|
40
40
|
|
|
41
|
-
###
|
|
41
|
+
### 先决条件
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
在开始之前,请确保你已具备:
|
|
44
44
|
|
|
45
45
|
1. 一个已初始化并连接到链主机(如 `https://beta.abtnetwork.io`)的 `GraphQLClient`。
|
|
46
|
-
2. 一个发送方的钱包对象(`senderWallet
|
|
47
|
-
3. 一个接收方的钱包对象(`recipientWallet
|
|
46
|
+
2. 一个发送方的钱包对象(`senderWallet`),其中有足够的通证用于支付转账和交易费用。
|
|
47
|
+
3. 一个接收方的钱包对象(`recipientWallet`),用于获取其地址。接收方的账户无需事先在链上存在。
|
|
48
48
|
|
|
49
49
|
```javascript Basic Setup icon=logos:javascript
|
|
50
50
|
import GraphQLClient from '@ocap/client';
|
|
@@ -54,33 +54,33 @@ import { fromRandom } from '@ocap/wallet';
|
|
|
54
54
|
const client = new GraphQLClient({ endpoint: 'https://beta.abtnetwork.io/api' });
|
|
55
55
|
|
|
56
56
|
// 2. 为发送方和接收方创建钱包
|
|
57
|
-
//
|
|
57
|
+
// 在实际应用中,发送方的钱包应是加载而来,而不是随机创建的。
|
|
58
58
|
const senderWallet = fromRandom(); // 假设此钱包已有资金
|
|
59
59
|
const recipientWallet = fromRandom();
|
|
60
60
|
|
|
61
61
|
console.log(`发送方地址: ${senderWallet.address}`);
|
|
62
62
|
console.log(`接收方地址: ${recipientWallet.address}`);
|
|
63
63
|
|
|
64
|
-
//
|
|
64
|
+
// 要为此示例的发送方钱包充值,请使用水龙头:
|
|
65
65
|
// https://faucet.abtnetwork.io/
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
### 示例 1
|
|
68
|
+
### 示例 1:转移原生通证
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
此示例展示了如何从发送方向接收方发送 10 个原生通证。
|
|
71
71
|
|
|
72
72
|
```javascript Transfer Native Tokens icon=logos:javascript
|
|
73
73
|
async function transferNativeTokens() {
|
|
74
74
|
try {
|
|
75
75
|
const hash = await client.transfer({
|
|
76
76
|
to: recipientWallet.address,
|
|
77
|
-
token: 10, //
|
|
77
|
+
token: 10, // 要发送的原生通证数量
|
|
78
78
|
wallet: senderWallet,
|
|
79
|
-
memo: '
|
|
79
|
+
memo: '发送给你 10 个原生通证!'
|
|
80
80
|
});
|
|
81
|
-
console.log('
|
|
81
|
+
console.log('原生通证转移成功。交易哈希:', hash);
|
|
82
82
|
} catch (err) {
|
|
83
|
-
console.error('
|
|
83
|
+
console.error('转移通证时出错:', err);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -89,7 +89,7 @@ transferNativeTokens();
|
|
|
89
89
|
|
|
90
90
|
### 示例 2:转移 NFT(资产)
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
要转移一个 NFT,你需要其唯一的资产地址。首先,你需要创建或获取一个资产(参见 [管理资产 (NFTs)](./how-to-guides-manage-assets.md))。在本例中,我们假设 `senderWallet` 已经拥有一个地址为 `zNKj...` 的 NFT。
|
|
93
93
|
|
|
94
94
|
```javascript Transfer an NFT icon=logos:javascript
|
|
95
95
|
async function transferNFT() {
|
|
@@ -99,26 +99,26 @@ async function transferNFT() {
|
|
|
99
99
|
try {
|
|
100
100
|
const hash = await client.transfer({
|
|
101
101
|
to: recipientWallet.address,
|
|
102
|
-
assets: [nftAddress], //
|
|
102
|
+
assets: [nftAddress], // 一个资产地址数组
|
|
103
103
|
wallet: senderWallet,
|
|
104
|
-
memo: '
|
|
104
|
+
memo: '这是你想要的 NFT。'
|
|
105
105
|
});
|
|
106
|
-
console.log('NFT
|
|
106
|
+
console.log('NFT 转移成功。交易哈希:', hash);
|
|
107
107
|
} catch (err) {
|
|
108
|
-
console.error('转移 NFT
|
|
108
|
+
console.error('转移 NFT 时出错:', err);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
transferNFT();
|
|
113
113
|
```
|
|
114
114
|
|
|
115
|
-
### 示例 3
|
|
115
|
+
### 示例 3:转移自定义通证
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
此示例演示了如何转移自定义可替代通证。你需要该通证的合约地址。有关创建自定义通证的信息,请参阅 [管理通证](./how-to-guides-manage-tokens.md) 指南。
|
|
118
118
|
|
|
119
119
|
```javascript Transfer Custom Tokens icon=logos:javascript
|
|
120
120
|
async function transferCustomToken() {
|
|
121
|
-
// 假设这是 senderWallet
|
|
121
|
+
// 假设这是 senderWallet 拥有的一个自定义通证的地址
|
|
122
122
|
const customTokenAddress = 'z37bA4x...';
|
|
123
123
|
|
|
124
124
|
try {
|
|
@@ -126,13 +126,13 @@ async function transferCustomToken() {
|
|
|
126
126
|
to: recipientWallet.address,
|
|
127
127
|
wallet: senderWallet,
|
|
128
128
|
tokens: [
|
|
129
|
-
{ address: customTokenAddress, value: 50 } // 50
|
|
129
|
+
{ address: customTokenAddress, value: 50 } // 50 个单位的自定义通证
|
|
130
130
|
],
|
|
131
|
-
memo: '
|
|
131
|
+
memo: '发送 50 个自定义通证。'
|
|
132
132
|
});
|
|
133
|
-
console.log('
|
|
133
|
+
console.log('自定义通证转移成功。交易哈希:', hash);
|
|
134
134
|
} catch (err) {
|
|
135
|
-
console.error('
|
|
135
|
+
console.error('转移自定义通证时出错:', err);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
@@ -141,39 +141,39 @@ transferCustomToken();
|
|
|
141
141
|
|
|
142
142
|
### 示例 4:组合转移
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
你可以在一个单一的原子交易中同时发送原生通证、自定义通证和多个 NFT。这是非常高效的。
|
|
145
145
|
|
|
146
146
|
```javascript Combined Transfer icon=logos:javascript
|
|
147
147
|
async function combinedTransfer() {
|
|
148
|
-
// 假设这些是 senderWallet
|
|
148
|
+
// 假设这些是 senderWallet 拥有的资产和通证的地址
|
|
149
149
|
const nftAddress1 = 'zNKjL4wTmxQPk5nN2ADDPCd58286b2de3f3e';
|
|
150
150
|
const nftAddress2 = 'zNKiabcdeQPk5nN2ADDPCd58286b2defghj';
|
|
151
|
-
const customTokenAddress = 'z37bA4x...'; //
|
|
151
|
+
const customTokenAddress = 'z37bA4x...'; // 自定义可替代通证的地址
|
|
152
152
|
|
|
153
153
|
try {
|
|
154
154
|
const hash = await client.transfer({
|
|
155
155
|
to: recipientWallet.address,
|
|
156
156
|
wallet: senderWallet,
|
|
157
|
-
token: 5, // 5
|
|
157
|
+
token: 5, // 5 个原生通证
|
|
158
158
|
assets: [nftAddress1, nftAddress2], // 包含两个 NFT 的数组
|
|
159
159
|
tokens: [
|
|
160
|
-
{ address: customTokenAddress, value: 50 } // 50
|
|
160
|
+
{ address: customTokenAddress, value: 50 } // 50 个单位的自定义通证
|
|
161
161
|
],
|
|
162
|
-
memo: '
|
|
162
|
+
memo: '发送混合的通证和 NFT。'
|
|
163
163
|
});
|
|
164
|
-
console.log('
|
|
164
|
+
console.log('组合转移成功。交易哈希:', hash);
|
|
165
165
|
} catch (err) {
|
|
166
|
-
console.error('
|
|
166
|
+
console.error('组合转移时出错:', err);
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
combinedTransfer();
|
|
171
171
|
```
|
|
172
172
|
|
|
173
|
-
|
|
173
|
+
通过遵循这些示例,你可以轻松地在你的应用程序中实现通证和 NFT 的转移。有关创建你希望转移的项目的更多详细信息,请参阅相关指南。
|
|
174
174
|
|
|
175
|
-
###
|
|
175
|
+
### 拓展阅读
|
|
176
176
|
|
|
177
177
|
- [如何管理资产 (NFTs)](./how-to-guides-manage-assets.md)
|
|
178
|
-
- [
|
|
178
|
+
- [如何管理通证](./how-to-guides-manage-tokens.md)
|
|
179
179
|
- [高级 API](./api-reference-transaction-helpers.md)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# ハウツーガイド
|
|
2
|
+
|
|
3
|
+
このセクションでは、OCAP Clientを使用して一般的なタスクを完了するための実践的でステップバイステップの手順を説明します。各ガイドは、アカウントの管理から複雑なアトミックスワップの実行まで、特定の目標を達成するのに役立つ自己完結型のレシピとして設計されています。
|
|
4
|
+
|
|
5
|
+
<x-cards data-columns="2">
|
|
6
|
+
<x-card data-title="アカウントの管理" data-href="/how-to-guides/manage-accounts" data-icon="lucide:user-cog">
|
|
7
|
+
アカウントを新しいキーに移行するなど、アカウント関連の操作について説明します。
|
|
8
|
+
</x-card>
|
|
9
|
+
<x-card data-title="権限の委任" data-href="/how-to-guides/delegate-permissions" data-icon="lucide:key-round">
|
|
10
|
+
あなたに代わってトランザクションを送信するために別のアカウントを承認する方法を示し、許可されるアクションを指定します。
|
|
11
|
+
</x-card>
|
|
12
|
+
<x-card data-title="トークンとNFTの転送" data-href="/how-to-guides/transfer-tokens-and-nfts" data-icon="lucide:arrow-right-left">
|
|
13
|
+
ファンジブルトークンとノンファンジブルトークン(アセット)をアカウント間で転送するためのステップバイステップガイドを提供します。
|
|
14
|
+
</x-card>
|
|
15
|
+
<x-card data-title="アセット(NFT)の管理" data-href="/how-to-guides/manage-assets" data-icon="lucide:gem">
|
|
16
|
+
ファクトリーからのアセットの作成、更新、取得など、ノンファンジブルトークンの完全なライフサイクルを解説します。
|
|
17
|
+
</x-card>
|
|
18
|
+
<x-card data-title="トークンの管理" data-href="/how-to-guides/manage-tokens" data-icon="lucide:coins">
|
|
19
|
+
トークンファクトリーからトークンをミントおよびバーンするなどのファンジブルトークン操作の実行方法を説明します。
|
|
20
|
+
</x-card>
|
|
21
|
+
<x-card data-title="トークンとアセットのステーク" data-href="/how-to-guides/stake-tokens-and-assets" data-icon="lucide:piggy-bank">
|
|
22
|
+
トークンやアセットをレシーバーにステークする方法、ステークの取り消しや請求を含むステップバイステップガイドです。
|
|
23
|
+
</x-card>
|
|
24
|
+
<x-card data-title="アトミックスワップの実行" data-href="/how-to-guides/perform-atomic-swaps" data-icon="lucide:repeat">
|
|
25
|
+
マルチシグネチャトランザクションを使用して、2つの当事者間でトークンとアセットを安全に交換する方法に関するガイドです。
|
|
26
|
+
</x-card>
|
|
27
|
+
</x-cards>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# 操作指南
|
|
2
|
+
|
|
3
|
+
本節提供使用 OCAP 用戶端完成常見任務的實用、逐步說明。每個指南都設計成一個獨立的方案,幫助您完成特定目標,從管理帳戶到執行複雜的原子交換。
|
|
4
|
+
|
|
5
|
+
<x-cards data-columns="2">
|
|
6
|
+
<x-card data-title="管理帳戶" data-href="/how-to-guides/manage-accounts" data-icon="lucide:user-cog">
|
|
7
|
+
涵蓋與帳戶相關的操作,例如將帳戶遷移到新的金鑰。
|
|
8
|
+
</x-card>
|
|
9
|
+
<x-card data-title="委派權限" data-href="/how-to-guides/delegate-permissions" data-icon="lucide:key-round">
|
|
10
|
+
展示如何授權另一個帳戶代表您發送交易,並指定允許的操作。
|
|
11
|
+
</x-card>
|
|
12
|
+
<x-card data-title="轉移代幣和 NFT" data-href="/how-to-guides/transfer-tokens-and-nfts" data-icon="lucide:arrow-right-left">
|
|
13
|
+
提供在帳戶之間轉移同質化代幣和非同質化代幣(資產)的逐步指南。
|
|
14
|
+
</x-card>
|
|
15
|
+
<x-card data-title="管理資產(NFT)" data-href="/how-to-guides/manage-assets" data-icon="lucide:gem">
|
|
16
|
+
詳細介紹非同質化代幣的完整生命週期,包括從工廠創建、更新和獲取資產。
|
|
17
|
+
</x-card>
|
|
18
|
+
<x-card data-title="管理代幣" data-href="/how-to-guides/manage-tokens" data-icon="lucide:coins">
|
|
19
|
+
解釋如何執行同質化代幣操作,例如從代幣工廠鑄造和銷毀代幣。
|
|
20
|
+
</x-card>
|
|
21
|
+
<x-card data-title="質押代幣和資產" data-href="/how-to-guides/stake-tokens-and-assets" data-icon="lucide:piggy-bank">
|
|
22
|
+
關於如何將代幣或資產質押給接收者的逐步指南,包括撤銷和領取質押。
|
|
23
|
+
</x-card>
|
|
24
|
+
<x-card data-title="執行原子交換" data-href="/how-to-guides/perform-atomic-swaps" data-icon="lucide:repeat">
|
|
25
|
+
關於如何使用多重簽名交易在兩方之間安全交換代幣和資產的指南。
|
|
26
|
+
</x-card>
|
|
27
|
+
</x-cards>
|
package/docs/how-to-guides.zh.md
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
# 操作指南
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本节提供了使用 OCAP Client 完成常见任务的实用、分步说明。每个指南都设计成一个独立的方案,帮助您完成特定目标,从管理账户到执行复杂的原子交换。
|
|
4
4
|
|
|
5
5
|
<x-cards data-columns="2">
|
|
6
6
|
<x-card data-title="管理账户" data-href="/how-to-guides/manage-accounts" data-icon="lucide:user-cog">
|
|
7
|
-
|
|
7
|
+
涵盖与账户相关的操作,例如将账户迁移到新密钥。
|
|
8
8
|
</x-card>
|
|
9
9
|
<x-card data-title="委托权限" data-href="/how-to-guides/delegate-permissions" data-icon="lucide:key-round">
|
|
10
10
|
展示了如何授权另一个账户代表您发送交易,并指定允许的操作。
|
|
11
11
|
</x-card>
|
|
12
|
-
<x-card data-title="
|
|
13
|
-
|
|
12
|
+
<x-card data-title="转移通证和 NFT" data-href="/how-to-guides/transfer-tokens-and-nfts" data-icon="lucide:arrow-right-left">
|
|
13
|
+
提供了在账户之间转移同质化通证和非同质化通证(资产)的分步指南。
|
|
14
14
|
</x-card>
|
|
15
|
-
<x-card data-title="管理资产 (
|
|
16
|
-
|
|
15
|
+
<x-card data-title="管理资产 (NFT)" data-href="/how-to-guides/manage-assets" data-icon="lucide:gem">
|
|
16
|
+
逐步介绍非同质化通证的完整生命周期,包括创建、更新以及从工厂获取资产。
|
|
17
17
|
</x-card>
|
|
18
|
-
<x-card data-title="
|
|
19
|
-
|
|
18
|
+
<x-card data-title="管理通证" data-href="/how-to-guides/manage-tokens" data-icon="lucide:coins">
|
|
19
|
+
解释了如何执行同质化通证操作,例如从通证工厂铸造和销毁通证。
|
|
20
20
|
</x-card>
|
|
21
|
-
<x-card data-title="
|
|
22
|
-
|
|
21
|
+
<x-card data-title="质押通证和资产" data-href="/how-to-guides/stake-tokens-and-assets" data-icon="lucide:piggy-bank">
|
|
22
|
+
关于如何将通证或资产质押给接收者的分步指南,包括撤销和领取质押。
|
|
23
23
|
</x-card>
|
|
24
24
|
<x-card data-title="执行原子交换" data-href="/how-to-guides/perform-atomic-swaps" data-icon="lucide:repeat">
|
|
25
|
-
|
|
25
|
+
关于如何使用多重签名交易在两方之间安全交换通证和资产的指南。
|
|
26
26
|
</x-card>
|
|
27
27
|
</x-cards>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 概要
|
|
2
|
+
|
|
3
|
+
OCAP Clientは、アプリケーションをOCAP搭載のブロックチェーンに接続するために設計された、強力で汎用性の高いJavaScriptライブラリです。データの読み書き、デジタル資産の管理、オンチェーンイベントの監視を行うための、効率的で開発者に優しいインターフェースを提供します。このクライアントは、Node.jsまたはブラウザベースの環境で使用でき、バックエンドサービスとフロントエンドアプリケーションの両方に単一のソリューションを提供します。
|
|
4
|
+
|
|
5
|
+
このクライアントの核となるのは、トランザクションのエンコードと署名の複雑さを抽象化することで、ブロックチェーンとのインタラクションを簡素化することです。HTTP/Sを介してブロックチェーンノードとのすべての通信にGraphQL APIを使用しており、チェーンデータのクエリやトランザクションの送信が容易になります。
|
|
6
|
+
|
|
7
|
+
```d2 Client Architecture Overview icon=mdi:graphql
|
|
8
|
+
direction: down
|
|
9
|
+
|
|
10
|
+
your-app: {
|
|
11
|
+
label: "あなたのアプリケーション\n(Node.jsまたはブラウザ)"
|
|
12
|
+
shape: rectangle
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
ocap-client: {
|
|
16
|
+
label: "@ocap/client"
|
|
17
|
+
shape: rectangle
|
|
18
|
+
style.fill: "#f0f9ff"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ocap-node: {
|
|
22
|
+
label: "OCAP ブロックチェーンノード"
|
|
23
|
+
shape: cylinder
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
your-app -> ocap-client: "高レベルAPI呼び出し\n(例: transfer(), createAsset())"
|
|
27
|
+
ocap-client -> ocap-node: "GraphQLクエリ/ミューテーション (HTTP/S)\nイベントサブスクリプション (WebSocket)"
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 主な機能
|
|
32
|
+
|
|
33
|
+
OCAP Clientは、ブロックチェーン通信のさまざまな側面を処理するために、いくつかの異なるメソッドグループに整理されています。
|
|
34
|
+
|
|
35
|
+
<x-cards data-columns="2">
|
|
36
|
+
<x-card data-title="クエリ" data-icon="lucide:search">
|
|
37
|
+
ブロック、トランザクション、アカウントの状態、資産の詳細、および一般的なチェーン情報を含む、ブロックチェーンからあらゆるデータを読み取ります。
|
|
38
|
+
</x-card>
|
|
39
|
+
<x-card data-title="ミューテーションとセンダー" data-icon="lucide:send">
|
|
40
|
+
ブロックチェーンにデータを書き込みます。`transfer`や`createAsset`のような高レベルのヘルパーメソッドを使用して、トランザクションの準備、署名、送信を簡単に行います。
|
|
41
|
+
</x-card>
|
|
42
|
+
<x-card data-title="サブスクリプション" data-icon="lucide:radio-tower">
|
|
43
|
+
リアルタイムのオンチェーンイベントを監視します。トピックを購読し、WebSocket接続を介して発生した更新情報を受け取ります。
|
|
44
|
+
</x-card>
|
|
45
|
+
<x-card data-title="コーダーと署名者" data-icon="lucide:edit">
|
|
46
|
+
高度なユースケースでは、トランザクションを手動でエンコードおよび署名することができ、トランザクションのライフサイクルを完全に制御できます。
|
|
47
|
+
</x-card>
|
|
48
|
+
</x-cards>
|
|
49
|
+
|
|
50
|
+
### 重要な概念
|
|
51
|
+
|
|
52
|
+
- **アカウントの自動作成**: OCAP搭載のチェーンでは、最初に入金トランザクション(例:トークンの受信)を受け取ると、新しいアカウントが自動的にオンチェーンで作成されます。アカウントを初期化するために別のトランザクションは必要ありません。
|
|
53
|
+
|
|
54
|
+
- **ガスレストランザクション**: このクライアントは、指定された「ガス支払者」ウォレットが他のユーザーのトランザクション手数料を負担できるガス支払いメカニズムをサポートしています。これにより、アプリケーションのユーザーにシームレスでガス代無料の体験を提供できます。
|
|
55
|
+
|
|
56
|
+
### 次のステップ
|
|
57
|
+
|
|
58
|
+
開発を始める準備はできましたか?始めるのに役立つリンクをいくつか紹介します。
|
|
59
|
+
|
|
60
|
+
<x-cards data-columns="3">
|
|
61
|
+
<x-card data-title="はじめに" data-icon="lucide:rocket" data-href="/getting-started">
|
|
62
|
+
クライアントをインストールし、ベータチェーンに接続して、30分以内に最初のクエリを実行します。
|
|
63
|
+
</x-card>
|
|
64
|
+
<x-card data-title="ハウツーガイド" data-icon="lucide:book-open" data-href="/how-to-guides">
|
|
65
|
+
NFTの作成、トークンの転送、ステーキングなどの一般的なタスクについて、ステップバイステップのチュートリアルに従ってください。
|
|
66
|
+
</x-card>
|
|
67
|
+
<x-card data-title="APIリファレンス" data-icon="lucide:code" data-href="/api-reference">
|
|
68
|
+
すべてのメソッド、パラメータ、データ型に関する詳細情報については、完全なAPIドキュメントを参照してください。
|
|
69
|
+
</x-card>
|
|
70
|
+
</x-cards>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 總覽
|
|
2
|
+
|
|
3
|
+
OCAP Client 是一個功能強大且多功能的 JavaScript 函式庫,旨在將您的應用程式連接到由 OCAP 驅動的區塊鏈。它提供了一個精簡、對開發者友好的介面,用於讀取和寫入資料、管理數位資產以及監聽鏈上事件。該客戶端可用於任何 Node.js 或基於瀏覽器的環境,為後端服務和前端應用程式提供單一解決方案。
|
|
4
|
+
|
|
5
|
+
其核心是,該客戶端透過抽象化交易編碼和簽署的複雜性來簡化區塊鏈互動。它使用 GraphQL API 透過 HTTP/S 與區塊鏈節點進行所有通訊,讓查詢鏈上資料和提交交易變得容易。
|
|
6
|
+
|
|
7
|
+
```d2 Client Architecture Overview icon=mdi:graphql
|
|
8
|
+
direction: down
|
|
9
|
+
|
|
10
|
+
your-app: {
|
|
11
|
+
label: "您的應用程式\n(Node.js 或瀏覽器)"
|
|
12
|
+
shape: rectangle
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
ocap-client: {
|
|
16
|
+
label: "@ocap/client"
|
|
17
|
+
shape: rectangle
|
|
18
|
+
style.fill: "#f0f9ff"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ocap-node: {
|
|
22
|
+
label: "OCAP 區塊鏈節點"
|
|
23
|
+
shape: cylinder
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
your-app -> ocap-client: "高階 API 呼叫\n(例如:transfer(), createAsset())"
|
|
27
|
+
ocap-client -> ocap-node: "GraphQL 查詢/變更 (HTTP/S)\n事件訂閱 (WebSocket)"
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### 主要功能
|
|
32
|
+
|
|
33
|
+
OCAP Client 被組織成幾個不同的方法群組,以處理區塊鏈通訊的不同方面:
|
|
34
|
+
|
|
35
|
+
<x-cards data-columns="2">
|
|
36
|
+
<x-card data-title="查詢" data-icon="lucide:search">
|
|
37
|
+
從區塊鏈讀取任何資料,包括區塊、交易、帳戶狀態、資產詳情和一般鏈資訊。
|
|
38
|
+
</x-card>
|
|
39
|
+
<x-card data-title="變更與發送者" data-icon="lucide:send">
|
|
40
|
+
將資料寫入區塊鏈。使用像 `transfer` 或 `createAsset` 這樣的高階輔助方法來輕鬆準備、簽署和發送交易。
|
|
41
|
+
</x-card>
|
|
42
|
+
<x-card data-title="訂閱" data-icon="lucide:radio-tower">
|
|
43
|
+
監聽即時的鏈上事件。訂閱主題並透過 WebSocket 連線在事件發生時接收更新。
|
|
44
|
+
</x-card>
|
|
45
|
+
<x-card data-title="編碼器與簽署者" data-icon="lucide:edit">
|
|
46
|
+
對於進階使用案例,您可以手動編碼和簽署交易,從而完全控制交易的生命週期。
|
|
47
|
+
</x-card>
|
|
48
|
+
</x-cards>
|
|
49
|
+
|
|
50
|
+
### 重要概念
|
|
51
|
+
|
|
52
|
+
- **自動創建帳戶**:在由 OCAP 驅動的鏈上,當一個新帳戶收到其第一筆傳入交易(例如,接收代幣)時,會自動在鏈上創建。您不需要單獨的交易來初始化帳戶。
|
|
53
|
+
|
|
54
|
+
- **無 Gas 交易**:該客戶端支援一種 Gas 支付機制,其中指定的「Gas 支付者」錢包可以為其他使用者贊助交易費用。這使您能夠為應用程式的使用者創建無縫、無 Gas 的體驗。
|
|
55
|
+
|
|
56
|
+
### 下一步
|
|
57
|
+
|
|
58
|
+
準備好開始建構了嗎?這裡有一些有用的連結可以幫助您開始:
|
|
59
|
+
|
|
60
|
+
<x-cards data-columns="3">
|
|
61
|
+
<x-card data-title="入門指南" data-icon="lucide:rocket" data-href="/getting-started">
|
|
62
|
+
安裝客戶端,連接到 Beta 鏈,並在 30 分鐘內完成您的第一次查詢。
|
|
63
|
+
</x-card>
|
|
64
|
+
<x-card data-title="操作指南" data-icon="lucide:book-open" data-href="/how-to-guides">
|
|
65
|
+
遵循逐步教學,完成創建 NFT、轉移代幣和質押等常見任務。
|
|
66
|
+
</x-card>
|
|
67
|
+
<x-card data-title="API 參考" data-icon="lucide:code" data-href="/api-reference">
|
|
68
|
+
深入了解完整的 API 文件,以獲取有關每個方法、參數和資料類型的詳細資訊。
|
|
69
|
+
</x-card>
|
|
70
|
+
</x-cards>
|
package/docs/overview.zh.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# 概述
|
|
2
2
|
|
|
3
|
-
OCAP Client
|
|
3
|
+
OCAP Client 是一个功能强大且多功能的 JavaScript 库,旨在将您的应用程序连接到由 OCAP 驱动的区块链。它提供了一个简化的、对开发者友好的界面,用于读取和写入数据、管理数字资产以及监听链上事件。该客户端可用于任何 Node.js 或基于浏览器的环境,为后端服务和前端应用程序提供了单一解决方案。
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
该客户端的核心是通过抽象化交易编码和签名的复杂性来简化区块链交互。它使用 GraphQL API 通过 HTTP/S 与区块链节点进行所有通信,使得查询链上数据和提交交易变得简单。
|
|
6
6
|
|
|
7
|
-
```d2
|
|
7
|
+
```d2 Client Architecture Overview icon=mdi:graphql
|
|
8
8
|
direction: down
|
|
9
9
|
|
|
10
10
|
your-app: {
|
|
@@ -23,12 +23,12 @@ direction: down
|
|
|
23
23
|
shape: cylinder
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
your-app -> ocap-client: "
|
|
26
|
+
your-app -> ocap-client: "高阶 API 调用\n(例如,transfer(), createAsset())"
|
|
27
27
|
ocap-client -> ocap-node: "GraphQL 查询/变更 (HTTP/S)\n事件订阅 (WebSocket)"
|
|
28
28
|
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
###
|
|
31
|
+
### 主要功能
|
|
32
32
|
|
|
33
33
|
OCAP Client 被组织成几个不同的方法组,以处理区块链通信的不同方面:
|
|
34
34
|
|
|
@@ -37,7 +37,7 @@ OCAP Client 被组织成几个不同的方法组,以处理区块链通信的
|
|
|
37
37
|
从区块链读取任何数据,包括区块、交易、账户状态、资产详情和常规链信息。
|
|
38
38
|
</x-card>
|
|
39
39
|
<x-card data-title="变更与发送器" data-icon="lucide:send">
|
|
40
|
-
|
|
40
|
+
向区块链写入数据。使用 `transfer` 或 `createAsset` 等高阶辅助方法,轻松准备、签名和发送交易。
|
|
41
41
|
</x-card>
|
|
42
42
|
<x-card data-title="订阅" data-icon="lucide:radio-tower">
|
|
43
43
|
监听实时链上事件。订阅主题并通过 WebSocket 连接接收实时更新。
|
|
@@ -49,9 +49,9 @@ OCAP Client 被组织成几个不同的方法组,以处理区块链通信的
|
|
|
49
49
|
|
|
50
50
|
### 重要概念
|
|
51
51
|
|
|
52
|
-
-
|
|
52
|
+
- **自动创建账户**:在由 OCAP 驱动的链上,当新账户收到第一笔入账交易(例如,收到代币)时,会自动在链上创建该账户。您无需通过单独的交易来初始化账户。
|
|
53
53
|
|
|
54
|
-
- **无 Gas
|
|
54
|
+
- **无 Gas 费交易**:该客户端支持一种 Gas 费支付机制,其中指定的“Gas 费支付方”钱包可以为其他用户赞助交易费用。这使您能够为应用程序的用户创建无缝的、免 Gas 费的体验。
|
|
55
55
|
|
|
56
56
|
### 下一步
|
|
57
57
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ocap/client",
|
|
3
|
-
"version": "1.25.
|
|
3
|
+
"version": "1.25.6",
|
|
4
4
|
"description": "graphql client to read/write data on arcblock blockchain",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"graphql",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
"react-app-polyfill": "^1.0.6",
|
|
41
41
|
"readable-stream": "3.6.0",
|
|
42
42
|
"wolfy87-eventemitter": "^5.2.9",
|
|
43
|
-
"@arcblock/did": "1.25.
|
|
44
|
-
"@arcblock/did-util": "1.25.
|
|
45
|
-
"@arcblock/jwt": "1.25.
|
|
46
|
-
"@arcblock/ws": "1.25.
|
|
47
|
-
"@ocap/asset": "1.25.
|
|
48
|
-
"@ocap/mcrypto": "1.25.
|
|
49
|
-
"@ocap/message": "1.25.
|
|
50
|
-
"@ocap/proto": "1.25.
|
|
51
|
-
"@ocap/tx-util": "1.25.
|
|
52
|
-
"@ocap/util": "1.25.
|
|
53
|
-
"@ocap/wallet": "1.25.
|
|
43
|
+
"@arcblock/did": "1.25.6",
|
|
44
|
+
"@arcblock/did-util": "1.25.6",
|
|
45
|
+
"@arcblock/jwt": "1.25.6",
|
|
46
|
+
"@arcblock/ws": "1.25.6",
|
|
47
|
+
"@ocap/asset": "1.25.6",
|
|
48
|
+
"@ocap/mcrypto": "1.25.6",
|
|
49
|
+
"@ocap/message": "1.25.6",
|
|
50
|
+
"@ocap/proto": "1.25.6",
|
|
51
|
+
"@ocap/tx-util": "1.25.6",
|
|
52
|
+
"@ocap/util": "1.25.6",
|
|
53
|
+
"@ocap/wallet": "1.25.6"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"babel-cli": "^6.26.0",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"webpack": "^5.94.0",
|
|
72
72
|
"webpack-bundle-analyzer": "^4.10.2",
|
|
73
73
|
"webpack-cli": "^5.1.4",
|
|
74
|
-
"@ocap/e2e-test": "1.25.
|
|
75
|
-
"@ocap/tx-protocols": "1.25.
|
|
74
|
+
"@ocap/e2e-test": "1.25.6",
|
|
75
|
+
"@ocap/tx-protocols": "1.25.6"
|
|
76
76
|
},
|
|
77
77
|
"remarkConfig": {
|
|
78
78
|
"plugins": [
|