@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.
Files changed (68) hide show
  1. package/dist/report.html +1 -1
  2. package/docs/api-reference-client-methods.ja.md +229 -0
  3. package/docs/api-reference-client-methods.zh-TW.md +229 -0
  4. package/docs/api-reference-client-methods.zh.md +27 -27
  5. package/docs/api-reference-data-types.ja.md +482 -0
  6. package/docs/api-reference-data-types.zh-TW.md +482 -0
  7. package/docs/api-reference-data-types.zh.md +14 -14
  8. package/docs/api-reference-low-level-api.ja.md +228 -0
  9. package/docs/api-reference-low-level-api.zh-TW.md +228 -0
  10. package/docs/api-reference-low-level-api.zh.md +39 -39
  11. package/docs/api-reference-query-mutation-methods.ja.md +814 -0
  12. package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
  13. package/docs/api-reference-query-mutation-methods.zh.md +158 -158
  14. package/docs/api-reference-transaction-helpers.ja.md +649 -0
  15. package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
  16. package/docs/api-reference-transaction-helpers.zh.md +112 -112
  17. package/docs/api-reference.ja.md +23 -0
  18. package/docs/api-reference.zh-TW.md +23 -0
  19. package/docs/api-reference.zh.md +6 -6
  20. package/docs/core-concepts-client-architecture.ja.md +102 -0
  21. package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
  22. package/docs/core-concepts-client-architecture.zh.md +21 -21
  23. package/docs/core-concepts-event-subscriptions.ja.md +123 -0
  24. package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
  25. package/docs/core-concepts-event-subscriptions.zh.md +22 -22
  26. package/docs/core-concepts-gas-payment.ja.md +111 -0
  27. package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
  28. package/docs/core-concepts-gas-payment.zh.md +30 -30
  29. package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
  30. package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
  31. package/docs/core-concepts-transaction-lifecycle.zh.md +51 -51
  32. package/docs/core-concepts.ja.md +22 -0
  33. package/docs/core-concepts.zh-TW.md +22 -0
  34. package/docs/core-concepts.zh.md +6 -6
  35. package/docs/getting-started-basic-usage.ja.md +87 -0
  36. package/docs/getting-started-basic-usage.zh-TW.md +87 -0
  37. package/docs/getting-started-basic-usage.zh.md +17 -17
  38. package/docs/getting-started-installation.ja.md +60 -0
  39. package/docs/getting-started-installation.zh-TW.md +60 -0
  40. package/docs/getting-started-installation.zh.md +14 -14
  41. package/docs/getting-started.ja.md +16 -0
  42. package/docs/getting-started.zh-TW.md +16 -0
  43. package/docs/getting-started.zh.md +6 -5
  44. package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
  45. package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
  46. package/docs/how-to-guides-delegate-permissions.zh.md +27 -28
  47. package/docs/how-to-guides-manage-accounts.ja.md +73 -0
  48. package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
  49. package/docs/how-to-guides-manage-accounts.zh.md +14 -14
  50. package/docs/how-to-guides-manage-assets.ja.md +255 -0
  51. package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
  52. package/docs/how-to-guides-manage-assets.zh.md +60 -60
  53. package/docs/how-to-guides-manage-tokens.ja.md +179 -0
  54. package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
  55. package/docs/how-to-guides-manage-tokens.zh.md +52 -52
  56. package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
  57. package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +205 -0
  58. package/docs/how-to-guides-stake-tokens-and-assets.zh.md +44 -44
  59. package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
  60. package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +179 -0
  61. package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +47 -47
  62. package/docs/how-to-guides.ja.md +27 -0
  63. package/docs/how-to-guides.zh-TW.md +27 -0
  64. package/docs/how-to-guides.zh.md +11 -11
  65. package/docs/overview.ja.md +70 -0
  66. package/docs/overview.zh-TW.md +70 -0
  67. package/docs/overview.zh.md +8 -8
  68. package/package.json +14 -14
package/dist/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@ocap/client [27 Sep 2025 at 08:11]</title>
6
+ <title>@ocap/client [1 Oct 2025 at 09:30]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -0,0 +1,229 @@
1
+ # ヘルパーメソッド
2
+
3
+ `GraphQLClient`クラスは、OCAPを利用したブロックチェーンと対話するための主要なインターフェースです。チェーンの状態をクエリし、トランザクションを送信し、リアルタイムイベントをサブスクライブするための包括的なメソッドセットを提供します。Node.jsとブラウザの両方の環境でシームレスに動作するように設計されています。
4
+
5
+ ```javascript Client Initialization icon=logos:javascript
6
+ const GraphQLClient = require('@ocap/client');
7
+
8
+ // Connect to the Beta chain
9
+ const client = new GraphQLClient('https://beta.abtnetwork.io/api');
10
+
11
+ (async () => {
12
+ const res = await client.getChainInfo();
13
+ console.log('Connected to chain:', res.info.network);
14
+ })();
15
+ ```
16
+
17
+ このセクションでは、`GraphQLClient`クラスのコアヘルパーメソッドについて詳しく説明します。
18
+
19
+ ## コンストラクタ
20
+
21
+ ### new GraphQLClient(endpoint, autoInit)
22
+
23
+ `GraphQLClient`の新しいインスタンスを作成します。
24
+
25
+ **パラメータ**
26
+
27
+ <x-field-group>
28
+ <x-field data-name="endpoint" data-type="string" data-required="true">
29
+ <x-field-desc markdown>ブロックチェーンノードのGraphQLエンドポイントの絶対URL(例:`https://beta.abtnetwork.io/api`)。</x-field-desc>
30
+ </x-field>
31
+ <x-field data-name="autoInit" data-type="boolean" data-default="true" data-required="false">
32
+ <x-field-desc markdown>`true`の場合、クライアントは初期化時に重要なチェーン情報(「コンテキスト」)を自動的に取得してキャッシュします。これはほとんどのユースケースで推奨されます。</x-field-desc>
33
+ </x-field>
34
+ </x-field-group>
35
+
36
+ **例**
37
+
38
+ ```javascript Creating a Client Instance icon=logos:javascript
39
+ const client = new GraphQLClient('https://beta.abtnetwork.io/api', true);
40
+ ```
41
+
42
+ ---
43
+
44
+ ## コアメソッド
45
+
46
+ これらのメソッドは、クライアントおよびチェーンと対話するための基本的な機能を提供します。
47
+
48
+ ### getContext()
49
+
50
+ チェーンID、ネイティブトークンの詳細、トランザクション手数料の設定など、重要なチェーン情報を取得してキャッシュします。このメソッドは、コンストラクタで`autoInit`が有効になっている場合に自動的に呼び出されます。その後の呼び出しでは、キャッシュされたコンテキストが返されます。
51
+
52
+ **戻り値**
53
+
54
+ <x-field data-name="Promise<object>" data-type="object" data-desc="チェーンメタデータを含むコンテキストオブジェクトに解決されるPromise。">
55
+ <x-field data-name="chainId" data-type="string" data-desc="ブロックチェーンネットワークの一意の識別子。"></x-field>
56
+ <x-field data-name="consensus" data-type="string" data-desc="コンセンサスエンジンのバージョン。"></x-field>
57
+ <x-field data-name="token" data-type="object" data-desc="ネイティブトークンに関する情報。">
58
+ <x-field data-name="address" data-type="string" data-desc="ネイティブトークンコントラクトのアドレス。"></x-field>
59
+ <x-field data-name="decimal" data-type="number" data-desc="ネイティブトークンの小数点以下の桁数。"></x-field>
60
+ <x-field data-name="symbol" data-type="string" data-desc="ネイティブトークンのシンボル(例:TBA)。"></x-field>
61
+ </x-field>
62
+ <x-field data-name="txConfig" data-type="object" data-desc="トランザクション手数料とガスの設定。"></x-field>
63
+ </x-field>
64
+
65
+ **例**
66
+
67
+ ```javascript Fetching Chain Context icon=logos:javascript
68
+ async function logChainToken() {
69
+ const context = await client.getContext();
70
+ console.log(`Native Token Symbol: ${context.token.symbol}`);
71
+ }
72
+
73
+ logChainToken();
74
+ ```
75
+
76
+ ### setGasPayer(wallet)
77
+
78
+ ウォレットを「ガス支払者」として機能するように設定します。設定されると、このウォレットはこのクライアントインスタンスを介して送信されるトランザクションのトランザクション手数料を負担し、ユーザーにガスレスな体験を提供します。詳細については、[ガス支払い](./core-concepts-gas-payment.md)のコンセプトガイドを参照してください。
79
+
80
+ **パラメータ**
81
+
82
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true">
83
+ <x-field-desc markdown>`address`、`publicKey`、`secretKey`プロパティを持ち、`sign`メソッドを備えたウォレットオブジェクト。</x-field-desc>
84
+ </x-field>
85
+
86
+ ### decodeTx(input)
87
+
88
+ さまざまな形式のトランザクションを、人間が読めるJavaScriptオブジェクトに逆シリアル化します。
89
+
90
+ **パラメータ**
91
+
92
+ <x-field data-name="input" data-type="Buffer | string" data-required="true">
93
+ <x-field-desc markdown>デコードするトランザクションデータ。`Buffer`または`hex`、`base58`、`base64`形式の文字列です。</x-field-desc>
94
+ </x-field>
95
+
96
+ **戻り値**
97
+
98
+ <x-field data-name="object" data-type="object" data-desc="デコードされたトランザクションオブジェクト。"></x-field>
99
+
100
+ ### getType(name)
101
+
102
+ 指定された型名のProtobufメッセージクラスを取得します。これは、Protobufメッセージを手動で構築または検査する必要がある高度なシナリオで役立ちます。
103
+
104
+ **パラメータ**
105
+
106
+ <x-field data-name="name" data-type="string" data-required="true" data-desc="Protobufメッセージタイプの名前(例:'Transaction'、'TransferTx')。"></x-field>
107
+
108
+ **戻り値**
109
+
110
+ <x-field data-name="class | null" data-type="object" data-desc="メッセージクラスのコンストラクタ。見つからない場合はnull。"></x-field>
111
+
112
+ ---
113
+
114
+ ## イベントサブスクリプション
115
+
116
+ クライアントはWebSocketを介したリアルタイムのイベントサブスクリプションをサポートしており、アプリケーションがオンチェーンイベントに即座に反応できるようにします。
117
+
118
+ ### subscribe(topic, callback)
119
+
120
+ WebSocket接続を確立し、特定のイベントトピックをサブスクライブします。
121
+
122
+ **パラメータ**
123
+
124
+ <x-field-group>
125
+ <x-field data-name="topic" data-type="string" data-required="true" data-desc="サブスクライブするイベントトピック(例:'newBlock'、'tx:transfer')。"></x-field>
126
+ <x-field data-name="callback" data-type="function" data-required="true" data-desc="イベントが受信されたときに実行される関数。唯一の引数としてイベントペイロードを受け取ります。"></x-field>
127
+ </x-field-group>
128
+
129
+ ### unsubscribe(topic, callback)
130
+
131
+ 特定のトピックに対して以前に登録されたコールバックを削除します。
132
+
133
+ **パラメータ**
134
+
135
+ <x-field-group>
136
+ <x-field data-name="topic" data-type="string" data-required="true" data-desc="サブスクライブを解除するイベントトピック。"></x-field>
137
+ <x-field data-name="callback" data-type="function" data-required="true" data-desc="削除する特定のコールバック関数。"></x-field>
138
+ </x-field-group>
139
+
140
+ **例**
141
+
142
+ ```javascript Subscribing to New Blocks icon=logos:javascript
143
+ const handleNewBlock = (block) => {
144
+ console.log(`New block received! Height: ${block.height}`);
145
+
146
+ // 1つのブロックを受け取った後にサブスクリプションを解除
147
+ client.unsubscribe('newBlock', handleNewBlock);
148
+ console.log('Unsubscribed from newBlock events.');
149
+ };
150
+
151
+ client.subscribe('newBlock', handleNewBlock);
152
+ console.log('Subscribed to newBlock events...');
153
+ ```
154
+
155
+ ---
156
+
157
+ ## トークンユーティリティメソッド
158
+
159
+ これらのヘルパーは、人間が読めるトークン量とオンチェーンの基本単位表現との間の変換を簡素化します。
160
+
161
+ ### fromUnitToToken(value)
162
+
163
+ ネイティブトークンの小数点以下の桁数に基づいて、チェーンの基本単位(大きな整数文字列)の値を標準の10進数文字列に変換します。
164
+
165
+ **パラメータ**
166
+
167
+ <x-field data-name="value" data-type="string" data-required="true" data-desc="チェーンの基本単位での量。"></x-field>
168
+
169
+ **戻り値**
170
+
171
+ <x-field data-name="string" data-type="string" data-desc="標準トークン単位での量。"></x-field>
172
+
173
+ ### fromTokenToUnit(amount)
174
+
175
+ 標準の10進数量をチェーンの基本単位表現(BN.jsインスタンス)に変換します。
176
+
177
+ **パラメータ**
178
+
179
+ <x-field data-name="amount" data-type="number | string" data-required="true" data-desc="標準の10進数形式でのトークン量。"></x-field>
180
+
181
+ **戻り値**
182
+
183
+ <x-field data-name="BN" data-type="object" data-desc="チェーンの基本単位での値を表すBN.jsインスタンス。"></x-field>
184
+
185
+ **例**
186
+
187
+ ```javascript Token Amount Conversion icon=logos:javascript
188
+ async function convertToken() {
189
+ // 100 TBAをその基本単位に変換
190
+ const unitAmount = await client.fromTokenToUnit(100);
191
+ console.log(`100 TBA is ${unitAmount.toString()} in base units.`);
192
+
193
+ // 元に戻す
194
+ const tokenAmount = await client.fromUnitToToken(unitAmount.toString());
195
+ console.log(`${unitAmount.toString()} base units is ${tokenAmount} TBA.`);
196
+ }
197
+
198
+ convertToken();
199
+ ```
200
+
201
+ ---
202
+
203
+ ## メソッドディスカバリー
204
+
205
+ クライアントは、接続されたOCAPノードでサポートされているすべてのトランザクションタイプに対してメソッドを動的に生成します。これらのディスカバリーメソッドを使用すると、利用可能なすべてのトランザクション関連関数をプログラムで一覧表示できます。
206
+
207
+ ### getTxSendMethods()
208
+
209
+ 利用可能なすべての`send...Tx`メソッド名の配列を返します。これらのメソッドは、トランザクションの署名と送信の完全なライフサイクルを処理します。
210
+
211
+ ### getTxEncodeMethods()
212
+
213
+ 利用可能なすべての`encode...Tx`メソッド名の配列を返します。これらのメソッドは、トランザクションをバッファに準備およびシリアル化しますが、署名はしません。
214
+
215
+ ### getTxSignMethods()
216
+
217
+ 利用可能なすべての`sign...Tx`メソッド名の配列を返します。これらのメソッドは、トランザクションをエンコードしてから署名し、署名済みのトランザクションオブジェクトを返します。
218
+
219
+ ### getTxMultiSignMethods()
220
+
221
+ マルチシグネチャワークフローで使用される、利用可能なすべての`multiSign...Tx`メソッド名の配列を返します。
222
+
223
+ **例**
224
+
225
+ ```javascript Listing Available Transaction Methods icon=logos:javascript
226
+ const sendMethods = client.getTxSendMethods();
227
+ console.log('Available send methods:', sendMethods);
228
+ // 出力例: [ 'sendPokeTx', 'sendTransferTx', ... ]
229
+ ```
@@ -0,0 +1,229 @@
1
+ # 輔助方法
2
+
3
+ `GraphQLClient` 類別是與 OCAP 驅動的區塊鏈互動的主要介面。它提供了一套全面的方法,用於查詢鏈狀態、發送交易以及訂閱即時事件。它被設計為在 Node.js 和瀏覽器環境中都能無縫運作。
4
+
5
+ ```javascript Client Initialization icon=logos:javascript
6
+ const GraphQLClient = require('@ocap/client');
7
+
8
+ // Connect to the Beta chain
9
+ const client = new GraphQLClient('https://beta.abtnetwork.io/api');
10
+
11
+ (async () => {
12
+ const res = await client.getChainInfo();
13
+ console.log('Connected to chain:', res.info.network);
14
+ })();
15
+ ```
16
+
17
+ 本節為 `GraphQLClient` 類別的核心輔助方法提供了詳細的參考。
18
+
19
+ ## 建構函式
20
+
21
+ ### new GraphQLClient(endpoint, autoInit)
22
+
23
+ 建立一個新的 `GraphQLClient` 實例。
24
+
25
+ **參數**
26
+
27
+ <x-field-group>
28
+ <x-field data-name="endpoint" data-type="string" data-required="true">
29
+ <x-field-desc markdown>區塊鏈節點的 GraphQL 端點的絕對 URL(例如:`https://beta.abtnetwork.io/api`)。</x-field-desc>
30
+ </x-field>
31
+ <x-field data-name="autoInit" data-type="boolean" data-default="true" data-required="false">
32
+ <x-field-desc markdown>若為 `true`,客戶端將在初始化時自動獲取並快取必要的鏈資訊(「上下文」)。建議在大多數使用場景下使用。</x-field-desc>
33
+ </x-field>
34
+ </x-field-group>
35
+
36
+ **範例**
37
+
38
+ ```javascript Creating a Client Instance icon=logos:javascript
39
+ const client = new GraphQLClient('https://beta.abtnetwork.io/api', true);
40
+ ```
41
+
42
+ ---
43
+
44
+ ## 核心方法
45
+
46
+ 這些方法提供了與客戶端和鏈互動的基本功能。
47
+
48
+ ### getContext()
49
+
50
+ 獲取並快取必要的鏈資訊,例如鏈 ID、原生代幣詳細資訊和交易費用配置。如果在建構函式中啟用了 `autoInit`,則會自動呼叫此方法。後續的呼叫將返回快取的上下文。
51
+
52
+ **傳回值**
53
+
54
+ <x-field data-name="Promise<object>" data-type="object" data-desc="一個解析為包含鏈元資料的上下文物件的 Promise。">
55
+ <x-field data-name="chainId" data-type="string" data-desc="區塊鏈網路的唯一識別碼。"></x-field>
56
+ <x-field data-name="consensus" data-type="string" data-desc="共識引擎版本。"></x-field>
57
+ <x-field data-name="token" data-type="object" data-desc="有關原生代幣的資訊。">
58
+ <x-field data-name="address" data-type="string" data-desc="原生代幣合約的地址。"></x-field>
59
+ <x-field data-name="decimal" data-type="number" data-desc="原生代幣的小數位數。"></x-field>
60
+ <x-field data-name="symbol" data-type="string" data-desc="原生代幣的符號(例如:TBA)。"></x-field>
61
+ </x-field>
62
+ <x-field data-name="txConfig" data-type="object" data-desc="交易費用和 gas 配置。"></x-field>
63
+ </x-field>
64
+
65
+ **範例**
66
+
67
+ ```javascript Fetching Chain Context icon=logos:javascript
68
+ async function logChainToken() {
69
+ const context = await client.getContext();
70
+ console.log(`Native Token Symbol: ${context.token.symbol}`);
71
+ }
72
+
73
+ logChainToken();
74
+ ```
75
+
76
+ ### setGasPayer(wallet)
77
+
78
+ 設定一個錢包作為「gas 支付者」。設定後,此錢包將為透過此客戶端實例發送的交易支付交易費用,為使用者提供無 gas 體驗。更多詳細資訊,請參閱 [Gas 支付](./core-concepts-gas-payment.md) 概念指南。
79
+
80
+ **參數**
81
+
82
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true">
83
+ <x-field-desc markdown>一個錢包物件,具有 `address`、`publicKey` 和 `secretKey` 屬性,並配備一個 `sign` 方法。</x-field-desc>
84
+ </x-field>
85
+
86
+ ### decodeTx(input)
87
+
88
+ 將交易從各種格式反序列化為人類可讀的 JavaScript 物件。
89
+
90
+ **參數**
91
+
92
+ <x-field data-name="input" data-type="Buffer | string" data-required="true">
93
+ <x-field-desc markdown>要解碼的交易資料。可以是 `Buffer` 或 `hex`、`base58` 或 `base64` 格式的字串。</x-field-desc>
94
+ </x-field>
95
+
96
+ **傳回值**
97
+
98
+ <x-field data-name="object" data-type="object" data-desc="已解碼的交易物件。"></x-field>
99
+
100
+ ### getType(name)
101
+
102
+ 根據給定的類型名稱檢索 Protobuf 訊息類別。這對於需要手動建構或檢查 Protobuf 訊息的進階場景非常有用。
103
+
104
+ **參數**
105
+
106
+ <x-field data-name="name" data-type="string" data-required="true" data-desc="Protobuf 訊息類型的名稱(例如:'Transaction', 'TransferTx')。"></x-field>
107
+
108
+ **傳回值**
109
+
110
+ <x-field data-name="class | null" data-type="object" data-desc="訊息類別的建構函式,如果找不到則為 null。"></x-field>
111
+
112
+ ---
113
+
114
+ ## 事件訂閱
115
+
116
+ 客戶端支援透過 WebSocket 進行即時事件訂閱,讓您的應用程式能夠即時回應鏈上事件。
117
+
118
+ ### subscribe(topic, callback)
119
+
120
+ 建立一個 WebSocket 連接並訂閱特定的事件主題。
121
+
122
+ **參數**
123
+
124
+ <x-field-group>
125
+ <x-field data-name="topic" data-type="string" data-required="true" data-desc="要訂閱的事件主題(例如:'newBlock', 'tx:transfer')。"></x-field>
126
+ <x-field data-name="callback" data-type="function" data-required="true" data-desc="接收到事件時要執行的函式。它會接收事件的有效負載作為其唯一參數。"></x-field>
127
+ </x-field-group>
128
+
129
+ ### unsubscribe(topic, callback)
130
+
131
+ 移除先前為特定主題註冊的回呼函式。
132
+
133
+ **參數**
134
+
135
+ <x-field-group>
136
+ <x-field data-name="topic" data-type="string" data-required="true" data-desc="要取消訂閱的事件主題。"></x-field>
137
+ <x-field data-name="callback" data-type="function" data-required="true" data-desc="要移除的特定回呼函式。"></x-field>
138
+ </x-field-group>
139
+
140
+ **範例**
141
+
142
+ ```javascript Subscribing to New Blocks icon=logos:javascript
143
+ const handleNewBlock = (block) => {
144
+ console.log(`New block received! Height: ${block.height}`);
145
+
146
+ // Unsubscribe after receiving one block
147
+ client.unsubscribe('newBlock', handleNewBlock);
148
+ console.log('Unsubscribed from newBlock events.');
149
+ };
150
+
151
+ client.subscribe('newBlock', handleNewBlock);
152
+ console.log('Subscribed to newBlock events...');
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 代幣工具方法
158
+
159
+ 這些輔助方法簡化了人類可讀的代幣數量與鏈上基本單位表示之間的轉換。
160
+
161
+ ### fromUnitToToken(value)
162
+
163
+ 根據原生代幣的小數位數,將一個值從鏈的基本單位(一個大整數字串)轉換為標準的十進位字串。
164
+
165
+ **參數**
166
+
167
+ <x-field data-name="value" data-type="string" data-required="true" data-desc="以鏈的基本單位表示的數量。"></x-field>
168
+
169
+ **傳回值**
170
+
171
+ <x-field data-name="string" data-type="string" data-desc="以標準代幣單位表示的數量。"></x-field>
172
+
173
+ ### fromTokenToUnit(amount)
174
+
175
+ 將一個標準的十進位數量轉換為鏈的基本單位表示(一個 BN.js 實例)。
176
+
177
+ **參數**
178
+
179
+ <x-field data-name="amount" data-type="number | string" data-required="true" data-desc="以其標準十進位形式表示的代幣數量。"></x-field>
180
+
181
+ **傳回值**
182
+
183
+ <x-field data-name="BN" data-type="object" data-desc="一個代表鏈基本單位中數值的 BN.js 實例。"></x-field>
184
+
185
+ **範例**
186
+
187
+ ```javascript Token Amount Conversion icon=logos:javascript
188
+ async function convertToken() {
189
+ // Convert 100 TBA to its base unit
190
+ const unitAmount = await client.fromTokenToUnit(100);
191
+ console.log(`100 TBA is ${unitAmount.toString()} in base units.`);
192
+
193
+ // Convert it back
194
+ const tokenAmount = await client.fromUnitToToken(unitAmount.toString());
195
+ console.log(`${unitAmount.toString()} base units is ${tokenAmount} TBA.`);
196
+ }
197
+
198
+ convertToken();
199
+ ```
200
+
201
+ ---
202
+
203
+ ## 方法探索
204
+
205
+ 客戶端會為所連接的 OCAP 節點支援的每種交易類型動態產生方法。這些探索方法讓您能夠以程式化的方式列出所有可用的交易相關函式。
206
+
207
+ ### getTxSendMethods()
208
+
209
+ 傳回所有可用的 `send...Tx` 方法名稱陣列。這些方法處理簽署和發送交易的完整生命週期。
210
+
211
+ ### getTxEncodeMethods()
212
+
213
+ 傳回所有可用的 `encode...Tx` 方法名稱陣列。這些方法準備並將交易序列化為緩衝區,但不會簽署它。
214
+
215
+ ### getTxSignMethods()
216
+
217
+ 傳回所有可用的 `sign...Tx` 方法名稱陣列。這些方法會編碼然後簽署交易,並傳回已簽署的交易物件。
218
+
219
+ ### getTxMultiSignMethods()
220
+
221
+ 傳回所有可用的 `multiSign...Tx` 方法名稱陣列,用於多重簽名工作流程。
222
+
223
+ **範例**
224
+
225
+ ```javascript Listing Available Transaction Methods icon=logos:javascript
226
+ const sendMethods = client.getTxSendMethods();
227
+ console.log('Available send methods:', sendMethods);
228
+ // 範例輸出:[ 'sendPokeTx', 'sendTransferTx', ... ]
229
+ ```
@@ -1,8 +1,8 @@
1
1
  # 辅助方法
2
2
 
3
- `GraphQLClient` 类是与 OCAP 驱动的区块链进行交互的主要接口。它提供了一套全面的方法,用于查询链状态、发送交易以及订阅实时事件。它被设计为在 Node.js 和浏览器环境中都能无缝工作。
3
+ `GraphQLClient` 类是与由 OCAP 驱动的区块链进行交互的主要接口。它提供了一套全面的方法,用于查询链状态、发送交易以及订阅实时事件。它被设计为可以在 Node.js 和浏览器环境中无缝工作。
4
4
 
5
- ```javascript 客户端初始化 icon=logos:javascript
5
+ ```javascript Client Initialization icon=logos:javascript
6
6
  const GraphQLClient = require('@ocap/client');
7
7
 
8
8
  // 连接到 Beta 链
@@ -14,7 +14,7 @@ const client = new GraphQLClient('https://beta.abtnetwork.io/api');
14
14
  })();
15
15
  ```
16
16
 
17
- 本节为 `GraphQLClient` 类的核心辅助方法提供了详细的参考。
17
+ 本节提供了 `GraphQLClient` 类的核心辅助方法的详细参考。
18
18
 
19
19
  ## 构造函数
20
20
 
@@ -29,13 +29,13 @@ const client = new GraphQLClient('https://beta.abtnetwork.io/api');
29
29
  <x-field-desc markdown>区块链节点的 GraphQL 端点的绝对 URL(例如,`https://beta.abtnetwork.io/api`)。</x-field-desc>
30
30
  </x-field>
31
31
  <x-field data-name="autoInit" data-type="boolean" data-default="true" data-required="false">
32
- <x-field-desc markdown>如果为 `true`,客户端将在初始化时自动获取并缓存基本的链信息(“上下文”)。对于大多数用例,建议使用此选项。</x-field-desc>
32
+ <x-field-desc markdown>如果为 `true`,客户端将在初始化时自动获取并缓存关键的链信息(即“上下文”)。对于大多数用例,推荐使用此设置。</x-field-desc>
33
33
  </x-field>
34
34
  </x-field-group>
35
35
 
36
36
  **示例**
37
37
 
38
- ```javascript 创建客户端实例 icon=logos:javascript
38
+ ```javascript Creating a Client Instance icon=logos:javascript
39
39
  const client = new GraphQLClient('https://beta.abtnetwork.io/api', true);
40
40
  ```
41
41
 
@@ -43,15 +43,15 @@ const client = new GraphQLClient('https://beta.abtnetwork.io/api', true);
43
43
 
44
44
  ## 核心方法
45
45
 
46
- 这些方法提供了与客户端和链进行交互的基本功能。
46
+ 这些方法提供了与客户端和链进行交互的基础功能。
47
47
 
48
48
  ### getContext()
49
49
 
50
- 获取并缓存基本的链信息,例如链 ID、原生代币详情和交易费用配置。如果在构造函数中启用了 `autoInit`,此方法会自动调用。后续调用将返回缓存的上下文。
50
+ 获取并缓存关键的链信息,例如链 ID、原生代币详情和交易费配置。如果在构造函数中启用了 `autoInit`,此方法会自动调用。后续调用将返回缓存的上下文。
51
51
 
52
52
  **返回**
53
53
 
54
- <x-field data-name="Promise<object>" data-type="object" data-desc="一个解析为包含链元数据的上下文对象的 promise。">
54
+ <x-field data-name="Promise<object>" data-type="object" data-desc="一个解析为包含链元数据的上下文对象的 Promise。">
55
55
  <x-field data-name="chainId" data-type="string" data-desc="区块链网络的唯一标识符。"></x-field>
56
56
  <x-field data-name="consensus" data-type="string" data-desc="共识引擎版本。"></x-field>
57
57
  <x-field data-name="token" data-type="object" data-desc="关于原生代币的信息。">
@@ -59,15 +59,15 @@ const client = new GraphQLClient('https://beta.abtnetwork.io/api', true);
59
59
  <x-field data-name="decimal" data-type="number" data-desc="原生代币的小数位数。"></x-field>
60
60
  <x-field data-name="symbol" data-type="string" data-desc="原生代币的符号(例如,TBA)。"></x-field>
61
61
  </x-field>
62
- <x-field data-name="txConfig" data-type="object" data-desc="交易费用和 gas 配置。"></x-field>
62
+ <x-field data-name="txConfig" data-type="object" data-desc="交易费和 gas 配置。"></x-field>
63
63
  </x-field>
64
64
 
65
65
  **示例**
66
66
 
67
- ```javascript 获取链上下文 icon=logos:javascript
67
+ ```javascript Fetching Chain Context icon=logos:javascript
68
68
  async function logChainToken() {
69
69
  const context = await client.getContext();
70
- console.log(`原生代币符号: ${context.token.symbol}`);
70
+ console.log(`原生代币符号: ${context.token.symbol}`);
71
71
  }
72
72
 
73
73
  logChainToken();
@@ -75,12 +75,12 @@ logChainToken();
75
75
 
76
76
  ### setGasPayer(wallet)
77
77
 
78
- 配置一个钱包作为“gas 支付者”。设置后,该钱包将为通过此客户端实例发送的交易赞助交易费,从而为用户提供无 gas 费体验。更多详情,请参阅 [Gas 支付](./core-concepts-gas-payment.md) 概念指南。
78
+ 配置一个钱包作为“gas 支付方”。设置后,该钱包将为通过此客户端实例发送的交易赞助交易费,从而为用户实现无 gas 体验。更多详情,请参阅 [Gas 支付](./core-concepts-gas-payment.md) 概念指南。
79
79
 
80
80
  **参数**
81
81
 
82
82
  <x-field data-name="wallet" data-type="WalletObject" data-required="true">
83
- <x-field-desc markdown>一个钱包对象,具有 `address`、`publicKey` 和 `secretKey` 属性,并配备了 `sign` 方法。</x-field-desc>
83
+ <x-field-desc markdown>一个钱包对象,包含 `address`、`publicKey` 和 `secretKey` 属性,并配备了一个 `sign` 方法。</x-field-desc>
84
84
  </x-field>
85
85
 
86
86
  ### decodeTx(input)
@@ -90,7 +90,7 @@ logChainToken();
90
90
  **参数**
91
91
 
92
92
  <x-field data-name="input" data-type="Buffer | string" data-required="true">
93
- <x-field-desc markdown>要解码的交易数据。可以是 `Buffer` `hex`、`base58` 或 `base64` 格式的字符串。</x-field-desc>
93
+ <x-field-desc markdown>要解码的交易数据。可以是 `Buffer`,也可以是 `hex`、`base58` 或 `base64` 格式的字符串。</x-field-desc>
94
94
  </x-field>
95
95
 
96
96
  **返回**
@@ -99,7 +99,7 @@ logChainToken();
99
99
 
100
100
  ### getType(name)
101
101
 
102
- 根据给定的类型名称检索 Protobuf 消息类。这对于需要手动构造或检查 Protobuf 消息的高级场景很有用。
102
+ 根据给定的类型名称检索 Protobuf 消息类。这对于需要手动构建或检查 Protobuf 消息的高级场景非常有用。
103
103
 
104
104
  **参数**
105
105
 
@@ -117,13 +117,13 @@ logChainToken();
117
117
 
118
118
  ### subscribe(topic, callback)
119
119
 
120
- 建立一个 WebSocket 连接并订阅特定的事件主题。
120
+ 建立一个 WebSocket 连接并订阅一个特定的事件主题。
121
121
 
122
122
  **参数**
123
123
 
124
124
  <x-field-group>
125
125
  <x-field data-name="topic" data-type="string" data-required="true" data-desc="要订阅的事件主题(例如,'newBlock'、'tx:transfer')。"></x-field>
126
- <x-field data-name="callback" data-type="function" data-required="true" data-desc="接收到事件时执行的函数。它接收事件负载作为其唯一参数。"></x-field>
126
+ <x-field data-name="callback" data-type="function" data-required="true" data-desc="当接收到事件时执行的函数。它接收事件负载作为其唯一参数。"></x-field>
127
127
  </x-field-group>
128
128
 
129
129
  ### unsubscribe(topic, callback)
@@ -139,11 +139,11 @@ logChainToken();
139
139
 
140
140
  **示例**
141
141
 
142
- ```javascript 订阅新区块 icon=logos:javascript
142
+ ```javascript Subscribing to New Blocks icon=logos:javascript
143
143
  const handleNewBlock = (block) => {
144
- console.log(`收到新区块!高度: ${block.height}`);
144
+ console.log(`接收到新区块!高度: ${block.height}`);
145
145
 
146
- // 收到一个区块后取消订阅
146
+ // 接收到一个区块后取消订阅
147
147
  client.unsubscribe('newBlock', handleNewBlock);
148
148
  console.log('已取消订阅 newBlock 事件。');
149
149
  };
@@ -156,7 +156,7 @@ console.log('已订阅 newBlock 事件...');
156
156
 
157
157
  ## 代币工具方法
158
158
 
159
- 这些辅助方法简化了人类可读的代币数量和链上基本单位表示之间的转换。
159
+ 这些辅助方法简化了人类可读的代币数量与链上基本单位表示之间的转换。
160
160
 
161
161
  ### fromUnitToToken(value)
162
162
 
@@ -184,13 +184,13 @@ console.log('已订阅 newBlock 事件...');
184
184
 
185
185
  **示例**
186
186
 
187
- ```javascript 代币数量转换 icon=logos:javascript
187
+ ```javascript Token Amount Conversion icon=logos:javascript
188
188
  async function convertToken() {
189
189
  // 将 100 TBA 转换为其基本单位
190
190
  const unitAmount = await client.fromTokenToUnit(100);
191
191
  console.log(`100 TBA 等于 ${unitAmount.toString()} 基本单位。`);
192
192
 
193
- // 再转换回来
193
+ // 将其转换回来
194
194
  const tokenAmount = await client.fromUnitToToken(unitAmount.toString());
195
195
  console.log(`${unitAmount.toString()} 基本单位等于 ${tokenAmount} TBA。`);
196
196
  }
@@ -202,7 +202,7 @@ convertToken();
202
202
 
203
203
  ## 方法发现
204
204
 
205
- 客户端为所连接的 OCAP 节点支持的每种交易类型动态生成方法。这些发现方法允许您以编程方式列出所有可用的与交易相关的功能。
205
+ 客户端会为所连接的 OCAP 节点支持的每种交易类型动态生成方法。这些发现方法允许您以编程方式列出所有可用的与交易相关的功能。
206
206
 
207
207
  ### getTxSendMethods()
208
208
 
@@ -214,7 +214,7 @@ convertToken();
214
214
 
215
215
  ### getTxSignMethods()
216
216
 
217
- 返回所有可用的 `sign...Tx` 方法名称的数组。这些方法对交易进行编码然后签名,返回已签名的交易对象。
217
+ 返回所有可用的 `sign...Tx` 方法名称的数组。这些方法对交易进行编码然后签名,并返回已签名的交易对象。
218
218
 
219
219
  ### getTxMultiSignMethods()
220
220
 
@@ -222,8 +222,8 @@ convertToken();
222
222
 
223
223
  **示例**
224
224
 
225
- ```javascript 列出可用的交易方法 icon=logos:javascript
225
+ ```javascript Listing Available Transaction Methods icon=logos:javascript
226
226
  const sendMethods = client.getTxSendMethods();
227
227
  console.log('可用的发送方法:', sendMethods);
228
228
  // 示例输出:[ 'sendPokeTx', 'sendTransferTx', ... ]
229
- ```
229
+ ```