@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.
- package/README.md +76 -80
- package/dist/report.html +1 -1
- package/docs/_sidebar.md +22 -0
- package/docs/api-reference-client-methods.ja.md +229 -0
- package/docs/api-reference-client-methods.md +229 -0
- package/docs/api-reference-client-methods.zh-TW.md +229 -0
- package/docs/api-reference-client-methods.zh.md +229 -0
- package/docs/api-reference-data-types.ja.md +482 -0
- package/docs/api-reference-data-types.md +482 -0
- package/docs/api-reference-data-types.zh-TW.md +482 -0
- package/docs/api-reference-data-types.zh.md +482 -0
- package/docs/api-reference-low-level-api.ja.md +228 -0
- package/docs/api-reference-low-level-api.md +228 -0
- package/docs/api-reference-low-level-api.zh-TW.md +228 -0
- package/docs/api-reference-low-level-api.zh.md +228 -0
- package/docs/api-reference-query-mutation-methods.ja.md +814 -0
- package/docs/api-reference-query-mutation-methods.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh.md +814 -0
- package/docs/api-reference-transaction-helpers.ja.md +649 -0
- package/docs/api-reference-transaction-helpers.md +649 -0
- package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
- package/docs/api-reference-transaction-helpers.zh.md +649 -0
- package/docs/api-reference.ja.md +23 -0
- package/docs/api-reference.md +23 -0
- package/docs/api-reference.zh-TW.md +23 -0
- package/docs/api-reference.zh.md +23 -0
- package/docs/core-concepts-client-architecture.ja.md +102 -0
- package/docs/core-concepts-client-architecture.md +102 -0
- package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
- package/docs/core-concepts-client-architecture.zh.md +102 -0
- package/docs/core-concepts-event-subscriptions.ja.md +123 -0
- package/docs/core-concepts-event-subscriptions.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh.md +123 -0
- package/docs/core-concepts-gas-payment.ja.md +111 -0
- package/docs/core-concepts-gas-payment.md +111 -0
- package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
- package/docs/core-concepts-gas-payment.zh.md +111 -0
- package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh.md +183 -0
- package/docs/core-concepts.ja.md +22 -0
- package/docs/core-concepts.md +22 -0
- package/docs/core-concepts.zh-TW.md +22 -0
- package/docs/core-concepts.zh.md +22 -0
- package/docs/getting-started-basic-usage.ja.md +87 -0
- package/docs/getting-started-basic-usage.md +87 -0
- package/docs/getting-started-basic-usage.zh-TW.md +87 -0
- package/docs/getting-started-basic-usage.zh.md +87 -0
- package/docs/getting-started-installation.ja.md +60 -0
- package/docs/getting-started-installation.md +60 -0
- package/docs/getting-started-installation.zh-TW.md +60 -0
- package/docs/getting-started-installation.zh.md +60 -0
- package/docs/getting-started.ja.md +16 -0
- package/docs/getting-started.md +16 -0
- package/docs/getting-started.zh-TW.md +16 -0
- package/docs/getting-started.zh.md +17 -0
- package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
- package/docs/how-to-guides-delegate-permissions.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh.md +166 -0
- package/docs/how-to-guides-manage-accounts.ja.md +73 -0
- package/docs/how-to-guides-manage-accounts.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh.md +73 -0
- package/docs/how-to-guides-manage-assets.ja.md +255 -0
- package/docs/how-to-guides-manage-assets.md +255 -0
- package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
- package/docs/how-to-guides-manage-assets.zh.md +255 -0
- package/docs/how-to-guides-manage-tokens.ja.md +179 -0
- package/docs/how-to-guides-manage-tokens.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh.md +179 -0
- package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
- package/docs/how-to-guides-stake-tokens-and-assets.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 +205 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.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 +179 -0
- package/docs/how-to-guides.ja.md +27 -0
- package/docs/how-to-guides.md +27 -0
- package/docs/how-to-guides.zh-TW.md +27 -0
- package/docs/how-to-guides.zh.md +27 -0
- package/docs/overview.ja.md +70 -0
- package/docs/overview.md +70 -0
- package/docs/overview.zh-TW.md +70 -0
- package/docs/overview.zh.md +70 -0
- package/package.json +14 -14
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
# 高级 API
|
|
2
|
+
|
|
3
|
+
交易助手是 OCAP Client 内置的高级函数,它抽象了创建和签署常见交易的复杂性。您可以使用这些便捷的方法来处理创建资产、转移代币、质押和执行原子交换等工作流程,而无需手动构建交易对象。这些助手可确保交易结构的正确性,并显著简化开发过程。
|
|
4
|
+
|
|
5
|
+
要更深入地了解底层交易生命周期,请参阅[核心概念:交易生命周期](./core-concepts-transaction-lifecycle.md)。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 账户管理
|
|
10
|
+
|
|
11
|
+
### migrateAccount
|
|
12
|
+
|
|
13
|
+
将账户的所有权迁移到新的密钥对。这对于密钥轮换或账户恢复很有用。
|
|
14
|
+
|
|
15
|
+
**参数**
|
|
16
|
+
|
|
17
|
+
<x-field-group>
|
|
18
|
+
<x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="要从中迁移的账户的钱包对象。"></x-field>
|
|
19
|
+
<x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="要迁移到的账户的钱包对象。"></x-field>
|
|
20
|
+
</x-field-group>
|
|
21
|
+
|
|
22
|
+
**返回**
|
|
23
|
+
|
|
24
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
25
|
+
|
|
26
|
+
**示例**
|
|
27
|
+
|
|
28
|
+
```javascript 发送 AccountMigrateTx icon=logos:javascript
|
|
29
|
+
const txHash = await client.migrateAccount({
|
|
30
|
+
from: oldWallet,
|
|
31
|
+
to: newWallet,
|
|
32
|
+
});
|
|
33
|
+
console.log('迁移交易哈希:', txHash);
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### delegate
|
|
37
|
+
|
|
38
|
+
授权另一个账户(受托人)代表委托人发送特定类型的交易。这是一个用于创建安全、沙盒化权限的强大功能。
|
|
39
|
+
|
|
40
|
+
**参数**
|
|
41
|
+
|
|
42
|
+
<x-field-group>
|
|
43
|
+
<x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="委托人的钱包,即授予权限的一方。"></x-field>
|
|
44
|
+
<x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="受托人的钱包,即接收权限的一方。"></x-field>
|
|
45
|
+
<x-field data-name="privileges" data-type="array" data-required="true" data-desc="一个权限对象数组,指定允许的操作。">
|
|
46
|
+
<x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="被允许的交易的类型 URL(例如,'fg:t:transfer_v2')。"></x-field>
|
|
47
|
+
<x-field data-name="limit" data-type="object" data-required="false" data-desc="对委托的可选限制。">
|
|
48
|
+
<x-field data-name="tokens" data-type="array" data-desc="对特定可替代代币的限制。"></x-field>
|
|
49
|
+
<x-field data-name="assets" data-type="array" data-desc="对特定资产(NFT)的限制。"></x-field>
|
|
50
|
+
</x-field>
|
|
51
|
+
</x-field>
|
|
52
|
+
</x-field-group>
|
|
53
|
+
|
|
54
|
+
**返回**
|
|
55
|
+
|
|
56
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的委托地址的数组。"></x-field>
|
|
57
|
+
|
|
58
|
+
**示例**
|
|
59
|
+
|
|
60
|
+
```javascript 发送 DelegateTx icon=logos:javascript
|
|
61
|
+
const [txHash, delegateAddress] = await client.delegate({
|
|
62
|
+
from: userWallet,
|
|
63
|
+
to: appWallet,
|
|
64
|
+
privileges: [
|
|
65
|
+
{
|
|
66
|
+
typeUrl: 'fg:t:transfer_v2',
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
console.log('委托交易哈希:', txHash);
|
|
71
|
+
console.log('委托地址:', delegateAddress);
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### revokeDelegate
|
|
75
|
+
|
|
76
|
+
从受托人处撤销先前授予的权限。
|
|
77
|
+
|
|
78
|
+
**参数**
|
|
79
|
+
|
|
80
|
+
<x-field-group>
|
|
81
|
+
<x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="委托人的钱包。"></x-field>
|
|
82
|
+
<x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="受托人的钱包。"></x-field>
|
|
83
|
+
<x-field data-name="privileges" data-type="array" data-required="true" data-desc="一个权限对象数组,指定要撤销的权限。">
|
|
84
|
+
<x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="要撤销的交易的类型 URL(例如,'fg:t:transfer_v2')。"></x-field>
|
|
85
|
+
</x-field>
|
|
86
|
+
</x-field-group>
|
|
87
|
+
|
|
88
|
+
**返回**
|
|
89
|
+
|
|
90
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
91
|
+
|
|
92
|
+
**示例**
|
|
93
|
+
|
|
94
|
+
```javascript 发送 RevokeDelegateTx icon=logos:javascript
|
|
95
|
+
const txHash = await client.revokeDelegate({
|
|
96
|
+
from: userWallet,
|
|
97
|
+
to: appWallet,
|
|
98
|
+
privileges: ['fg:t:transfer_v2'],
|
|
99
|
+
});
|
|
100
|
+
console.log('撤销交易哈希:', txHash);
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 资产 (NFT) 管理
|
|
106
|
+
|
|
107
|
+
### createAsset
|
|
108
|
+
|
|
109
|
+
在区块链上创建一个新的资产(非同质化代币)。
|
|
110
|
+
|
|
111
|
+
**参数**
|
|
112
|
+
|
|
113
|
+
<x-field-group>
|
|
114
|
+
<x-field data-name="moniker" data-type="string" data-required="true" data-desc="资产的简短、人类可读的名称。"></x-field>
|
|
115
|
+
<x-field data-name="data" data-type="object" data-required="true" data-desc="一个包含资产元数据的 JSON 对象。"></x-field>
|
|
116
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="资产初始所有者的钱包。"></x-field>
|
|
117
|
+
<x-field data-name="parent" data-type="string" data-required="false" data-desc="父资产的地址,用于建立层级链接。"></x-field>
|
|
118
|
+
<x-field data-name="ttl" data-type="number" data-required="false" data-default="0" data-desc="首次消费后的存活时间(秒)。"></x-field>
|
|
119
|
+
<x-field data-name="readonly" data-type="boolean" data-required="false" data-default="false" data-desc="如果为 true,资产在创建后无法更新。"></x-field>
|
|
120
|
+
<x-field data-name="transferrable" data-type="boolean" data-required="false" data-default="true" data-desc="如果为 true,资产可以转移到另一个账户。"></x-field>
|
|
121
|
+
<x-field data-name="display" data-type="object" data-required="false" data-desc="用于资产显示元数据的对象。"></x-field>
|
|
122
|
+
<x-field data-name="endpoint" data-type="object" data-required="false" data-desc="用于资产端点元数据的对象。"></x-field>
|
|
123
|
+
<x-field data-name="tags" data-type="string[]" data-required="false" data-desc="用于分类的标签数组。"></x-field>
|
|
124
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="如果交易由受托人发送,则为委托人的地址。"></x-field>
|
|
125
|
+
</x-field-group>
|
|
126
|
+
|
|
127
|
+
**返回**
|
|
128
|
+
|
|
129
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建资产地址的数组。"></x-field>
|
|
130
|
+
|
|
131
|
+
**示例**
|
|
132
|
+
|
|
133
|
+
```javascript 发送 CreateAssetTx icon=logos:javascript
|
|
134
|
+
const [txHash, assetAddress] = await client.createAsset({
|
|
135
|
+
moniker: '我的第一个 NFT',
|
|
136
|
+
data: {
|
|
137
|
+
typeUrl: 'json',
|
|
138
|
+
value: { name: '数字收藏品', description: '一个独特的物品。' },
|
|
139
|
+
},
|
|
140
|
+
wallet: userWallet,
|
|
141
|
+
});
|
|
142
|
+
console.log('创建资产交易哈希:', txHash);
|
|
143
|
+
console.log('新资产地址:', assetAddress);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### updateAsset
|
|
147
|
+
|
|
148
|
+
更新现有非只读资产的 `moniker` 和 `data` 字段。
|
|
149
|
+
|
|
150
|
+
**参数**
|
|
151
|
+
|
|
152
|
+
<x-field-group>
|
|
153
|
+
<x-field data-name="address" data-type="string" data-required="true" data-desc="要更新的资产的地址。"></x-field>
|
|
154
|
+
<x-field data-name="moniker" data-type="string" data-required="true" data-desc="资产的新别名。"></x-field>
|
|
155
|
+
<x-field data-name="data" data-type="object" data-required="true" data-desc="资产的新 JSON 数据对象。"></x-field>
|
|
156
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="资产当前所有者的钱包。"></x-field>
|
|
157
|
+
</x-field-group>
|
|
158
|
+
|
|
159
|
+
**返回**
|
|
160
|
+
|
|
161
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
162
|
+
|
|
163
|
+
**示例**
|
|
164
|
+
|
|
165
|
+
```javascript 发送 UpdateAssetTx icon=logos:javascript
|
|
166
|
+
const txHash = await client.updateAsset({
|
|
167
|
+
address: 'z3g...',
|
|
168
|
+
moniker: '更新后的 NFT 名称',
|
|
169
|
+
data: {
|
|
170
|
+
typeUrl: 'json',
|
|
171
|
+
value: { name: '更新后的收藏品', description: '现在有更多功能!' },
|
|
172
|
+
},
|
|
173
|
+
wallet: userWallet,
|
|
174
|
+
});
|
|
175
|
+
console.log('更新资产交易哈希:', txHash);
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### createAssetFactory
|
|
179
|
+
|
|
180
|
+
创建一个资产工厂,作为模板,用于铸造具有一致结构的多个新资产。
|
|
181
|
+
|
|
182
|
+
**参数**
|
|
183
|
+
|
|
184
|
+
<x-field-group>
|
|
185
|
+
<x-field data-name="factory" data-type="object" data-required="true" data-desc="包含工厂配置的对象。">
|
|
186
|
+
<x-field data-name="name" data-type="string" data-required="true" data-desc="工厂的名称。"></x-field>
|
|
187
|
+
<x-field data-name="description" data-type="string" data-required="true" data-desc="工厂的描述。"></x-field>
|
|
188
|
+
<x-field data-name="limit" data-type="number" data-required="false" data-default="0" data-desc="可以铸造的最大资产数量(0 表示无限制)。"></x-field>
|
|
189
|
+
<x-field data-name="trustedIssuers" data-type="string[]" data-required="false" data-desc="允许从此工厂铸造的钱包地址列表。"></x-field>
|
|
190
|
+
<x-field data-name="input" data-type="object" data-required="true" data-desc="定义铸造所需的输入。"></x-field>
|
|
191
|
+
<x-field data-name="output" data-type="object" data-required="true" data-desc="定义铸造资产的结构,通常使用模板。"></x-field>
|
|
192
|
+
</x-field>
|
|
193
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="拥有该工厂的钱包。"></x-field>
|
|
194
|
+
</x-field-group>
|
|
195
|
+
|
|
196
|
+
**返回**
|
|
197
|
+
|
|
198
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建工厂地址的数组。"></x-field>
|
|
199
|
+
|
|
200
|
+
**示例**
|
|
201
|
+
|
|
202
|
+
```javascript 发送 CreateFactoryTx icon=logos:javascript
|
|
203
|
+
const factoryConfig = {
|
|
204
|
+
name: '票务工厂',
|
|
205
|
+
description: '铸造活动门票',
|
|
206
|
+
limit: 1000,
|
|
207
|
+
input: { ... },
|
|
208
|
+
output: { ... },
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
const [txHash, factoryAddress] = await client.createAssetFactory({
|
|
212
|
+
factory: factoryConfig,
|
|
213
|
+
wallet: eventCreatorWallet,
|
|
214
|
+
});
|
|
215
|
+
console.log('创建工厂交易哈希:', txHash);
|
|
216
|
+
console.log('新工厂地址:', factoryAddress);
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### acquireAsset
|
|
220
|
+
|
|
221
|
+
从现有资产工厂获取(铸造)一个新资产。这通常由将拥有该资产的最终用户发起。
|
|
222
|
+
|
|
223
|
+
**参数**
|
|
224
|
+
|
|
225
|
+
<x-field-group>
|
|
226
|
+
<x-field data-name="itx" data-type="AcquireAssetV2Tx" data-required="true" data-desc="内部交易对象,通常使用像 `preMintAsset` 这样的助手来准备。"></x-field>
|
|
227
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="获取资产的用户的钱包。"></x-field>
|
|
228
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="委托人的地址,如果适用的话。"></x-field>
|
|
229
|
+
</x-field-group>
|
|
230
|
+
|
|
231
|
+
**返回**
|
|
232
|
+
|
|
233
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
234
|
+
|
|
235
|
+
**示例**
|
|
236
|
+
|
|
237
|
+
```javascript 发送 AcquireAssetV2Tx icon=logos:javascript
|
|
238
|
+
// 首先,准备铸造交易(例如,在服务器上)
|
|
239
|
+
const itx = await client.preMintAsset({
|
|
240
|
+
factory: factoryAddress,
|
|
241
|
+
owner: userWallet.address,
|
|
242
|
+
wallet: issuerWallet,
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// 然后,用户发送交易
|
|
246
|
+
const txHash = await client.acquireAsset({ itx, wallet: userWallet });
|
|
247
|
+
console.log('获取资产交易哈希:', txHash);
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### mintAsset
|
|
251
|
+
|
|
252
|
+
这是 `acquireAsset` 的发行方对应操作。它允许受信任的发行方从工厂铸造资产并将其分配给指定的所有者。
|
|
253
|
+
|
|
254
|
+
**参数**
|
|
255
|
+
|
|
256
|
+
<x-field-group>
|
|
257
|
+
<x-field data-name="itx" data-type="MintAssetTx" data-required="true" data-desc="内部交易对象,通常使用 `preMintAsset` 准备。"></x-field>
|
|
258
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="受信任发行方的钱包。"></x-field>
|
|
259
|
+
</x-field-group>
|
|
260
|
+
|
|
261
|
+
**返回**
|
|
262
|
+
|
|
263
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
264
|
+
|
|
265
|
+
**示例**
|
|
266
|
+
|
|
267
|
+
```javascript 发送 MintAssetTx icon=logos:javascript
|
|
268
|
+
const itx = await client.preMintAsset({
|
|
269
|
+
factory: factoryAddress,
|
|
270
|
+
owner: userWallet.address,
|
|
271
|
+
wallet: issuerWallet,
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
const txHash = await client.mintAsset({ itx, wallet: issuerWallet });
|
|
275
|
+
console.log('铸造资产交易哈希:', txHash);
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 代币管理
|
|
281
|
+
|
|
282
|
+
### createTokenFactory
|
|
283
|
+
|
|
284
|
+
创建一个新工厂,用于铸造和销毁特定的可替代代币,通常基于联合曲线定价模型。
|
|
285
|
+
|
|
286
|
+
**参数**
|
|
287
|
+
|
|
288
|
+
<x-field-group>
|
|
289
|
+
<x-field data-name="feeRate" data-type="number" data-required="false" data-default="0" data-desc="铸造和销毁操作的手续费率。"></x-field>
|
|
290
|
+
<x-field data-name="curve" data-type="object" data-required="true" data-desc="用于定价的联合曲线配置。"></x-field>
|
|
291
|
+
<x-field data-name="token" data-type="object" data-required="true">
|
|
292
|
+
<x-field-desc markdown>要创建的代币的配置。这包括 `name`、`symbol`、`decimal` 和 `maxTotalSupply` 等属性。</x-field-desc>
|
|
293
|
+
</x-field>
|
|
294
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="代币工厂的可选元数据。"></x-field>
|
|
295
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="工厂所有者的钱包。"></x-field>
|
|
296
|
+
</x-field-group>
|
|
297
|
+
|
|
298
|
+
**返回**
|
|
299
|
+
|
|
300
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的代币工厂地址的数组。"></x-field>
|
|
301
|
+
|
|
302
|
+
**示例**
|
|
303
|
+
|
|
304
|
+
```javascript 发送 CreateTokenFactoryTx icon=logos:javascript
|
|
305
|
+
const [txHash, factoryAddress] = await client.createTokenFactory({
|
|
306
|
+
feeRate: 100, // 1%
|
|
307
|
+
curve: { fixedPrice: '1' }, // 每个新代币 1 个原生代币
|
|
308
|
+
token: {
|
|
309
|
+
name: '我的社区代币',
|
|
310
|
+
symbol: 'MCT',
|
|
311
|
+
decimal: 18,
|
|
312
|
+
maxTotalSupply: '1000000',
|
|
313
|
+
},
|
|
314
|
+
wallet: creatorWallet,
|
|
315
|
+
});
|
|
316
|
+
console.log('创建代币工厂交易哈希:', txHash);
|
|
317
|
+
console.log('新代币工厂地址:', factoryAddress);
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### updateTokenFactory
|
|
321
|
+
|
|
322
|
+
更新现有代币工厂的 `feeRate` 和 `data`。
|
|
323
|
+
|
|
324
|
+
**参数**
|
|
325
|
+
|
|
326
|
+
<x-field-group>
|
|
327
|
+
<x-field data-name="address" data-type="string" data-required="true" data-desc="要更新的代币工厂的地址。"></x-field>
|
|
328
|
+
<x-field data-name="feeRate" data-type="number" data-required="false" data-desc="新的铸造和销毁手续费率。"></x-field>
|
|
329
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="代币工厂的新元数据。"></x-field>
|
|
330
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="工厂所有者的钱包。"></x-field>
|
|
331
|
+
</x-field-group>
|
|
332
|
+
|
|
333
|
+
**返回**
|
|
334
|
+
|
|
335
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
336
|
+
|
|
337
|
+
**示例**
|
|
338
|
+
|
|
339
|
+
```javascript 发送 UpdateTokenFactoryTx icon=logos:javascript
|
|
340
|
+
const txHash = await client.updateTokenFactory({
|
|
341
|
+
address: 'z2f...',
|
|
342
|
+
feeRate: 50, // 0.5%
|
|
343
|
+
wallet: ownerWallet,
|
|
344
|
+
});
|
|
345
|
+
console.log('更新代币工厂交易哈希:', txHash);
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### mintToken
|
|
349
|
+
|
|
350
|
+
从代币工厂铸造新代币,以换取储备代币(通常是原生链代币)。成本由工厂的联合曲线决定。
|
|
351
|
+
|
|
352
|
+
**参数**
|
|
353
|
+
|
|
354
|
+
<x-field-group>
|
|
355
|
+
<x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="代币工厂的地址。"></x-field>
|
|
356
|
+
<x-field data-name="amount" data-type="number" data-required="true" data-desc="要铸造的新代币数量。"></x-field>
|
|
357
|
+
<x-field data-name="receiver" data-type="string" data-required="true" data-desc="将接收新铸造代币的地址。"></x-field>
|
|
358
|
+
<x-field data-name="maxReserve" data-type="number" data-required="true" data-desc="用户愿意支付的储备代币的最大数量。这可以作为滑点保护。"></x-field>
|
|
359
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="交易的可选元数据。"></x-field>
|
|
360
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发起铸造的钱包。"></x-field>
|
|
361
|
+
</x-field-group>
|
|
362
|
+
|
|
363
|
+
**返回**
|
|
364
|
+
|
|
365
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
366
|
+
|
|
367
|
+
**示例**
|
|
368
|
+
|
|
369
|
+
```javascript 发送 MintTokenTx icon=logos:javascript
|
|
370
|
+
const txHash = await client.mintToken({
|
|
371
|
+
tokenFactory: 'z2f...',
|
|
372
|
+
amount: 100,
|
|
373
|
+
receiver: userWallet.address,
|
|
374
|
+
maxReserve: 105, // 愿意最多支付 105 个原生代币
|
|
375
|
+
wallet: userWallet,
|
|
376
|
+
});
|
|
377
|
+
console.log('铸造代币交易哈希:', txHash);
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### burnToken
|
|
381
|
+
|
|
382
|
+
在工厂销毁现有代币,以换取底层的储备代币。收到的储备代币数量由工厂的联合曲线决定。
|
|
383
|
+
|
|
384
|
+
**参数**
|
|
385
|
+
|
|
386
|
+
<x-field-group>
|
|
387
|
+
<x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="代币工厂的地址。"></x-field>
|
|
388
|
+
<x-field data-name="amount" data-type="number" data-required="true" data-desc="要销毁的代币数量。"></x-field>
|
|
389
|
+
<x-field data-name="receiver" data-type="string" data-required="true" data-desc="将接收储备代币的地址。"></x-field>
|
|
390
|
+
<x-field data-name="minReserve" data-type="number" data-required="true" data-desc="用户期望收到的储备代币的最小数量。这可以作为滑点保护。"></x-field>
|
|
391
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="交易的可选元数据。"></x-field>
|
|
392
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发起销毁的钱包。"></x-field>
|
|
393
|
+
</x-field-group>
|
|
394
|
+
|
|
395
|
+
**返回**
|
|
396
|
+
|
|
397
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
398
|
+
|
|
399
|
+
**示例**
|
|
400
|
+
|
|
401
|
+
```javascript 发送 BurnTokenTx icon=logos:javascript
|
|
402
|
+
const txHash = await client.burnToken({
|
|
403
|
+
tokenFactory: 'z2f...',
|
|
404
|
+
amount: 50,
|
|
405
|
+
receiver: userWallet.address,
|
|
406
|
+
minReserve: 48, // 期望至少收到 48 个原生代币
|
|
407
|
+
wallet: userWallet,
|
|
408
|
+
});
|
|
409
|
+
console.log('销毁代币交易哈希:', txHash);
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## 转账与交换
|
|
415
|
+
|
|
416
|
+
### transfer
|
|
417
|
+
|
|
418
|
+
在单笔交易中将原生代币、自定义可替代代币和/或资产(NFT)转移到另一个账户。
|
|
419
|
+
|
|
420
|
+
**参数**
|
|
421
|
+
|
|
422
|
+
<x-field-group>
|
|
423
|
+
<x-field data-name="to" data-type="string" data-required="true" data-desc="接收方的地址。"></x-field>
|
|
424
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发送方的钱包。"></x-field>
|
|
425
|
+
<x-field data-name="token" data-type="number" data-required="false" data-default="0" data-desc="要转移的链上原生代币的数量。"></x-field>
|
|
426
|
+
<x-field data-name="assets" data-type="string[]" data-required="false" data-desc="要转移的资产地址(NFT)数组。"></x-field>
|
|
427
|
+
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要转移的自定义可替代代币对象数组。">
|
|
428
|
+
<x-field data-name="address" data-type="string" data-required="true" data-desc="自定义代币合约的地址。"></x-field>
|
|
429
|
+
<x-field data-name="value" data-type="number" data-required="true" data-desc="要转移的自定义代币的数量。"></x-field>
|
|
430
|
+
</x-field>
|
|
431
|
+
<x-field data-name="memo" data-type="string" data-required="false" data-desc="交易的可选备注。"></x-field>
|
|
432
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="委托人的地址,如果适用。"></x-field>
|
|
433
|
+
</x-field-group>
|
|
434
|
+
|
|
435
|
+
**返回**
|
|
436
|
+
|
|
437
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
438
|
+
|
|
439
|
+
**示例**
|
|
440
|
+
|
|
441
|
+
```javascript 发送 TransferV2Tx icon=logos:javascript
|
|
442
|
+
const txHash = await client.transfer({
|
|
443
|
+
to: 'z1sb...',
|
|
444
|
+
token: 1.5, // 1.5 个原生链代币
|
|
445
|
+
assets: ['z3g...'], // 一个 NFT
|
|
446
|
+
tokens: [{ address: 'z2t...', value: 100 }], // 100 个自定义代币
|
|
447
|
+
memo: '支付服务费用',
|
|
448
|
+
wallet: senderWallet,
|
|
449
|
+
});
|
|
450
|
+
console.log('转账交易哈希:', txHash);
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
### prepareExchange
|
|
454
|
+
|
|
455
|
+
准备原子交换交易的发送方部分。它会对发送方的报价进行签名,并返回一个可以传递给接收方的交易对象。
|
|
456
|
+
|
|
457
|
+
**参数**
|
|
458
|
+
|
|
459
|
+
<x-field-group>
|
|
460
|
+
<x-field data-name="receiver" data-type="string" data-required="true" data-desc="交换中另一方的地址。"></x-field>
|
|
461
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发出要约的用户的钱包。"></x-field>
|
|
462
|
+
<x-field data-name="offerToken" data-type="number" data-required="false" data-desc="提供的原生代币数量。"></x-field>
|
|
463
|
+
<x-field data-name="offerAssets" data-type="string[]" data-required="false" data-desc="提供的资产地址数组。"></x-field>
|
|
464
|
+
<x-field data-name="offerTokens" data-type="object[]" data-required="false" data-desc="提供的自定义可替代代币数组。"></x-field>
|
|
465
|
+
<x-field data-name="demandToken" data-type="number" data-required="false" data-desc="要求的回报原生代币数量。"></x-field>
|
|
466
|
+
<x-field data-name="demandAssets" data-type="string[]" data-required="false" data-desc="要求的回报资产地址数组。"></x-field>
|
|
467
|
+
<x-field data-name="demandTokens" data-type="object[]" data-required="false" data-desc="要求的自定义可替代代币数组。"></x-field>
|
|
468
|
+
<x-field data-name="memo" data-type="string" data-required="false" data-desc="交易的可选备注。"></x-field>
|
|
469
|
+
</x-field-group>
|
|
470
|
+
|
|
471
|
+
**返回**
|
|
472
|
+
|
|
473
|
+
<x-field data-name="transactionObject" data-type="Promise<object>" data-desc="部分签名的交易对象。"></x-field>
|
|
474
|
+
|
|
475
|
+
### finalizeExchange
|
|
476
|
+
|
|
477
|
+
完成原子交换的接收方部分。它接收来自 `prepareExchange` 的部分签名交易,添加接收方的签名,并返回完全签名的交易对象。
|
|
478
|
+
|
|
479
|
+
**参数**
|
|
480
|
+
|
|
481
|
+
<x-field-group>
|
|
482
|
+
<x-field data-name="tx" data-type="object" data-required="true" data-desc="从 `prepareExchange` 返回的交易对象。"></x-field>
|
|
483
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="接受要约的用户的钱包。"></x-field>
|
|
484
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="多重签名中的额外数据。"></x-field>
|
|
485
|
+
</x-field-group>
|
|
486
|
+
|
|
487
|
+
**返回**
|
|
488
|
+
|
|
489
|
+
<x-field data-name="transactionObject" data-type="Promise<object>" data-desc="完全签名的多重签名交易对象。"></x-field>
|
|
490
|
+
|
|
491
|
+
### exchange
|
|
492
|
+
|
|
493
|
+
将完全签名的交换交易发送到区块链。在 `finalizeExchange` 完成后,任何一方都可以调用此函数。
|
|
494
|
+
|
|
495
|
+
**参数**
|
|
496
|
+
|
|
497
|
+
<x-field-group>
|
|
498
|
+
<x-field data-name="tx" data-type="object" data-required="true" data-desc="从 `finalizeExchange` 返回的交易对象。"></x-field>
|
|
499
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="提交交易的用户的钱包。"></x-field>
|
|
500
|
+
</x-field-group>
|
|
501
|
+
|
|
502
|
+
**返回**
|
|
503
|
+
|
|
504
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
505
|
+
|
|
506
|
+
**示例 (完整交换流程)**
|
|
507
|
+
|
|
508
|
+
```javascript 执行原子交换 icon=logos:javascript
|
|
509
|
+
// 1. 要约方准备交易
|
|
510
|
+
const offerTx = await client.prepareExchange({
|
|
511
|
+
receiver: receiverWallet.address,
|
|
512
|
+
offerAssets: ['z3g...'], // 提供一个 NFT
|
|
513
|
+
demandToken: 10, // 要求 10 个原生代币
|
|
514
|
+
wallet: offererWallet,
|
|
515
|
+
});
|
|
516
|
+
|
|
517
|
+
// 2. 接收方完成交易
|
|
518
|
+
const finalTx = await client.finalizeExchange({
|
|
519
|
+
tx: offerTx,
|
|
520
|
+
wallet: receiverWallet,
|
|
521
|
+
});
|
|
522
|
+
|
|
523
|
+
// 3. 任何一方都可以发送最终确定的交易
|
|
524
|
+
const txHash = await client.exchange({ tx: finalTx, wallet: offererWallet });
|
|
525
|
+
console.log('交换交易哈希:', txHash);
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
## 质押
|
|
531
|
+
|
|
532
|
+
### stake
|
|
533
|
+
|
|
534
|
+
将代币和/或资产质押到一个接收地址。质押会锁定资源,通常用于换取奖励或提供安全性。
|
|
535
|
+
|
|
536
|
+
**参数**
|
|
537
|
+
|
|
538
|
+
<x-field-group>
|
|
539
|
+
<x-field data-name="to" data-type="string" data-required="true" data-desc="质押接收方的地址。"></x-field>
|
|
540
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押者的钱包。"></x-field>
|
|
541
|
+
<x-field data-name="assets" data-type="string[]" data-required="false" data-desc="要质押的资产地址数组。"></x-field>
|
|
542
|
+
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要质押的可替代代币对象数组。"></x-field>
|
|
543
|
+
<x-field data-name="locked" data-type="boolean" data-required="false" data-default="false" data-desc="质押在创建时是否被锁定。"></x-field>
|
|
544
|
+
<x-field data-name="slashers" data-type="string[]" data-required="false" data-desc="允许惩罚此质押的地址列表。"></x-field>
|
|
545
|
+
<x-field data-name="message" data-type="string" data-required="false" data-desc="质押的可选备注。"></x-field>
|
|
546
|
+
</x-field-group>
|
|
547
|
+
|
|
548
|
+
**返回**
|
|
549
|
+
|
|
550
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的质押地址的数组。"></x-field>
|
|
551
|
+
|
|
552
|
+
**示例**
|
|
553
|
+
|
|
554
|
+
```javascript 发送 StakeTx icon=logos:javascript
|
|
555
|
+
const [txHash, stakeAddress] = await client.stake({
|
|
556
|
+
to: 'z1v...',
|
|
557
|
+
tokens: [{ address: 'z2t...', value: 5000 }],
|
|
558
|
+
message: '为验证者奖励而质押',
|
|
559
|
+
wallet: userWallet,
|
|
560
|
+
});
|
|
561
|
+
console.log('质押交易哈希:', txHash);
|
|
562
|
+
console.log('新质押地址:', stakeAddress);
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
### revokeStake
|
|
566
|
+
|
|
567
|
+
撤销先前质押的代币和/或资产,启动将其返还给所有者的过程。请注意,在可以领取资产之前可能存在一个解绑期。
|
|
568
|
+
|
|
569
|
+
**参数**
|
|
570
|
+
|
|
571
|
+
<x-field-group>
|
|
572
|
+
<x-field data-name="from" data-type="string" data-required="true" data-desc="要从中撤销质押的地址。"></x-field>
|
|
573
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押所有者的钱包。"></x-field>
|
|
574
|
+
<x-field data-name="assets" data-type="string[]" data-required="false" data-desc="要撤销的资产地址数组。"></x-field>
|
|
575
|
+
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要撤销的可替代代币对象数组。"></x-field>
|
|
576
|
+
</x-field-group>
|
|
577
|
+
|
|
578
|
+
**返回**
|
|
579
|
+
|
|
580
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
581
|
+
|
|
582
|
+
**示例**
|
|
583
|
+
|
|
584
|
+
```javascript 发送 RevokeStakeTx icon=logos:javascript
|
|
585
|
+
const txHash = await client.revokeStake({
|
|
586
|
+
from: 'z6s...',
|
|
587
|
+
tokens: [{ address: 'z2t...', value: 1000 }],
|
|
588
|
+
wallet: userWallet,
|
|
589
|
+
});
|
|
590
|
+
console.log('撤销质押交易哈希:', txHash);
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
### claimStake
|
|
594
|
+
|
|
595
|
+
从已成功撤销并度过解绑期的质押中领取物品。
|
|
596
|
+
|
|
597
|
+
**参数**
|
|
598
|
+
|
|
599
|
+
<x-field-group>
|
|
600
|
+
<x-field data-name="from" data-type="string" data-required="true" data-desc="要从中领取质押的地址。"></x-field>
|
|
601
|
+
<x-field data-name="evidence" data-type="string" data-required="true" data-desc="`revokeStake` 交易的交易哈希。"></x-field>
|
|
602
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押所有者的钱包。"></x-field>
|
|
603
|
+
</x-field-group>
|
|
604
|
+
|
|
605
|
+
**返回**
|
|
606
|
+
|
|
607
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
608
|
+
|
|
609
|
+
**示例**
|
|
610
|
+
|
|
611
|
+
```javascript 发送 ClaimStakeTx icon=logos:javascript
|
|
612
|
+
const revokeTxHash = '0x123...abc';
|
|
613
|
+
const txHash = await client.claimStake({
|
|
614
|
+
from: 'z6s...',
|
|
615
|
+
evidence: revokeTxHash,
|
|
616
|
+
wallet: userWallet,
|
|
617
|
+
});
|
|
618
|
+
console.log('领取质押交易哈希:', txHash);
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
### slashStake
|
|
622
|
+
|
|
623
|
+
允许指定的惩罚者对质押进行惩罚,通常是因为不当行为。被惩罚的资产将被转移到指定的金库地址。
|
|
624
|
+
|
|
625
|
+
**参数**
|
|
626
|
+
|
|
627
|
+
<x-field-group>
|
|
628
|
+
<x-field data-name="from" data-type="string" data-required="true" data-desc="要惩罚的质押地址。"></x-field>
|
|
629
|
+
<x-field data-name="reason" data-type="string" data-required="true" data-desc="解释惩罚原因的消息。"></x-field>
|
|
630
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="指定惩罚者的钱包。"></x-field>
|
|
631
|
+
<x-field data-name="assets" data-type="string[]" data-required="false" data-desc="要惩罚的资产地址数组。"></x-field>
|
|
632
|
+
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要惩罚的可替代代币对象数组。"></x-field>
|
|
633
|
+
</x-field-group>
|
|
634
|
+
|
|
635
|
+
**返回**
|
|
636
|
+
|
|
637
|
+
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
638
|
+
|
|
639
|
+
**示例**
|
|
640
|
+
|
|
641
|
+
```javascript 发送 SlashStakeTx icon=logos:javascript
|
|
642
|
+
const txHash = await client.slashStake({
|
|
643
|
+
from: 'z6s...',
|
|
644
|
+
reason: '验证者停机',
|
|
645
|
+
tokens: [{ address: 'z2t...', value: 500 }],
|
|
646
|
+
wallet: slasherWallet,
|
|
647
|
+
});
|
|
648
|
+
console.log('惩罚质押交易哈希:', txHash);
|
|
649
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# APIリファレンス
|
|
2
|
+
|
|
3
|
+
OCAPクライアントAPIリファレンスへようこそ。このセクションでは、利用可能なすべてのクラス、メソッド、データ型に関する包括的で検索可能なリファレンスを提供します。GraphQLメソッドの詳細、トランザクションヘルパーのパラメータ、または応答オブジェクトの構造を探している場合でも、ここで必要な詳細情報を見つけることができます。
|
|
4
|
+
|
|
5
|
+
クライアントの機能をさらに詳しく知るには、次のセクションをご覧ください:
|
|
6
|
+
|
|
7
|
+
<x-cards data-columns="2">
|
|
8
|
+
<x-card data-title="ヘルパーメソッド" data-icon="lucide:function-square" data-href="/api-reference/client-methods">
|
|
9
|
+
`getType`、`decodeTx`、`fromUnitToToken` などのコアクライアントヘルパーメソッドに関する詳細なドキュメント。
|
|
10
|
+
</x-card>
|
|
11
|
+
<x-card data-title="クエリ&ミューテーションメソッド" data-icon="lucide:database-zap" data-href="/api-reference/query-mutation-methods">
|
|
12
|
+
チェーンからの読み取りと書き込みのための、利用可能なすべてのGraphQLクエリおよびミューテーションメソッドの完全なリスト。
|
|
13
|
+
</x-card>
|
|
14
|
+
<x-card data-title="高レベルAPI" data-icon="lucide:zap" data-href="/api-reference/transaction-helpers">
|
|
15
|
+
トークンの転送や資産の管理などの一般的なワークフローを簡素化する高レベル関数のリファレンス。
|
|
16
|
+
</x-card>
|
|
17
|
+
<x-card data-title="低レベルAPI" data-icon="lucide:cpu" data-href="/api-reference/low-level-api">
|
|
18
|
+
トランザクションのライフサイクルを完全に制御するために、トランザクションを手動で構築、署名、送信する方法を学びます。
|
|
19
|
+
</x-card>
|
|
20
|
+
<x-card data-title="データ型" data-icon="lucide:box" data-href="/api-reference/data-types">
|
|
21
|
+
クライアントAPI全体で使用されるすべてのカスタムデータ構造、入力パラメータ、および応答オブジェクトを定義します。
|
|
22
|
+
</x-card>
|
|
23
|
+
</x-cards>
|