@ocap/client 1.25.3 → 1.25.5

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 (92) hide show
  1. package/README.md +76 -80
  2. package/dist/report.html +1 -1
  3. package/docs/_sidebar.md +22 -0
  4. package/docs/api-reference-client-methods.ja.md +229 -0
  5. package/docs/api-reference-client-methods.md +229 -0
  6. package/docs/api-reference-client-methods.zh-TW.md +229 -0
  7. package/docs/api-reference-client-methods.zh.md +229 -0
  8. package/docs/api-reference-data-types.ja.md +482 -0
  9. package/docs/api-reference-data-types.md +482 -0
  10. package/docs/api-reference-data-types.zh-TW.md +482 -0
  11. package/docs/api-reference-data-types.zh.md +482 -0
  12. package/docs/api-reference-low-level-api.ja.md +228 -0
  13. package/docs/api-reference-low-level-api.md +228 -0
  14. package/docs/api-reference-low-level-api.zh-TW.md +228 -0
  15. package/docs/api-reference-low-level-api.zh.md +228 -0
  16. package/docs/api-reference-query-mutation-methods.ja.md +814 -0
  17. package/docs/api-reference-query-mutation-methods.md +814 -0
  18. package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
  19. package/docs/api-reference-query-mutation-methods.zh.md +814 -0
  20. package/docs/api-reference-transaction-helpers.ja.md +649 -0
  21. package/docs/api-reference-transaction-helpers.md +649 -0
  22. package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
  23. package/docs/api-reference-transaction-helpers.zh.md +649 -0
  24. package/docs/api-reference.ja.md +23 -0
  25. package/docs/api-reference.md +23 -0
  26. package/docs/api-reference.zh-TW.md +23 -0
  27. package/docs/api-reference.zh.md +23 -0
  28. package/docs/core-concepts-client-architecture.ja.md +102 -0
  29. package/docs/core-concepts-client-architecture.md +102 -0
  30. package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
  31. package/docs/core-concepts-client-architecture.zh.md +102 -0
  32. package/docs/core-concepts-event-subscriptions.ja.md +123 -0
  33. package/docs/core-concepts-event-subscriptions.md +123 -0
  34. package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
  35. package/docs/core-concepts-event-subscriptions.zh.md +123 -0
  36. package/docs/core-concepts-gas-payment.ja.md +111 -0
  37. package/docs/core-concepts-gas-payment.md +111 -0
  38. package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
  39. package/docs/core-concepts-gas-payment.zh.md +111 -0
  40. package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
  41. package/docs/core-concepts-transaction-lifecycle.md +183 -0
  42. package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
  43. package/docs/core-concepts-transaction-lifecycle.zh.md +183 -0
  44. package/docs/core-concepts.ja.md +22 -0
  45. package/docs/core-concepts.md +22 -0
  46. package/docs/core-concepts.zh-TW.md +22 -0
  47. package/docs/core-concepts.zh.md +22 -0
  48. package/docs/getting-started-basic-usage.ja.md +87 -0
  49. package/docs/getting-started-basic-usage.md +87 -0
  50. package/docs/getting-started-basic-usage.zh-TW.md +87 -0
  51. package/docs/getting-started-basic-usage.zh.md +87 -0
  52. package/docs/getting-started-installation.ja.md +60 -0
  53. package/docs/getting-started-installation.md +60 -0
  54. package/docs/getting-started-installation.zh-TW.md +60 -0
  55. package/docs/getting-started-installation.zh.md +60 -0
  56. package/docs/getting-started.ja.md +16 -0
  57. package/docs/getting-started.md +16 -0
  58. package/docs/getting-started.zh-TW.md +16 -0
  59. package/docs/getting-started.zh.md +17 -0
  60. package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
  61. package/docs/how-to-guides-delegate-permissions.md +167 -0
  62. package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
  63. package/docs/how-to-guides-delegate-permissions.zh.md +166 -0
  64. package/docs/how-to-guides-manage-accounts.ja.md +73 -0
  65. package/docs/how-to-guides-manage-accounts.md +73 -0
  66. package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
  67. package/docs/how-to-guides-manage-accounts.zh.md +73 -0
  68. package/docs/how-to-guides-manage-assets.ja.md +255 -0
  69. package/docs/how-to-guides-manage-assets.md +255 -0
  70. package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
  71. package/docs/how-to-guides-manage-assets.zh.md +255 -0
  72. package/docs/how-to-guides-manage-tokens.ja.md +179 -0
  73. package/docs/how-to-guides-manage-tokens.md +179 -0
  74. package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
  75. package/docs/how-to-guides-manage-tokens.zh.md +179 -0
  76. package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
  77. package/docs/how-to-guides-stake-tokens-and-assets.md +205 -0
  78. package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +205 -0
  79. package/docs/how-to-guides-stake-tokens-and-assets.zh.md +205 -0
  80. package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
  81. package/docs/how-to-guides-transfer-tokens-and-nfts.md +179 -0
  82. package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +179 -0
  83. package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +179 -0
  84. package/docs/how-to-guides.ja.md +27 -0
  85. package/docs/how-to-guides.md +27 -0
  86. package/docs/how-to-guides.zh-TW.md +27 -0
  87. package/docs/how-to-guides.zh.md +27 -0
  88. package/docs/overview.ja.md +70 -0
  89. package/docs/overview.md +70 -0
  90. package/docs/overview.zh-TW.md +70 -0
  91. package/docs/overview.zh.md +70 -0
  92. package/package.json +14 -14
package/README.md CHANGED
@@ -1,100 +1,96 @@
1
- ![graphql-client](https://www.arcblock.io/.netlify/functions/badge/?text=graphql-client)
1
+ [graphql-client]https://www.arcblock.io/.netlify/functions/badge/?text=graphql-client
2
2
 
3
- [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)
4
- [![docs](https://img.shields.io/badge/powered%20by-arcblock-green.svg)](https://docs.arcblock.io)
5
- [![Gitter](https://badges.gitter.im/ArcBlock/community.svg)](https://gitter.im/ArcBlock/community?utm_source=badge\&utm_medium=badge\&utm_campaign=pr-badge)
3
+ [
4
+ [
5
+ [[gitter]https://badges.gitter.im/arcblock/community.svg]https://gitter.im/arcblock/arcblock/community?utm_source = badge = badge \&utmm_medium = badge \ utm_campaign = badeaign = badeaign = badage)
6
+ 客户库可以在Node.js和浏览器环境中使用http/https通过http/https发送所有请求,将您的应用程序连接到Forge Power的区块链节点。
6
7
 
7
- Client library to connect your app with forge powered blockchain node, all requests are sent over http/https, can be used in both Node.js and browser environment.
8
+ GraphQlClient”实例主要支持5组方法,这些方法可节省您的时间,从/到区块链读取数据时。
8
9
 
9
- A `GraphQLClient` instance mainly supports 5 groups of methods that saves you time when read/write data from/to blockchain.
10
+ _`queries`:QUERY BLOCK/TRASSACTION/ACCENT/ACCENT/ASSET/CHAIN/NODE数据表格区块链
11
+ _`突变“:将事务发送到区块链``sendtx',所有交易应在发送到区块链之前签署所有交易
12
+ *``订阅':收听区块链上任何数据的更改
13
+ *``senders':采用``钱包''和`tx`对象的快捷方式,然后进行签名,然后发送
14
+ *`coders`:采用``钱包''和`tx`对象的快捷方式,编码事务以进行后期签名,内部由发件人内部使用
10
15
 
11
- * `queries`: query block/transaction/account/asset/chain/node data form the blockchain
12
- * `mutations`: send transaction to the blockchain, `sendTx`, all transactions should be signed before sending out to the blockchain
13
- * `subscriptions`: listen to changes of any data on the blockchain
14
- * `senders`: shortcut methods that takes a `wallet` and a `tx` object, then do the signing, and sending
15
- * `encoders`: shortcut methods that takes a `wallet` and a `tx` object, encode the transaction for later signing, used internally by senders
16
+ ## 目录
16
17
 
18
+ _[安装](#安装)
19
+ _[用法](#使用)
20
+ _[示例](#示例)
21
+ _[调试](#调试)\*[文档](#文档)
17
22
 
18
- ## Table of Contents
23
+ ## 安装
19
24
 
20
- * [Install](#install)
21
- * [Usage](#usage)
22
- * [Examples](#examples)
23
- * [Debugging](#debugging)
24
- * [Documentation](#documentation)
25
-
26
-
27
- ## Install
28
-
29
- ```shell
25
+ ```壳
30
26
  npm i @ocap/client -S
31
- # OR
32
- pnpm install @ocap/client
27
+ 或者
28
+ PNPM install @ocap/client
33
29
  ```
34
30
 
31
+ ## 用法
32
+
33
+ ``JS
34
+ const mcrypto = require('@ocap/mcrypto');
35
+ const graphQlclient = require('@ocap/client');
36
+ const {fromrandom,wallettype} = require('@ocap/wallet');
37
+ const {hextobytes} = require('@ocap/util');
38
+
39
+ const client = new GraphQlClient('http://localhost:8210/api');
40
+ console.log({
41
+ 查询:client.getqueries(),
42
+ 订阅:client.getSubscriptions(),
43
+ 突变:client.getmutations(),
44
+ 发件人:client.gettxsendmethods(),
45
+ 编码器:client.getTxEncodePhods(),
46
+ });
47
+
48
+ (async()=> {
49
+ //查询链状态数据
50
+ const Chaininfo =等待客户端。GetChainInfo();
51
+ const forgestate =等待客户端。
52
+ const block =等待client.getBlock({height:2});
53
+ console.log('getchaininfo',chaininfo);
54
+ console.log('getforgentate',宽恕);
55
+ console.log('getBlock',block);
56
+
57
+ //发送交易
58
+ const钱包= fromrandom(
59
+ wallettype({
60
+ 角色:mcrypto.types.roletype.role_account,
61
+ PK:mcrypto.types.keytype.secp256k1,
62
+ 哈希:mcrypto.types.hashtype.sha3,
63
+ }))
64
+ );
65
+ const hash =等待client.declare({
66
+ 绰号:“用户名”,
67
+ 钱包,
68
+ });
69
+ console.log(hash);
70
+ })();
35
71
 
36
- ## Usage
37
-
38
- ```js
39
- const Mcrypto = require('@ocap/mcrypto');
40
- const GraphQLClient = require('@ocap/client');
41
- const { fromRandom, WalletType } = require('@ocap/wallet');
42
- const { hexToBytes } = require('@ocap/util');
43
-
44
- const client = new GraphQLClient('http://localhost:8210/api');
45
- console.log({
46
- queries: client.getQueries(),
47
- subscriptions: client.getSubscriptions(),
48
- mutations: client.getMutations(),
49
- senders: client.getTxSendMethods(),
50
- encoders: client.getTxEncodeMethods(),
51
- });
52
-
53
- (async () => {
54
- // Query chain state data
55
- const chainInfo = await client.getChainInfo();
56
- const forgeState = await client.getForgeState();
57
- const block = await client.getBlock({ height: 2 });
58
- console.log('getChainInfo', chainInfo);
59
- console.log('getForgeState', forgeState);
60
- console.log('getBlock', block);
61
-
62
- // Send transaction
63
- const wallet = fromRandom(
64
- WalletType({
65
- role: Mcrypto.types.RoleType.ROLE_ACCOUNT,
66
- pk: Mcrypto.types.KeyType.SECP256K1,
67
- hash: Mcrypto.types.HashType.SHA3,
68
- })
69
- );
70
- const hash = await client.declare({
71
- moniker: 'username',
72
- wallet,
73
- });
74
- console.log(hash);
75
- })();
76
72
  ```
77
73
 
78
74
 
79
- ## Examples
75
+ ##示例
80
76
 
81
- * [Declare identify on the blockchain](./examples/declare.js)
82
- * [Get free token for newly created account](./examples/get_free_token.js)
83
- * [Transfer assets between 2 accounts](./examples/transfer_asset.js)
84
- * [Transfer tokens between 2 accounts](./examples/transfer_token.js)
85
- * [Exchange asset and token between 2 newly created accounts](./examples/exchange.js)
86
- * [Create/update asset on the blockchain](./examples/asset.js)
87
- * [Consume newly create asset](./examples/consume_asset.js)
88
- * [Stake for the connected node](./examples/stake_for_node.js)
77
+ *[在区块链上声明标识](./示例/scellare.js
78
+ *[为新创建的帐户获取免费令牌](./示例/get_free_token.js
79
+ *[2个帐户之间的转移资产](./示例/Transfer_asset.js
80
+ *[2个帐户之间的转移令牌](./示例/trassing_token.js
81
+ *[2个新创建的帐户之间的Exchange Asset和令牌](./示例/Exchange.js
82
+ *[在区块链上创建/更新资产](./示例/Asset.js
83
+ *[消费新创建资产](./示例/clummume_asset.js
84
+ *[连接节点的股份](./示例/stake_for_node.js
89
85
 
90
86
 
91
- ## Debugging
87
+ ##调试
88
+ *如果您在node.js中:`debug =@ocap/client node script.js`
89
+ *如果您在浏览器中:`localstorage.setitem('debug','@ocap/client')
92
90
 
93
- * If you are in Node.js: `DEBUG=@ocap/client node script.js`
94
- * If you are in browser: `localStorage.setItem('DEBUG', '@ocap/client')`
95
91
 
92
+ ##文档
96
93
 
97
- ## Documentation
98
-
99
- * Query arguments and response structure can be found here: [QUERIES.md](./docs/QUERIES.md)
100
- * Complete method list can be found here: [README.md](./docs/README.md)
94
+ *查询参数和响应结构可以在此处找到:[queries.md](./docs/queries.md)
95
+ *完整的方法列表可以在此处找到:[readme.md](./docs/readme.md)
96
+ ```
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 [22 Sep 2025 at 12:14]</title>
6
+ <title>@ocap/client [29 Sep 2025 at 22:24]</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,22 @@
1
+ * [Overview](/overview.md)
2
+ * [Getting Started](/getting-started.md)
3
+ * [Installation](/getting-started-installation.md)
4
+ * [Basic Usage](/getting-started-basic-usage.md)
5
+ * [How-to Guides](/how-to-guides.md)
6
+ * [Manage Accounts](/how-to-guides-manage-accounts.md)
7
+ * [Delegate Permissions](/how-to-guides-delegate-permissions.md)
8
+ * [Transfer Tokens and NFTs](/how-to-guides-transfer-tokens-and-nfts.md)
9
+ * [Manage Assets (NFTs)](/how-to-guides-manage-assets.md)
10
+ * [Manage Tokens](/how-to-guides-manage-tokens.md)
11
+ * [Stake Tokens and Assets](/how-to-guides-stake-tokens-and-assets.md)
12
+ * [Core Concepts](/core-concepts.md)
13
+ * [Client Architecture](/core-concepts-client-architecture.md)
14
+ * [Transaction Lifecycle](/core-concepts-transaction-lifecycle.md)
15
+ * [Event Subscriptions](/core-concepts-event-subscriptions.md)
16
+ * [Gas Payment](/core-concepts-gas-payment.md)
17
+ * [API Reference](/api-reference.md)
18
+ * [Helper Methods](/api-reference-client-methods.md)
19
+ * [Query & Mutation Methods](/api-reference-query-mutation-methods.md)
20
+ * [High-level API](/api-reference-transaction-helpers.md)
21
+ * [Low-level API](/api-reference-low-level-api.md)
22
+ * [Data Types](/api-reference-data-types.md)
@@ -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
+ ```