@ocap/client 1.25.6 → 1.26.1

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.
Files changed (79) hide show
  1. package/README.md +77 -79
  2. package/dist/base.js +2 -2
  3. package/dist/base.js.map +1 -1
  4. package/dist/bundle.js +1 -1
  5. package/dist/extension.js +4 -4
  6. package/dist/extension.js.map +1 -1
  7. package/dist/report.html +2 -2
  8. package/docs/api-reference-client-methods.ja.md +38 -38
  9. package/docs/api-reference-client-methods.zh-TW.md +47 -47
  10. package/docs/api-reference-client-methods.zh.md +34 -34
  11. package/docs/api-reference-data-types.ja.md +20 -20
  12. package/docs/api-reference-data-types.zh-TW.md +17 -17
  13. package/docs/api-reference-data-types.zh.md +24 -24
  14. package/docs/api-reference-low-level-api.ja.md +49 -49
  15. package/docs/api-reference-low-level-api.zh-TW.md +48 -48
  16. package/docs/api-reference-low-level-api.zh.md +43 -43
  17. package/docs/api-reference-query-mutation-methods.ja.md +85 -85
  18. package/docs/api-reference-query-mutation-methods.zh-TW.md +140 -140
  19. package/docs/api-reference-query-mutation-methods.zh.md +141 -141
  20. package/docs/api-reference-transaction-helpers.ja.md +120 -120
  21. package/docs/api-reference-transaction-helpers.zh-TW.md +119 -119
  22. package/docs/api-reference-transaction-helpers.zh.md +153 -153
  23. package/docs/api-reference.ja.md +6 -6
  24. package/docs/api-reference.zh-TW.md +5 -5
  25. package/docs/api-reference.zh.md +8 -8
  26. package/docs/core-concepts-client-architecture.ja.md +26 -26
  27. package/docs/core-concepts-client-architecture.zh-TW.md +34 -34
  28. package/docs/core-concepts-client-architecture.zh.md +26 -26
  29. package/docs/core-concepts-event-subscriptions.ja.md +29 -29
  30. package/docs/core-concepts-event-subscriptions.zh-TW.md +23 -23
  31. package/docs/core-concepts-event-subscriptions.zh.md +29 -29
  32. package/docs/core-concepts-gas-payment.ja.md +27 -27
  33. package/docs/core-concepts-gas-payment.zh-TW.md +28 -28
  34. package/docs/core-concepts-gas-payment.zh.md +32 -32
  35. package/docs/core-concepts-transaction-lifecycle.ja.md +40 -40
  36. package/docs/core-concepts-transaction-lifecycle.zh-TW.md +43 -43
  37. package/docs/core-concepts-transaction-lifecycle.zh.md +49 -49
  38. package/docs/core-concepts.ja.md +7 -7
  39. package/docs/core-concepts.zh-TW.md +6 -6
  40. package/docs/core-concepts.zh.md +7 -7
  41. package/docs/getting-started-basic-usage.ja.md +24 -24
  42. package/docs/getting-started-basic-usage.zh-TW.md +28 -28
  43. package/docs/getting-started-basic-usage.zh.md +24 -24
  44. package/docs/getting-started-installation.ja.md +13 -13
  45. package/docs/getting-started-installation.zh-TW.md +9 -9
  46. package/docs/getting-started-installation.zh.md +15 -15
  47. package/docs/getting-started.ja.md +5 -5
  48. package/docs/getting-started.zh-TW.md +6 -6
  49. package/docs/getting-started.zh.md +6 -7
  50. package/docs/how-to-guides-delegate-permissions.ja.md +21 -21
  51. package/docs/how-to-guides-delegate-permissions.zh-TW.md +20 -21
  52. package/docs/how-to-guides-delegate-permissions.zh.md +18 -18
  53. package/docs/how-to-guides-manage-accounts.ja.md +21 -21
  54. package/docs/how-to-guides-manage-accounts.zh-TW.md +23 -23
  55. package/docs/how-to-guides-manage-accounts.zh.md +17 -17
  56. package/docs/how-to-guides-manage-assets.ja.md +137 -60
  57. package/docs/how-to-guides-manage-assets.md +77 -0
  58. package/docs/how-to-guides-manage-assets.zh-TW.md +116 -39
  59. package/docs/how-to-guides-manage-assets.zh.md +142 -65
  60. package/docs/how-to-guides-manage-tokens.ja.md +47 -47
  61. package/docs/how-to-guides-manage-tokens.zh-TW.md +49 -49
  62. package/docs/how-to-guides-manage-tokens.zh.md +34 -34
  63. package/docs/how-to-guides-stake-tokens-and-assets.ja.md +56 -56
  64. package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +55 -55
  65. package/docs/how-to-guides-stake-tokens-and-assets.zh.md +51 -51
  66. package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +45 -45
  67. package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +46 -46
  68. package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +37 -37
  69. package/docs/how-to-guides.ja.md +8 -8
  70. package/docs/how-to-guides.zh-TW.md +4 -4
  71. package/docs/how-to-guides.zh.md +6 -6
  72. package/docs/overview.ja.md +15 -15
  73. package/docs/overview.zh-TW.md +14 -14
  74. package/docs/overview.zh.md +12 -12
  75. package/lib/base.js +2 -2
  76. package/lib/base.js.map +1 -1
  77. package/lib/extension.js +4 -4
  78. package/lib/extension.js.map +1 -1
  79. package/package.json +16 -16
@@ -1,72 +1,72 @@
1
1
  # 交易生命周期
2
2
 
3
- 每一个修改区块链状态的操作,例如转移通证或创建资产,都是通过交易来执行的。理解交易的生命周期是使用 OCAP Client 构建应用的基础。此过程涉及四个主要阶段:准备、编码、签名和发送。
3
+ 每一个修改区块链状态的操作,例如转移通证或创建资产,都是通过交易来执行的。理解交易的生命周期是使用 OCAP 客户端构建应用程序的基础。此过程涉及四个主要阶段:准备、编码、签名和发送。
4
4
 
5
- OCAP Client 提供了一套灵活的方法,允许您为了最大程度的控制而单独执行这些步骤,或者为了方便而使用将它们组合在一起的高级辅助函数。
5
+ OCAP 客户端提供了一套灵活的方法,允许您单独执行这些步骤以实现最大程度的控制,或者使用高级辅助函数将它们组合起来以方便使用。
6
6
 
7
7
  本指南将分解每个阶段,并说明单签名和多签名工作流。
8
8
 
9
9
  ## 生命周期概览
10
10
 
11
- 下图说明了交易从准备到最终提交至区块链的完整过程。
11
+ 下图展示了一笔交易从准备到最终提交至区块链的完整过程。
12
12
 
13
- ```d2 Transaction Lifecycle Diagram
13
+ ```d2 交易生命周期图
14
14
  direction: down
15
15
 
16
16
  Start: {
17
- label: "1. Prepare Itx"
17
+ label: "1. 准备 Itx"
18
18
  shape: oval
19
19
  }
20
20
 
21
21
  Encode-Tx: {
22
- label: "2. Encode Transaction\n(encode<Type>Tx)"
22
+ label: "2. 编码交易\n(encode<Type>Tx)"
23
23
  shape: rectangle
24
24
  }
25
25
 
26
26
  Sign-Tx: {
27
- label: "3. Sign Transaction"
27
+ label: "3. 交易签名"
28
28
  shape: diamond
29
29
  }
30
30
 
31
31
  Single-Sign: {
32
- label: "Single Signature\n(sign<Type>Tx)"
32
+ label: "单签名\n(sign<Type>Tx)"
33
33
  shape: rectangle
34
34
  }
35
35
 
36
36
  Multi-Sign-Flow: {
37
- label: "Multi-Signature"
37
+ label: "多签名"
38
38
  shape: rectangle
39
39
 
40
40
  Multi-Sign-1: {
41
- label: "Signer 1\n(multiSign<Type>Tx)"
41
+ label: "签名者 1\n(multiSign<Type>Tx)"
42
42
  }
43
43
 
44
44
  Multi-Sign-2: {
45
- label: "Signer 2\n(multiSign<Type>Tx)"
45
+ label: "签名者 2\n(multiSign<Type>Tx)"
46
46
  }
47
47
 
48
48
  Multi-Sign-N: {
49
49
  label: "..."
50
50
  }
51
51
 
52
- Multi-Sign-1 -> Multi-Sign-2: "Pass signed TX"
53
- Multi-Sign-2 -> Multi-Sign-N: "Pass signed TX"
52
+ Multi-Sign-1 -> Multi-Sign-2: "传递已签名的交易"
53
+ Multi-Sign-2 -> Multi-Sign-N: "传递已签名的交易"
54
54
  }
55
55
 
56
56
  Send-Tx: {
57
- label: "4. Send Transaction\n(send<Type>Tx)"
57
+ label: "4. 发送交易\n(send<Type>Tx)"
58
58
  shape: rectangle
59
59
  }
60
60
 
61
61
  End: {
62
- label: "Transaction Hash"
62
+ label: "交易哈希"
63
63
  shape: oval
64
64
  }
65
65
 
66
66
  Start -> Encode-Tx
67
67
  Encode-Tx -> Sign-Tx
68
- Sign-Tx -> Single-Sign: "Single Signer"
69
- Sign-Tx -> Multi-Sign-Flow: "Multiple Signers"
68
+ Sign-Tx -> Single-Sign: "单个签名者"
69
+ Sign-Tx -> Multi-Sign-Flow: "多个签名者"
70
70
  Single-Sign -> Send-Tx
71
71
  Multi-Sign-Flow -> Send-Tx
72
72
  Send-Tx -> End
@@ -74,68 +74,68 @@ Send-Tx -> End
74
74
 
75
75
  ## 阶段 1:准备(创建 `itx`)
76
76
 
77
- 每笔交易都始于一个 `itx`(内部交易)。这是一个纯粹的 JavaScript 对象,包含了您想要执行的操作的具体数据。例如,一个转账 `itx` 会包含接收方的地址和金额。
77
+ 每笔交易都始于一个 `itx`(内部交易)。这是一个纯 JavaScript 对象,包含了您想要执行的操作的具体数据。例如,一个转账 `itx` 会包含接收者的地址和金额。
78
78
 
79
- ```javascript Preparing the itx icon=logos:javascript
79
+ ```javascript 准备 itx icon=logos:javascript
80
80
  // 我们转账交易的核心数据
81
81
  const itx = {
82
- to: 'z2C8j81aL2oXpA5t42s2h4g9o8p1k6m3n7b', // 接收方地址
83
- value: await client.fromTokenToUnit(10), // 要发送的金额,已转换为链的基本单位
82
+ to: 'z2C8j81aL2oXpA5t42s2h4g9o8p1k6m3n7b', // 接收者地址
83
+ value: await client.fromTokenToUnit(10), // 发送的金额,已转换为链的最小单位
84
84
  };
85
85
  ```
86
86
 
87
87
  ## 阶段 2:编码
88
88
 
89
- 编码将 `itx` 和其他元数据转换为一种标准化的二进制格式,以便进行加密签名。客户端为每种交易类型提供了一个 `encode{TxType}Tx` 方法(例如,`encodeTransferV2Tx`)。
89
+ 编码将 `itx` 和其他元数据转换为可进行加密签名的标准化二进制格式。客户端为每种交易类型都提供了一个 `encode{TxType}Tx` 方法(例如 `encodeTransferV2Tx`)。
90
90
 
91
91
  在此阶段,客户端会自动添加必要的元数据:
92
92
 
93
- * **`from`**:发送方地址,从提供的钱包中派生。
93
+ * **`from`**:发送者地址,从提供的钱包派生。
94
94
  * **`chainId`**:目标区块链的标识符,自动获取。
95
- * **`nonce`**:一个用于防止重放攻击的唯一数字,默认为当前时间戳(`Date.now()`)。
96
- * **`pk`**:发送方钱包的公钥。
95
+ * **`nonce`**:用于防止重放攻击的唯一数字,默认为当前时间戳 (`Date.now()`)。
96
+ * **`pk`**:发送者钱包的公钥。
97
97
 
98
- 编码函数会返回完整的交易对象和一个序列化数据的 `Buffer`,后者用于签名。
98
+ 编码函数返回完整的交易对象和用于签名的序列化数据 `Buffer`。
99
99
 
100
- ```javascript Encoding the Transaction icon=logos:javascript
100
+ ```javascript 编码交易 icon=logos:javascript
101
101
  const { object: encodedTx, buffer: txBuffer } = await client.encodeTransferV2Tx({
102
102
  tx: { itx },
103
103
  wallet: senderWallet,
104
104
  });
105
105
 
106
- console.log('编码后的交易对象:', encodedTx);
107
- console.log('待签名的 Buffer:', txBuffer);
106
+ console.log('Encoded TX Object:', encodedTx);
107
+ console.log('Buffer to be signed:', txBuffer);
108
108
  ```
109
109
 
110
110
  ## 阶段 3:签名
111
111
 
112
- 签名证明了账户的所有权并授权该交易。单签名和多签名工作流的过程有所不同。
112
+ 签名证明了账户的所有权并授权了该交易。单签名和多签名工作流的流程有所不同。
113
113
 
114
114
  ### 单签名工作流
115
115
 
116
- 这是最常见的场景,即单个用户签署一笔交易。`sign{TxType}Tx` 方法接收编码后的交易,使用用户的私钥对二进制缓冲区进行签名,并填充 `signature` 字段。
116
+ 这是最常见的情景,即单个用户对一笔交易进行签名。`sign{TxType}Tx` 方法接收编码后的交易,使用用户的私钥对二进制缓冲区进行签名,并填充 `signature` 字段。
117
117
 
118
- ```javascript Signing with a Single Signature icon=logos:javascript
118
+ ```javascript 使用单签名进行签名 icon=logos:javascript
119
119
  const signedTx = await client.signTransferV2Tx({
120
- tx: encodedTx, // 编码步骤中得到的对象
120
+ tx: encodedTx, // 来自编码步骤的对象
121
121
  wallet: senderWallet,
122
122
  });
123
123
 
124
- console.log('签名:', signedTx.signature);
124
+ console.log('Signature:', signedTx.signature);
125
125
  ```
126
126
 
127
127
  ### 多签名工作流
128
128
 
129
129
  多重签名(multisig)交易需要多方批准。这通常用于原子交换或共享账户。该过程是顺序的:
130
130
 
131
- 1. **准备**:创建初始交易时,需包含一个定义了所有必需签名者的 `signaturesList`。
132
- 2. **顺序签名**:交易从一个签名者传递到下一个。每个签名者使用相应的 `multiSign{TxType}Tx` 方法添加自己的签名。
131
+ 1. **准备**:创建初始交易时,需包含一个 `signaturesList`,其中定义了所有必需的签名者。
132
+ 2. **顺序签名**:交易从一个签名者传递到下一个。每个签名者使用相应的 `multiSign{TxType}Tx` 方法来添加他们的签名。
133
133
 
134
- 在内部,`multiSign` 方法通过在编码交易以进行签名之前临时剥离所有现有签名,来确保各方签署的是完全相同的交易摘要。
134
+ 在内部,`multiSign` 方法通过在编码交易进行签名之前临时剥离所有现有签名,来确保各方签署完全相同的交易摘要。
135
135
 
136
- 以下是一个关于 `ExchangeTx` 的示例,其中两方交换资产。
136
+ 以下是一个 `ExchangeTx` 的示例,其中两方交换资产。
137
137
 
138
- ```javascript Multi-Signature Signing Example icon=logos:javascript
138
+ ```javascript 多重签名示例 icon=logos:javascript
139
139
  // 步骤 1:Alice(报价方)准备并签署交换交易。
140
140
  const txFromAlice = await client.prepareExchange({
141
141
  offerToken: 10,
@@ -145,23 +145,23 @@ const txFromAlice = await client.prepareExchange({
145
145
  });
146
146
 
147
147
  // 步骤 2:将交易发送给 Bob。
148
- // Bob(需求方)添加他的签名以最终完成交易。
148
+ // Bob(需求方)添加他的签名以最终确定交易。
149
149
  const txFromBob = await client.finalizeExchange({
150
150
  tx: txFromAlice, // 由 Alice 签名的交易
151
151
  wallet: bobWallet,
152
152
  });
153
153
 
154
- console.log('Alice 的签名:', txFromBob.signaturesList[0].signature);
155
- console.log('Bob 的签名:', txFromBob.signaturesList[1].signature);
154
+ console.log('Alice\'s Signature:', txFromBob.signaturesList[0].signature);
155
+ console.log('Bob\'s Signature:', txFromBob.signaturesList[1].signature);
156
156
  ```
157
157
 
158
158
  ## 阶段 4:发送
159
159
 
160
- 一旦交易被完全签名,就可以发送到区块链节点进行处理。`send{TxType}Tx` 方法处理这最后一步。
160
+ 一旦交易被完全签名,就可以将其发送到区块链节点进行处理。`send{TxType}Tx` 方法处理这最后一步。
161
161
 
162
- 为方便起见,如果您提供一个钱包和一个未签名的交易,这些方法也可以隐式执行签名步骤。该方法返回一个 promise,在成功提交后会解析为交易哈希。
162
+ 为方便起见,如果您提供一个钱包和一个未签名的交易,这些方法也可以隐式执行签名步骤。该方法返回一个 promise,在成功提交后,该 promise 会解析为交易哈希。
163
163
 
164
- ```javascript Sending the Signed Transaction icon=logos:javascript
164
+ ```javascript 发送已签名的交易 icon=logos:javascript
165
165
  // 使用预先签名的交易
166
166
  const hash = await client.sendTransferV2Tx({ tx: signedTx, wallet: senderWallet });
167
167
 
@@ -171,13 +171,13 @@ const hash2 = await client.sendTransferV2Tx({
171
171
  wallet: senderWallet,
172
172
  });
173
173
 
174
- console.log('交易已发送!哈希:', hash);
174
+ console.log('Transaction sent! Hash:', hash);
175
175
  ```
176
176
 
177
- 您还可以包含一个 `commit: true` 选项,让客户端在解析 promise 之前,等待交易被完全确认并包含在区块中。
177
+ 您还可以包含一个 `commit: true` 选项,使客户端在解析 promise 之前,等待交易被完全确认并包含在区块中。
178
178
 
179
179
  ## 总结
180
180
 
181
- 交易生命周期为与区块链交互提供了一个强大而灵活的框架。通过将过程分解为准备、编码、签名和发送这几个不同阶段,OCAP Client 为开发者提供了对交易创建的精细控制,同时也为常见用例提供了简单的高级辅助函数。
181
+ 交易生命周期为与区块链交互提供了一个强大而灵活的框架。通过将过程分解为不同的阶段——准备、编码、签名和发送——OCAP 客户端为开发人员提供了对交易创建的精细控制,同时也为常见用例提供了简单的高级辅助函数。
182
182
 
183
- 有关如何处理交易费用的更多详情,请参阅[燃料费支付](./core-concepts-gas-payment.md)指南。要了解可用的不同客户端类型,请参阅[客户端架构](./core-concepts-client-architecture.md)文档。
183
+ 有关交易费用处理的更多详细信息,请参阅[燃料费支付](./core-concepts-gas-payment.md)指南。要了解可用的不同客户端类型,请参阅[客户端架构](./core-concepts-client-architecture.md)文档。
@@ -1,22 +1,22 @@
1
1
  # コアコンセプト
2
2
 
3
- このセクションでは、OCAP Client ライブラリを形成する基本原則とアーキテクチャ上の決定について詳しく説明します。これらのコアコンセプトを理解することで、ライブラリの可能性を最大限に引き出し、より効率的なコードを記述し、問題をより効果的にトラブルシューティングできるようになります。
3
+ このセクションでは、OCAP Clientライブラリを形成する基本原則とアーキテクチャ上の決定について詳しく説明します。これらのコアコンセプトを理解することで、ライブラリの潜在能力を最大限に活用し、より効率的なコードを記述し、問題をより効果的にトラブルシューティングできるようになります。
4
4
 
5
- [ハウツーガイド](./how-to-guides.md)では特定のタスクのステップバイステップの手順を説明していますが、このセクションではその「方法」の背後にある「理由」を説明します。クライアントの構造、トランザクションが最初から最後までどのように処理されるか、リアルタイムイベントのリッスン方法、そしてガスレスなユーザーエクスペリエンスの作成方法について探ります。
5
+ [ハウツーガイド](./how-to-guides.md)では特定のタスクについてステップバイステップの手順を説明していますが、このセクションでは「どのように」の背景にある「なぜ」を解説します。ここでは、クライアントの構造、トランザクションが最初から最後までどのように処理されるか、リアルタイムイベントをリッスンする方法、そしてガスレスなユーザーエクスペリエンスを作成する方法について探ります。
6
6
 
7
7
  <x-cards data-columns="2">
8
8
  <x-card data-title="クライアントアーキテクチャ" data-icon="lucide:architecture" data-href="/core-concepts/client-architecture">
9
- さまざまなクライアント実装(Node、ブラウザ、Lite)について学び、パフォーマンスとバンドルサイズを最適化するために、ご自身の環境に適したものを選択する方法を学びます。
9
+ さまざまなクライアント実装(Node、Browser、Lite)について学び、パフォーマンスとバンドルサイズを最適化するために、ご自身の環境に適したものを選択する方法を解説します。
10
10
  </x-card>
11
11
  <x-card data-title="トランザクションのライフサイクル" data-icon="lucide:refresh-cw" data-href="/core-concepts/transaction-lifecycle">
12
- 単純な JavaScript オブジェクトからチェーン上で確認済みのブロックになるまでのトランザクションの過程を追い、作成、エンコード、署名、ブロードキャストまでをカバーします。
12
+ 単純なJavaScriptオブジェクトからチェーン上で確認済みのブロックになるまでのトランザクションの過程を追い、作成、エンコード、署名、ブロードキャストについて説明します。
13
13
  </x-card>
14
14
  <x-card data-title="イベントサブスクリプション" data-icon="lucide:radio-tower" data-href="/core-concepts/event-subscriptions">
15
- WebSocket ベースのサブスクリプション機能を使用してリアルタイムのオンチェーンイベントをリッスンし、動的で応答性の高いアプリケーションを実現する方法を発見します。
15
+ WebSocketベースのサブスクリプション機能を使用してリアルタイムのオンチェーンイベントをリッスンし、ダイナミックでレスポンシブなアプリケーションを実現する方法を発見します。
16
16
  </x-card>
17
17
  <x-card data-title="ガス支払い" data-icon="lucide:gas-pump" data-href="/core-concepts/gas-payment">
18
- 指定されたウォレットがユーザーのトランザクション手数料を負担できるようにする強力なガス支払い機能を探索し、シームレスでガスレスな体験を創出します。
18
+ 指定されたウォレットがユーザーのトランザクション手数料を負担できるようにする強力なガス支払い機能を探求し、シームレスでガスレスな体験を創出します。
19
19
  </x-card>
20
20
  </x-cards>
21
21
 
22
- これらの基礎的なトピックを理解することで、OCAP Client を使用して、堅牢でスケーラブル、かつユーザーフレンドリーなアプリケーションを構築するための準備が整います。
22
+ これらの基礎的なトピックを把握することで、OCAP Clientを使用して、堅牢でスケーラブル、かつユーザーフレンドリーなアプリケーションを構築するための十分な準備が整います。
@@ -1,22 +1,22 @@
1
1
  # 核心概念
2
2
 
3
- 本節深入探討了 OCAP Client 程式庫的基本原則和架構決策。理解這些核心概念將有助於您充分發揮程式庫的潛力,撰寫更有效率的程式碼,並更有效地解決問題。
3
+ 本節深入探討塑造 OCAP Client 程式庫的基本原則與架構決策。了解這些核心概念將有助於您充分發揮程式庫的全部潛力、編寫更有效率的程式碼,並更有效地解決問題。
4
4
 
5
- [操作指南](./how-to-guides.md) 提供了特定任務的逐步說明,而本節則解釋了「如何做」背後的「為什麼」。我們將探討客戶端的結構、交易從開始到結束的處理過程、如何監聽即時事件,以及如何創造無 Gas 費的使用者體驗。
5
+ 雖然[操作指南](./how-to-guides.md)為特定任務提供了逐步說明,但本節解釋了「如何做」背後的「為什麼」。我們將探討客戶端的結構、交易如何從頭到尾被處理、如何監聽即時事件,以及如何創造無 Gas 費的使用者體驗。
6
6
 
7
7
  <x-cards data-columns="2">
8
8
  <x-card data-title="客戶端架構" data-icon="lucide:architecture" data-href="/core-concepts/client-architecture">
9
- 了解不同的客戶端實作(Node、Browser、Lite),以及如何為您的環境選擇合適的實作以優化效能和打包大小。
9
+ 了解不同的客戶端實作(Node、瀏覽器、精簡版),以及如何為您的環境選擇合適的實作以優化效能和套件大小。
10
10
  </x-card>
11
11
  <x-card data-title="交易生命週期" data-icon="lucide:refresh-cw" data-href="/core-concepts/transaction-lifecycle">
12
- 追蹤一筆交易從簡單的 JavaScript 物件到鏈上確認區塊的完整過程,涵蓋創建、編碼、簽署和廣播。
12
+ 追蹤一筆交易從簡單的 JavaScript 物件到鏈上確認區塊的整個過程,涵蓋了建立、編碼、簽署和廣播。
13
13
  </x-card>
14
14
  <x-card data-title="事件訂閱" data-icon="lucide:radio-tower" data-href="/core-concepts/event-subscriptions">
15
15
  探索如何使用基於 WebSocket 的訂閱功能來監聽即時的鏈上事件,從而實現動態且響應迅速的應用程式。
16
16
  </x-card>
17
17
  <x-card data-title="Gas 費支付" data-icon="lucide:gas-pump" data-href="/core-concepts/gas-payment">
18
- 探索強大的 Gas 費支付功能,該功能允許指定錢包為使用者支付交易費用,創造無縫、無 Gas 費的體驗。
18
+ 探索強大的 Gas 費支付功能,該功能允許指定的錢包為使用者贊助交易費用,從而創造無縫、無 Gas 費的體驗。
19
19
  </x-card>
20
20
  </x-cards>
21
21
 
22
- 掌握這些基礎主題後,您將能充分準備好使用 OCAP Client 建立穩健、可擴展且使用者友善的應用程式。
22
+ 透過掌握這些基礎主題,您將具備足夠的能力,使用 OCAP Client 來建構穩健、可擴展且使用者友善的應用程式。
@@ -1,22 +1,22 @@
1
1
  # 核心概念
2
2
 
3
- 本节深入探讨了构成 OCAP Client 库的基本原则和架构决策。理解这些核心概念将帮助您充分发挥该库的潜力,编写更高效的代码,并更有效地解决问题。
3
+ 本节深入探讨了构成 OCAP Client 库的基本原则和架构决策。理解这些核心概念将帮助您充分发挥该库的潜力,编写更高效的代码,并更有效地排查问题。
4
4
 
5
- 虽然[操作指南](./how-to-guides.md)为特定任务提供了分步说明,但本节解释了“如何做”背后的“为什么”。我们将探讨客户端的结构、交易从开始到结束的处理过程、如何监听实时事件以及如何创建无 Gas 费用的用户体验。
5
+ 虽然[操作指南](./how-to-guides.md)为特定任务提供了分步指导,但本节旨在解释“如何做”背后的“为什么”。我们将探讨客户端的结构、交易从开始到结束的处理过程、如何监听实时事件以及如何创建无 Gas 费用的用户体验。
6
6
 
7
7
  <x-cards data-columns="2">
8
8
  <x-card data-title="客户端架构" data-icon="lucide:architecture" data-href="/core-concepts/client-architecture">
9
- 了解不同的客户端实现(Node、Browser、Lite),以及如何为您的环境选择合适的实现以优化性能和包大小。
9
+ 了解不同的客户端实现(Node、浏览器、精简版),以及如何根据您的环境选择合适的实现以优化性能和包大小。
10
10
  </x-card>
11
11
  <x-card data-title="交易生命周期" data-icon="lucide:refresh-cw" data-href="/core-concepts/transaction-lifecycle">
12
- 追踪一笔交易从简单的 JavaScript 对象到链上确认块的全过程,包括创建、编码、签名和广播。
12
+ 追踪一笔交易从一个简单的 JavaScript 对象到链上确认区块的全过程,涵盖创建、编码、签名和广播。
13
13
  </x-card>
14
14
  <x-card data-title="事件订阅" data-icon="lucide:radio-tower" data-href="/core-concepts/event-subscriptions">
15
- 了解如何使用基于 WebSocket 的订阅功能来监听链上实时事件,从而实现动态和响应迅速的应用程序。
15
+ 了解如何使用基于 WebSocket 的订阅功能来监听实时链上事件,从而实现动态和响应迅速的应用程序。
16
16
  </x-card>
17
17
  <x-card data-title="Gas 费支付" data-icon="lucide:gas-pump" data-href="/core-concepts/gas-payment">
18
- 探索强大的 Gas 费支付功能,该功能允许指定钱包为用户代付交易费用,从而创造无缝、无需 Gas 费的体验。
18
+ 探索强大的 Gas 费支付功能,该功能允许指定钱包为用户代付交易费用,从而创造无缝、免 Gas 费的体验。
19
19
  </x-card>
20
20
  </x-cards>
21
21
 
22
- 通过掌握这些基础主题,您将能够使用 OCAP Client 构建稳健、可扩展且用户友好的应用程序。
22
+ 通过掌握这些基础主题,您将能更好地使用 OCAP Client 构建稳健、可扩展且用户友好的应用程序。
@@ -1,44 +1,44 @@
1
1
  # 基本的な使い方
2
2
 
3
- このガイドでは、OCAP Clientを使い始めるための基本的な手順を説明します。クライアントの初期化、ArcBlock Beta Chainへの接続、そしてすべてが正しく設定されていることを確認するための基本的なクエリの実行方法を学びます。
3
+ このガイドでは、OCAP Clientを使い始めるための基本的な手順を説明します。クライアントの初期化、ArcBlockベータチェーンへの接続、そしてすべてが正しく設定されていることを確認するための基本的なクエリの実行方法を学びます。
4
4
 
5
- このガイドに従うことで、わずか数分でブロックチェーンと対話する準備が整ったクライアントインスタンスを稼働させることができます。
5
+ このガイドに従うことで、わずか数分でブロックチェーンとやり取りできる、動作可能なクライアントインスタンスを準備できます。
6
6
 
7
7
  ## 1. クライアントの初期化
8
8
 
9
- まず、`@ocap/client` パッケージをインポートし、`GraphQLClient` のインスタンスを作成する必要があります。コンストラクタには、接続したいブロックチェーンノードのGraphQLエンドポイントを渡します。このガイドでは、ArcBlock Beta Chainの公開エンドポイントを使用します。
9
+ まず、`@ocap/client`パッケージをインポートし、`GraphQLClient`のインスタンスを作成する必要があります。コンストラクタは、接続したいブロックチェーンノードのGraphQLエンドポイントを引数に取ります。このガイドでは、ArcBlockベータチェーンの公開エンドポイントを使用します。
10
10
 
11
11
  ```javascript Initialize Client icon=logos:javascript
12
12
  const GraphQLClient = require('@ocap/client');
13
13
 
14
- // Beta Chainに接続
14
+ // ベータチェーンに接続
15
15
  const client = new GraphQLClient('https://beta.abtnetwork.io/api');
16
16
 
17
- console.log('OCAP Clientが初期化されました!');
17
+ console.log('OCAP Client initialized!');
18
18
  ```
19
19
 
20
- これにより、チェーンのクエリ、トランザクションの送信などのメソッドが事前設定されたクライアントインスタンスが作成されます。
20
+ これにより、チェーンへのクエリ、トランザクションの送信などのメソッドが事前設定されたクライアントインスタンスが作成されます。
21
21
 
22
- ## 2. ブロックチェーンのクエリ
22
+ ## 2. ブロックチェーンへのクエリ
23
23
 
24
- クライアントが初期化されたので、簡単な読み取り専用操作を実行して接続を確認できます。`getChainInfo` メソッドは、接続されたブロックチェーンに関する基本情報を取得し、認証を必要としないため、この目的に最適です。
24
+ クライアントが初期化されたので、簡単な読み取り専用操作を実行して接続を確認できます。`getChainInfo`メソッドは、接続されたブロックチェーンに関する基本情報を取得し、認証を必要としないため、この目的に最適です。
25
25
 
26
26
  ```javascript Query Chain Info icon=logos:javascript
27
27
  (async () => {
28
28
  try {
29
29
  const { info } = await client.getChainInfo();
30
- console.log('チェーン情報:', info);
30
+ console.log('Chain Info:', info);
31
31
  } catch (error) {
32
- console.error('チェーン情報の取得に失敗しました:', error);
32
+ console.error('Failed to get chain info:', error);
33
33
  }
34
34
  })();
35
35
  ```
36
36
 
37
- リクエストが成功すると、`info` オブジェクトがコンソールに出力されます。これには、チェーンのID、ネットワーク、サポートされているトランザクションタイプなどの詳細が含まれます。これにより、クライアントがブロックチェーンノードと正常に通信していることが確認できます。
37
+ リクエストが成功すると、`info`オブジェクトがコンソールに出力されます。これには、チェーンのID、ネットワーク、サポートされているトランザクションタイプなどの詳細が含まれます。これにより、クライアントがブロックチェーンノードと正常に通信していることが確認できます。
38
38
 
39
39
  ## 3. アカウントの準備
40
40
 
41
- トランザクション(書き込み操作)を送信するには、ウォレットが必要です。ローカルで新しいウォレットを生成できます。このウォレットは、オンチェーンでのアカウントIDを表します。
41
+ トランザクション(書き込み操作)を送信するには、ウォレットが必要です。新しいウォレットはローカルで生成できます。このウォレットは、あなたのオンチェーンアカウントのアイデンティティを表します。
42
42
 
43
43
  ```javascript Create a Wallet icon=logos:javascript
44
44
  const { fromRandom } = require('@ocap/wallet');
@@ -46,23 +46,23 @@ const { fromRandom } = require('@ocap/wallet');
46
46
  // 新しいランダムなウォレットを作成
47
47
  const wallet = fromRandom();
48
48
 
49
- console.log('新しいウォレットが作成されました:');
50
- console.log('アドレス:', wallet.address);
51
- console.log('公開鍵:', wallet.publicKey);
52
- console.log('秘密鍵:', wallet.secretKey);
49
+ console.log('New wallet created:');
50
+ console.log('Address:', wallet.address);
51
+ console.log('PublicKey:', wallet.publicKey);
52
+ console.log('SecretKey:', wallet.secretKey);
53
53
  ```
54
54
 
55
- **重要:** 新しく生成されたウォレットは単なるキーペアであり、まだブロックチェーン上には存在しません。アカウントは、そのアドレスが最初の受信トランザクションを受け取ったときに、オンチェーンで自動的に作成されます。
55
+ **重要:** 新しく生成されたウォレットは、単なるキーペアです。まだブロックチェーン上には存在しません。アカウントは、そのアドレスが最初の受信トランザクションを受け取ったときに、オンチェーンで自動的に作成されます。
56
56
 
57
- 新しいアカウントを有効にするには、テストトークンで資金を供給する必要があります。公式フォーセットからBeta Chain用の無料テストトークン(`TBA`)を入手できます:
57
+ 新しいアカウントを有効にするには、テストトークンで資金を供給する必要があります。ベータチェーン用の無料テストトークン(`TBA`)は、公式フォーセットから入手できます:
58
58
 
59
- <x-card data-title="ArcBlockフォーセット" data-icon="lucide:droplet" data-href="https://faucet.abtnetwork.io/" data-cta="テストトークンを取得">
59
+ <x-card data-title="ArcBlock Faucet" data-icon="lucide:droplet" data-href="https://faucet.abtnetwork.io/" data-cta="テストトークンを取得">
60
60
  フォーセットにアクセスし、新しく生成したアドレスにTBAを送信して有効化してください。
61
61
  </x-card>
62
62
 
63
63
  ## 4. アカウント状態のクエリ
64
64
 
65
- フォーセットを使って新しいアカウントに資金を入金したら、その状態をクエリして残高を確認できます。
65
+ フォーセットを使用して新しいアカウントに資金を供給したら、その状態をクエリして残高を確認できます。
66
66
 
67
67
  ```javascript Query Account State icon=logos:javascript
68
68
  (async () => {
@@ -71,17 +71,17 @@ console.log('秘密鍵:', wallet.secretKey);
71
71
  const address = wallet.address;
72
72
 
73
73
  const { state } = await client.getAccountState({ address });
74
- console.log('アカウント状態:', state);
74
+ console.log('Account State:', state);
75
75
  } catch (error) {
76
- console.error('アカウント状態の取得に失敗しました:', error);
76
+ console.error('Failed to get account state:', error);
77
77
  }
78
78
  })();
79
79
  ```
80
80
 
81
- レスポンスの `state` オブジェクトには、アカウントのアドレス、残高、ナンス(送信されたトランザクション数)、その他の詳細が含まれます。残高がゼロでないことを確認できれば、アカウントがフォーセットからトークンを受け取り、ブロックチェーン上で有効になったことが確定します。
81
+ レスポンスの`state`オブジェクトには、アカウントのアドレス、残高、nonce(送信済みトランザクション数)、その他の詳細が含まれます。ゼロ以外の残高が表示されれば、アカウントがフォーセットからトークンを受け取り、ブロックチェーン上で有効になったことが確認できます。
82
82
 
83
83
  ## 次のステップ
84
84
 
85
- これでOCAP Clientのセットアップ、ブロックチェーンへの接続、アカウントの確認が正常に完了しました。より高度な操作に進む準備が整いました。
85
+ これで、OCAP Clientのセットアップ、ブロックチェーンへの接続、アカウントの確認が正常に完了しました。より高度な操作を探求する準備が整いました。
86
86
 
87
87
  トークンの転送、アセットの管理などの一般的なタスクを実行する方法については、[ハウツーガイド](./how-to-guides.md)をご覧ください。
@@ -1,87 +1,87 @@
1
1
  # 基本用法
2
2
 
3
- 本指南將引導您完成開始使用 OCAP Client 的基本步驟。您將學習如何初始化客戶端、連接到 ArcBlock Beta Chain,並執行基本查詢以確保一切設定正確。
3
+ 本指南將引導您完成開始使用 OCAP Client 的基本步驟。您將學習如何初始化客戶端、連接到 ArcBlock Beta 鏈,並執行基本查詢以確保一切設定正確。
4
4
 
5
- 遵循本指南,您應可在幾分鐘內擁有一個可運作的客戶端實例,準備好與區塊鏈進行互動。
5
+ 遵循本指南,您應該能在幾分鐘內擁有一個可運作的客戶端實例,準備好與區塊鏈進行互動。
6
6
 
7
7
  ## 1. 初始化客戶端
8
8
 
9
- 首先,您需要匯入 `@ocap/client` 套件並建立一個 `GraphQLClient` 的實例。建構函式需要傳入您想連接的區塊鏈節點的 GraphQL 端點。在本指南中,我們將使用 ArcBlock Beta Chain 的公共端點。
9
+ 首先,您需要匯入 `@ocap/client` 套件並建立一個 `GraphQLClient` 的實例。建構函式需要傳入您想連接的區塊鏈節點的 GraphQL 端點。在本指南中,我們將使用 ArcBlock Beta 鏈的公開端點。
10
10
 
11
- ```javascript Initialize Client icon=logos:javascript
11
+ ```javascript 初始化客戶端 icon=logos:javascript
12
12
  const GraphQLClient = require('@ocap/client');
13
13
 
14
- // 連接到 Beta Chain
14
+ // 連接到 Beta
15
15
  const client = new GraphQLClient('https://beta.abtnetwork.io/api');
16
16
 
17
- console.log('OCAP Client 初始化完成!');
17
+ console.log('OCAP Client initialized!');
18
18
  ```
19
19
 
20
20
  這會建立一個客戶端實例,該實例已預先配置了查詢鏈、發送交易等方法。
21
21
 
22
22
  ## 2. 查詢區塊鏈
23
23
 
24
- 現在客戶端已初始化,您可以執行一個簡單的唯讀操作來驗證連接。`getChainInfo` 方法非常適合此目的,因為它會獲取有關所連接區塊鏈的基本資訊,且無需任何身份驗證。
24
+ 既然客戶端已初始化,您可以執行一個簡單的唯讀操作來驗證連接。`getChainInfo` 方法非常適合此用途,因為它會擷取有關所連接區塊鏈的基本資訊,且不需要任何身份驗證。
25
25
 
26
- ```javascript Query Chain Info icon=logos:javascript
26
+ ```javascript 查詢鏈資訊 icon=logos:javascript
27
27
  (async () => {
28
28
  try {
29
29
  const { info } = await client.getChainInfo();
30
- console.log('鏈資訊:', info);
30
+ console.log('Chain Info:', info);
31
31
  } catch (error) {
32
- console.error('獲取鏈資訊失敗:', error);
32
+ console.error('Failed to get chain info:', error);
33
33
  }
34
34
  })();
35
35
  ```
36
36
 
37
- 如果請求成功,`info` 物件將被記錄到控制台,其中包含有關鏈的詳細資訊,例如其 ID、網路和支援的交易類型。這確認了您的客戶端已成功與區塊鏈節點通訊。
37
+ 如果請求成功,`info` 物件將會被記錄到主控台,其中包含鏈的詳細資訊,例如其 ID、網路和支援的交易類型。這確認了您的客戶端已成功與區塊鏈節點通訊。
38
38
 
39
- ## 3. 準備一個帳戶
39
+ ## 3. 準備帳戶
40
40
 
41
- 要發送交易(寫入操作),您需要一個錢包。您可以在本地生成一個新錢包。這個錢包代表您在鏈上的帳戶身份。
41
+ 要發送交易(寫入操作),您需要一個錢包。您可以在本地產生一個新錢包。這個錢包代表您在鏈上的帳戶身份。
42
42
 
43
- ```javascript Create a Wallet icon=logos:javascript
43
+ ```javascript 建立錢包 icon=logos:javascript
44
44
  const { fromRandom } = require('@ocap/wallet');
45
45
 
46
46
  // 建立一個新的隨機錢包
47
47
  const wallet = fromRandom();
48
48
 
49
- console.log('新錢包已建立:');
50
- console.log('地址:', wallet.address);
51
- console.log('公鑰:', wallet.publicKey);
52
- console.log('私鑰:', wallet.secretKey);
49
+ console.log('New wallet created:');
50
+ console.log('Address:', wallet.address);
51
+ console.log('PublicKey:', wallet.publicKey);
52
+ console.log('SecretKey:', wallet.secretKey);
53
53
  ```
54
54
 
55
- **重要事項:** 新生成的錢包只是一個金鑰對。它尚未存在於區塊鏈上。當其地址收到第一筆傳入交易時,帳戶將在鏈上自動建立。
55
+ **重要提示:** 新產生的錢包只是一個金鑰對。它尚未存在於區塊鏈上。當其地址收到第一筆傳入交易時,帳戶將在鏈上自動建立。
56
56
 
57
- 要啟用您的新帳戶,您需要為其注資一些測試代幣。您可以從官方水龍頭獲取 Beta Chain 的免費測試代幣(`TBA`):
57
+ 為了讓您的新帳戶生效,您需要用一些測試代幣為其注資。您可以從官方水龍頭獲取 Beta 鏈的免費測試代幣(`TBA`):
58
58
 
59
59
  <x-card data-title="ArcBlock 水龍頭" data-icon="lucide:droplet" data-href="https://faucet.abtnetwork.io/" data-cta="獲取測試代幣">
60
- 訪問水龍頭並發送一些 TBA 到您新生成的地址以啟用它。
60
+ 訪問水龍頭並發送一些 TBA 到您新產生的地址以啟動它。
61
61
  </x-card>
62
62
 
63
63
  ## 4. 查詢帳戶狀態
64
64
 
65
- 使用水龍頭為您的新帳戶注資後,您可以查詢其狀態以驗證餘額。
65
+ 一旦您使用水龍頭為您的新帳戶注資後,您可以查詢其狀態以驗證餘額。
66
66
 
67
- ```javascript Query Account State icon=logos:javascript
67
+ ```javascript 查詢帳戶狀態 icon=logos:javascript
68
68
  (async () => {
69
69
  try {
70
- // 替換為您從水龍頭注資的地址
70
+ // 請替換為您從水龍頭注資的地址
71
71
  const address = wallet.address;
72
72
 
73
73
  const { state } = await client.getAccountState({ address });
74
- console.log('帳戶狀態:', state);
74
+ console.log('Account State:', state);
75
75
  } catch (error) {
76
- console.error('獲取帳戶狀態失敗:', error);
76
+ console.error('Failed to get account state:', error);
77
77
  }
78
78
  })();
79
79
  ```
80
80
 
81
- 回應中的 `state` 物件將包含您帳戶的地址、餘額、nonce(已發送的交易數量)以及其他詳細資訊。看到非零餘額即確認您的帳戶已從水龍頭收到代幣,並已在區塊鏈上啟用。
81
+ `state` 物件在回應中將包含您帳戶的地址、餘額、nonce(已發送的交易數量)以及其他詳細資訊。看到非零餘額即確認您的帳戶已從水龍頭收到代幣,並已在區塊鏈上啟用。
82
82
 
83
83
  ## 後續步驟
84
84
 
85
- 您已成功設定 OCAP Client、連接到區塊鏈並驗證了您的帳戶。現在您已準備好探索更進階的操作。
85
+ 您已成功設定 OCAP Client、連接到區塊鏈並驗證了您的帳戶。現在,您已準備好探索更進階的操作。
86
86
 
87
87
  查看 [操作指南](./how-to-guides.md) 以學習如何執行常見任務,例如轉移代幣、管理資產等。