@ocap/client 1.25.4 → 1.25.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/report.html +1 -1
- package/docs/api-reference-client-methods.ja.md +229 -0
- package/docs/api-reference-client-methods.zh-TW.md +229 -0
- package/docs/api-reference-client-methods.zh.md +27 -27
- package/docs/api-reference-data-types.ja.md +482 -0
- package/docs/api-reference-data-types.zh-TW.md +482 -0
- package/docs/api-reference-data-types.zh.md +14 -14
- package/docs/api-reference-low-level-api.ja.md +228 -0
- package/docs/api-reference-low-level-api.zh-TW.md +228 -0
- package/docs/api-reference-low-level-api.zh.md +39 -39
- package/docs/api-reference-query-mutation-methods.ja.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh-TW.md +814 -0
- package/docs/api-reference-query-mutation-methods.zh.md +158 -158
- package/docs/api-reference-transaction-helpers.ja.md +649 -0
- package/docs/api-reference-transaction-helpers.zh-TW.md +649 -0
- package/docs/api-reference-transaction-helpers.zh.md +112 -112
- package/docs/api-reference.ja.md +23 -0
- package/docs/api-reference.zh-TW.md +23 -0
- package/docs/api-reference.zh.md +6 -6
- package/docs/core-concepts-client-architecture.ja.md +102 -0
- package/docs/core-concepts-client-architecture.zh-TW.md +102 -0
- package/docs/core-concepts-client-architecture.zh.md +21 -21
- package/docs/core-concepts-event-subscriptions.ja.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh-TW.md +123 -0
- package/docs/core-concepts-event-subscriptions.zh.md +22 -22
- package/docs/core-concepts-gas-payment.ja.md +111 -0
- package/docs/core-concepts-gas-payment.zh-TW.md +111 -0
- package/docs/core-concepts-gas-payment.zh.md +30 -30
- package/docs/core-concepts-transaction-lifecycle.ja.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh-TW.md +183 -0
- package/docs/core-concepts-transaction-lifecycle.zh.md +51 -51
- package/docs/core-concepts.ja.md +22 -0
- package/docs/core-concepts.zh-TW.md +22 -0
- package/docs/core-concepts.zh.md +6 -6
- package/docs/getting-started-basic-usage.ja.md +87 -0
- package/docs/getting-started-basic-usage.zh-TW.md +87 -0
- package/docs/getting-started-basic-usage.zh.md +17 -17
- package/docs/getting-started-installation.ja.md +60 -0
- package/docs/getting-started-installation.zh-TW.md +60 -0
- package/docs/getting-started-installation.zh.md +14 -14
- package/docs/getting-started.ja.md +16 -0
- package/docs/getting-started.zh-TW.md +16 -0
- package/docs/getting-started.zh.md +6 -5
- package/docs/how-to-guides-delegate-permissions.ja.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh-TW.md +167 -0
- package/docs/how-to-guides-delegate-permissions.zh.md +27 -28
- package/docs/how-to-guides-manage-accounts.ja.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh-TW.md +73 -0
- package/docs/how-to-guides-manage-accounts.zh.md +14 -14
- package/docs/how-to-guides-manage-assets.ja.md +255 -0
- package/docs/how-to-guides-manage-assets.zh-TW.md +255 -0
- package/docs/how-to-guides-manage-assets.zh.md +60 -60
- package/docs/how-to-guides-manage-tokens.ja.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh-TW.md +179 -0
- package/docs/how-to-guides-manage-tokens.zh.md +52 -52
- package/docs/how-to-guides-stake-tokens-and-assets.ja.md +205 -0
- package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +205 -0
- package/docs/how-to-guides-stake-tokens-and-assets.zh.md +44 -44
- package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +179 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +179 -0
- package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +47 -47
- package/docs/how-to-guides.ja.md +27 -0
- package/docs/how-to-guides.zh-TW.md +27 -0
- package/docs/how-to-guides.zh.md +11 -11
- package/docs/overview.ja.md +70 -0
- package/docs/overview.zh-TW.md +70 -0
- package/docs/overview.zh.md +8 -8
- package/package.json +14 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 高级 API
|
|
2
2
|
|
|
3
|
-
交易助手是 OCAP Client
|
|
3
|
+
交易助手是 OCAP Client 内置的高级函数,它抽象了创建和签署常见交易的复杂性。您可以使用这些便捷的方法来处理创建资产、转移代币、质押和执行原子交换等工作流程,而无需手动构建交易对象。这些助手可确保交易结构的正确性,并显著简化开发过程。
|
|
4
4
|
|
|
5
5
|
要更深入地了解底层交易生命周期,请参阅[核心概念:交易生命周期](./core-concepts-transaction-lifecycle.md)。
|
|
6
6
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
**示例**
|
|
27
27
|
|
|
28
|
-
```javascript
|
|
28
|
+
```javascript 发送 AccountMigrateTx icon=logos:javascript
|
|
29
29
|
const txHash = await client.migrateAccount({
|
|
30
30
|
from: oldWallet,
|
|
31
31
|
to: newWallet,
|
|
@@ -35,18 +35,18 @@ console.log('迁移交易哈希:', txHash);
|
|
|
35
35
|
|
|
36
36
|
### delegate
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
授权另一个账户(受托人)代表委托人发送特定类型的交易。这是一个用于创建安全、沙盒化权限的强大功能。
|
|
39
39
|
|
|
40
40
|
**参数**
|
|
41
41
|
|
|
42
42
|
<x-field-group>
|
|
43
|
-
<x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="
|
|
44
|
-
<x-field data-name="to" data-type="WalletObject" data-required="true" data-desc="
|
|
45
|
-
<x-field data-name="privileges" data-type="array" data-required="true" data-desc="
|
|
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
46
|
<x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="被允许的交易的类型 URL(例如,'fg:t:transfer_v2')。"></x-field>
|
|
47
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="
|
|
49
|
-
<x-field data-name="assets" data-type="array" 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
50
|
</x-field>
|
|
51
51
|
</x-field>
|
|
52
52
|
</x-field-group>
|
|
@@ -57,7 +57,7 @@ console.log('迁移交易哈希:', txHash);
|
|
|
57
57
|
|
|
58
58
|
**示例**
|
|
59
59
|
|
|
60
|
-
```javascript
|
|
60
|
+
```javascript 发送 DelegateTx icon=logos:javascript
|
|
61
61
|
const [txHash, delegateAddress] = await client.delegate({
|
|
62
62
|
from: userWallet,
|
|
63
63
|
to: appWallet,
|
|
@@ -80,7 +80,7 @@ console.log('委托地址:', delegateAddress);
|
|
|
80
80
|
<x-field-group>
|
|
81
81
|
<x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="委托人的钱包。"></x-field>
|
|
82
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="
|
|
83
|
+
<x-field data-name="privileges" data-type="array" data-required="true" data-desc="一个权限对象数组,指定要撤销的权限。">
|
|
84
84
|
<x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="要撤销的交易的类型 URL(例如,'fg:t:transfer_v2')。"></x-field>
|
|
85
85
|
</x-field>
|
|
86
86
|
</x-field-group>
|
|
@@ -91,13 +91,13 @@ console.log('委托地址:', delegateAddress);
|
|
|
91
91
|
|
|
92
92
|
**示例**
|
|
93
93
|
|
|
94
|
-
```javascript
|
|
94
|
+
```javascript 发送 RevokeDelegateTx icon=logos:javascript
|
|
95
95
|
const txHash = await client.revokeDelegate({
|
|
96
96
|
from: userWallet,
|
|
97
97
|
to: appWallet,
|
|
98
98
|
privileges: ['fg:t:transfer_v2'],
|
|
99
99
|
});
|
|
100
|
-
console.log('
|
|
100
|
+
console.log('撤销交易哈希:', txHash);
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
---
|
|
@@ -106,13 +106,13 @@ console.log('撤销委托交易哈希:', txHash);
|
|
|
106
106
|
|
|
107
107
|
### createAsset
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
在区块链上创建一个新的资产(非同质化代币)。
|
|
110
110
|
|
|
111
111
|
**参数**
|
|
112
112
|
|
|
113
113
|
<x-field-group>
|
|
114
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="
|
|
115
|
+
<x-field data-name="data" data-type="object" data-required="true" data-desc="一个包含资产元数据的 JSON 对象。"></x-field>
|
|
116
116
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="资产初始所有者的钱包。"></x-field>
|
|
117
117
|
<x-field data-name="parent" data-type="string" data-required="false" data-desc="父资产的地址,用于建立层级链接。"></x-field>
|
|
118
118
|
<x-field data-name="ttl" data-type="number" data-required="false" data-default="0" data-desc="首次消费后的存活时间(秒)。"></x-field>
|
|
@@ -121,7 +121,7 @@ console.log('撤销委托交易哈希:', txHash);
|
|
|
121
121
|
<x-field data-name="display" data-type="object" data-required="false" data-desc="用于资产显示元数据的对象。"></x-field>
|
|
122
122
|
<x-field data-name="endpoint" data-type="object" data-required="false" data-desc="用于资产端点元数据的对象。"></x-field>
|
|
123
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="
|
|
124
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="如果交易由受托人发送,则为委托人的地址。"></x-field>
|
|
125
125
|
</x-field-group>
|
|
126
126
|
|
|
127
127
|
**返回**
|
|
@@ -130,12 +130,12 @@ console.log('撤销委托交易哈希:', txHash);
|
|
|
130
130
|
|
|
131
131
|
**示例**
|
|
132
132
|
|
|
133
|
-
```javascript
|
|
133
|
+
```javascript 发送 CreateAssetTx icon=logos:javascript
|
|
134
134
|
const [txHash, assetAddress] = await client.createAsset({
|
|
135
|
-
moniker: '
|
|
135
|
+
moniker: '我的第一个 NFT',
|
|
136
136
|
data: {
|
|
137
137
|
typeUrl: 'json',
|
|
138
|
-
value: { name: '
|
|
138
|
+
value: { name: '数字收藏品', description: '一个独特的物品。' },
|
|
139
139
|
},
|
|
140
140
|
wallet: userWallet,
|
|
141
141
|
});
|
|
@@ -150,8 +150,8 @@ console.log('新资产地址:', assetAddress);
|
|
|
150
150
|
**参数**
|
|
151
151
|
|
|
152
152
|
<x-field-group>
|
|
153
|
-
<x-field data-name="address" data-type="string" data-required="true" data-desc="
|
|
154
|
-
<x-field data-name="moniker" data-type="string" data-required="true" data-desc="
|
|
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
155
|
<x-field data-name="data" data-type="object" data-required="true" data-desc="资产的新 JSON 数据对象。"></x-field>
|
|
156
156
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="资产当前所有者的钱包。"></x-field>
|
|
157
157
|
</x-field-group>
|
|
@@ -162,13 +162,13 @@ console.log('新资产地址:', assetAddress);
|
|
|
162
162
|
|
|
163
163
|
**示例**
|
|
164
164
|
|
|
165
|
-
```javascript
|
|
165
|
+
```javascript 发送 UpdateAssetTx icon=logos:javascript
|
|
166
166
|
const txHash = await client.updateAsset({
|
|
167
167
|
address: 'z3g...',
|
|
168
|
-
moniker: '
|
|
168
|
+
moniker: '更新后的 NFT 名称',
|
|
169
169
|
data: {
|
|
170
170
|
typeUrl: 'json',
|
|
171
|
-
value: { name: '
|
|
171
|
+
value: { name: '更新后的收藏品', description: '现在有更多功能!' },
|
|
172
172
|
},
|
|
173
173
|
wallet: userWallet,
|
|
174
174
|
});
|
|
@@ -177,7 +177,7 @@ console.log('更新资产交易哈希:', txHash);
|
|
|
177
177
|
|
|
178
178
|
### createAssetFactory
|
|
179
179
|
|
|
180
|
-
|
|
180
|
+
创建一个资产工厂,作为模板,用于铸造具有一致结构的多个新资产。
|
|
181
181
|
|
|
182
182
|
**参数**
|
|
183
183
|
|
|
@@ -199,10 +199,10 @@ console.log('更新资产交易哈希:', txHash);
|
|
|
199
199
|
|
|
200
200
|
**示例**
|
|
201
201
|
|
|
202
|
-
```javascript
|
|
202
|
+
```javascript 发送 CreateFactoryTx icon=logos:javascript
|
|
203
203
|
const factoryConfig = {
|
|
204
|
-
name: '
|
|
205
|
-
description: '
|
|
204
|
+
name: '票务工厂',
|
|
205
|
+
description: '铸造活动门票',
|
|
206
206
|
limit: 1000,
|
|
207
207
|
input: { ... },
|
|
208
208
|
output: { ... },
|
|
@@ -223,9 +223,9 @@ console.log('新工厂地址:', factoryAddress);
|
|
|
223
223
|
**参数**
|
|
224
224
|
|
|
225
225
|
<x-field-group>
|
|
226
|
-
<x-field data-name="itx" data-type="AcquireAssetV2Tx" data-required="true" data-desc="内部交易对象,通常使用像 `preMintAsset`
|
|
226
|
+
<x-field data-name="itx" data-type="AcquireAssetV2Tx" data-required="true" data-desc="内部交易对象,通常使用像 `preMintAsset` 这样的助手来准备。"></x-field>
|
|
227
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="
|
|
228
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="委托人的地址,如果适用的话。"></x-field>
|
|
229
229
|
</x-field-group>
|
|
230
230
|
|
|
231
231
|
**返回**
|
|
@@ -234,7 +234,7 @@ console.log('新工厂地址:', factoryAddress);
|
|
|
234
234
|
|
|
235
235
|
**示例**
|
|
236
236
|
|
|
237
|
-
```javascript
|
|
237
|
+
```javascript 发送 AcquireAssetV2Tx icon=logos:javascript
|
|
238
238
|
// 首先,准备铸造交易(例如,在服务器上)
|
|
239
239
|
const itx = await client.preMintAsset({
|
|
240
240
|
factory: factoryAddress,
|
|
@@ -264,7 +264,7 @@ console.log('获取资产交易哈希:', txHash);
|
|
|
264
264
|
|
|
265
265
|
**示例**
|
|
266
266
|
|
|
267
|
-
```javascript
|
|
267
|
+
```javascript 发送 MintAssetTx icon=logos:javascript
|
|
268
268
|
const itx = await client.preMintAsset({
|
|
269
269
|
factory: factoryAddress,
|
|
270
270
|
owner: userWallet.address,
|
|
@@ -277,56 +277,56 @@ console.log('铸造资产交易哈希:', txHash);
|
|
|
277
277
|
|
|
278
278
|
---
|
|
279
279
|
|
|
280
|
-
##
|
|
280
|
+
## 代币管理
|
|
281
281
|
|
|
282
282
|
### createTokenFactory
|
|
283
283
|
|
|
284
|
-
|
|
284
|
+
创建一个新工厂,用于铸造和销毁特定的可替代代币,通常基于联合曲线定价模型。
|
|
285
285
|
|
|
286
286
|
**参数**
|
|
287
287
|
|
|
288
288
|
<x-field-group>
|
|
289
|
-
<x-field data-name="feeRate" data-type="number" data-required="false" data-default="0" data-desc="
|
|
289
|
+
<x-field data-name="feeRate" data-type="number" data-required="false" data-default="0" data-desc="铸造和销毁操作的手续费率。"></x-field>
|
|
290
290
|
<x-field data-name="curve" data-type="object" data-required="true" data-desc="用于定价的联合曲线配置。"></x-field>
|
|
291
291
|
<x-field data-name="token" data-type="object" data-required="true">
|
|
292
|
-
<x-field-desc markdown
|
|
292
|
+
<x-field-desc markdown>要创建的代币的配置。这包括 `name`、`symbol`、`decimal` 和 `maxTotalSupply` 等属性。</x-field-desc>
|
|
293
293
|
</x-field>
|
|
294
|
-
<x-field data-name="data" data-type="object" data-required="false" data-desc="
|
|
294
|
+
<x-field data-name="data" data-type="object" data-required="false" data-desc="代币工厂的可选元数据。"></x-field>
|
|
295
295
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="工厂所有者的钱包。"></x-field>
|
|
296
296
|
</x-field-group>
|
|
297
297
|
|
|
298
298
|
**返回**
|
|
299
299
|
|
|
300
|
-
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="
|
|
300
|
+
<x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的代币工厂地址的数组。"></x-field>
|
|
301
301
|
|
|
302
302
|
**示例**
|
|
303
303
|
|
|
304
|
-
```javascript
|
|
304
|
+
```javascript 发送 CreateTokenFactoryTx icon=logos:javascript
|
|
305
305
|
const [txHash, factoryAddress] = await client.createTokenFactory({
|
|
306
306
|
feeRate: 100, // 1%
|
|
307
|
-
curve: { fixedPrice: '1' }, //
|
|
307
|
+
curve: { fixedPrice: '1' }, // 每个新代币 1 个原生代币
|
|
308
308
|
token: {
|
|
309
|
-
name: '
|
|
309
|
+
name: '我的社区代币',
|
|
310
310
|
symbol: 'MCT',
|
|
311
311
|
decimal: 18,
|
|
312
312
|
maxTotalSupply: '1000000',
|
|
313
313
|
},
|
|
314
314
|
wallet: creatorWallet,
|
|
315
315
|
});
|
|
316
|
-
console.log('
|
|
317
|
-
console.log('
|
|
316
|
+
console.log('创建代币工厂交易哈希:', txHash);
|
|
317
|
+
console.log('新代币工厂地址:', factoryAddress);
|
|
318
318
|
```
|
|
319
319
|
|
|
320
320
|
### updateTokenFactory
|
|
321
321
|
|
|
322
|
-
|
|
322
|
+
更新现有代币工厂的 `feeRate` 和 `data`。
|
|
323
323
|
|
|
324
324
|
**参数**
|
|
325
325
|
|
|
326
326
|
<x-field-group>
|
|
327
|
-
<x-field data-name="address" data-type="string" data-required="true" data-desc="
|
|
328
|
-
<x-field data-name="feeRate" data-type="number" data-required="false" data-desc="
|
|
329
|
-
<x-field data-name="data" data-type="object" data-required="false" data-desc="
|
|
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
330
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="工厂所有者的钱包。"></x-field>
|
|
331
331
|
</x-field-group>
|
|
332
332
|
|
|
@@ -336,26 +336,26 @@ console.log('新通证工厂地址:', factoryAddress);
|
|
|
336
336
|
|
|
337
337
|
**示例**
|
|
338
338
|
|
|
339
|
-
```javascript
|
|
339
|
+
```javascript 发送 UpdateTokenFactoryTx icon=logos:javascript
|
|
340
340
|
const txHash = await client.updateTokenFactory({
|
|
341
341
|
address: 'z2f...',
|
|
342
342
|
feeRate: 50, // 0.5%
|
|
343
343
|
wallet: ownerWallet,
|
|
344
344
|
});
|
|
345
|
-
console.log('
|
|
345
|
+
console.log('更新代币工厂交易哈希:', txHash);
|
|
346
346
|
```
|
|
347
347
|
|
|
348
348
|
### mintToken
|
|
349
349
|
|
|
350
|
-
|
|
350
|
+
从代币工厂铸造新代币,以换取储备代币(通常是原生链代币)。成本由工厂的联合曲线决定。
|
|
351
351
|
|
|
352
352
|
**参数**
|
|
353
353
|
|
|
354
354
|
<x-field-group>
|
|
355
|
-
<x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="
|
|
356
|
-
<x-field data-name="amount" data-type="number" data-required="true" data-desc="
|
|
357
|
-
<x-field data-name="receiver" data-type="string" data-required="true" data-desc="
|
|
358
|
-
<x-field data-name="maxReserve" data-type="number" data-required="true" data-desc="
|
|
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
359
|
<x-field data-name="data" data-type="object" data-required="false" data-desc="交易的可选元数据。"></x-field>
|
|
360
360
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发起铸造的钱包。"></x-field>
|
|
361
361
|
</x-field-group>
|
|
@@ -366,28 +366,28 @@ console.log('更新通证工厂交易哈希:', txHash);
|
|
|
366
366
|
|
|
367
367
|
**示例**
|
|
368
368
|
|
|
369
|
-
```javascript
|
|
369
|
+
```javascript 发送 MintTokenTx icon=logos:javascript
|
|
370
370
|
const txHash = await client.mintToken({
|
|
371
371
|
tokenFactory: 'z2f...',
|
|
372
372
|
amount: 100,
|
|
373
373
|
receiver: userWallet.address,
|
|
374
|
-
maxReserve: 105, // 愿意最多支付 105
|
|
374
|
+
maxReserve: 105, // 愿意最多支付 105 个原生代币
|
|
375
375
|
wallet: userWallet,
|
|
376
376
|
});
|
|
377
|
-
console.log('
|
|
377
|
+
console.log('铸造代币交易哈希:', txHash);
|
|
378
378
|
```
|
|
379
379
|
|
|
380
380
|
### burnToken
|
|
381
381
|
|
|
382
|
-
|
|
382
|
+
在工厂销毁现有代币,以换取底层的储备代币。收到的储备代币数量由工厂的联合曲线决定。
|
|
383
383
|
|
|
384
384
|
**参数**
|
|
385
385
|
|
|
386
386
|
<x-field-group>
|
|
387
|
-
<x-field data-name="tokenFactory" data-type="string" data-required="true" data-desc="
|
|
388
|
-
<x-field data-name="amount" data-type="number" data-required="true" data-desc="
|
|
389
|
-
<x-field data-name="receiver" data-type="string" data-required="true" data-desc="
|
|
390
|
-
<x-field data-name="minReserve" data-type="number" data-required="true" data-desc="
|
|
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
391
|
<x-field data-name="data" data-type="object" data-required="false" data-desc="交易的可选元数据。"></x-field>
|
|
392
392
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="发起销毁的钱包。"></x-field>
|
|
393
393
|
</x-field-group>
|
|
@@ -398,15 +398,15 @@ console.log('铸造通证交易哈希:', txHash);
|
|
|
398
398
|
|
|
399
399
|
**示例**
|
|
400
400
|
|
|
401
|
-
```javascript
|
|
401
|
+
```javascript 发送 BurnTokenTx icon=logos:javascript
|
|
402
402
|
const txHash = await client.burnToken({
|
|
403
403
|
tokenFactory: 'z2f...',
|
|
404
404
|
amount: 50,
|
|
405
405
|
receiver: userWallet.address,
|
|
406
|
-
minReserve: 48, // 期望至少收到 48
|
|
406
|
+
minReserve: 48, // 期望至少收到 48 个原生代币
|
|
407
407
|
wallet: userWallet,
|
|
408
408
|
});
|
|
409
|
-
console.log('
|
|
409
|
+
console.log('销毁代币交易哈希:', txHash);
|
|
410
410
|
```
|
|
411
411
|
|
|
412
412
|
---
|
|
@@ -415,21 +415,21 @@ console.log('销毁通证交易哈希:', txHash);
|
|
|
415
415
|
|
|
416
416
|
### transfer
|
|
417
417
|
|
|
418
|
-
|
|
418
|
+
在单笔交易中将原生代币、自定义可替代代币和/或资产(NFT)转移到另一个账户。
|
|
419
419
|
|
|
420
420
|
**参数**
|
|
421
421
|
|
|
422
422
|
<x-field-group>
|
|
423
423
|
<x-field data-name="to" data-type="string" data-required="true" data-desc="接收方的地址。"></x-field>
|
|
424
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="
|
|
425
|
+
<x-field data-name="token" data-type="number" data-required="false" data-default="0" data-desc="要转移的链上原生代币的数量。"></x-field>
|
|
426
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="
|
|
429
|
-
<x-field data-name="value" data-type="number" data-required="true" data-desc="
|
|
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
430
|
</x-field>
|
|
431
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="
|
|
432
|
+
<x-field data-name="delegator" data-type="string" data-required="false" data-desc="委托人的地址,如果适用。"></x-field>
|
|
433
433
|
</x-field-group>
|
|
434
434
|
|
|
435
435
|
**返回**
|
|
@@ -438,13 +438,13 @@ console.log('销毁通证交易哈希:', txHash);
|
|
|
438
438
|
|
|
439
439
|
**示例**
|
|
440
440
|
|
|
441
|
-
```javascript
|
|
441
|
+
```javascript 发送 TransferV2Tx icon=logos:javascript
|
|
442
442
|
const txHash = await client.transfer({
|
|
443
443
|
to: 'z1sb...',
|
|
444
|
-
token: 1.5, // 1.5
|
|
444
|
+
token: 1.5, // 1.5 个原生链代币
|
|
445
445
|
assets: ['z3g...'], // 一个 NFT
|
|
446
|
-
tokens: [{ address: 'z2t...', value: 100 }], // 100
|
|
447
|
-
memo: '
|
|
446
|
+
tokens: [{ address: 'z2t...', value: 100 }], // 100 个自定义代币
|
|
447
|
+
memo: '支付服务费用',
|
|
448
448
|
wallet: senderWallet,
|
|
449
449
|
});
|
|
450
450
|
console.log('转账交易哈希:', txHash);
|
|
@@ -452,19 +452,19 @@ console.log('转账交易哈希:', txHash);
|
|
|
452
452
|
|
|
453
453
|
### prepareExchange
|
|
454
454
|
|
|
455
|
-
|
|
455
|
+
准备原子交换交易的发送方部分。它会对发送方的报价进行签名,并返回一个可以传递给接收方的交易对象。
|
|
456
456
|
|
|
457
457
|
**参数**
|
|
458
458
|
|
|
459
459
|
<x-field-group>
|
|
460
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="
|
|
462
|
-
<x-field data-name="offerToken" data-type="number" data-required="false" data-desc="
|
|
463
|
-
<x-field data-name="offerAssets" data-type="string[]" data-required="false" data-desc="
|
|
464
|
-
<x-field data-name="offerTokens" data-type="object[]" data-required="false" data-desc="
|
|
465
|
-
<x-field data-name="demandToken" data-type="number" data-required="false" data-desc="
|
|
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
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="
|
|
467
|
+
<x-field data-name="demandTokens" data-type="object[]" data-required="false" data-desc="要求的自定义可替代代币数组。"></x-field>
|
|
468
468
|
<x-field data-name="memo" data-type="string" data-required="false" data-desc="交易的可选备注。"></x-field>
|
|
469
469
|
</x-field-group>
|
|
470
470
|
|
|
@@ -474,13 +474,13 @@ console.log('转账交易哈希:', txHash);
|
|
|
474
474
|
|
|
475
475
|
### finalizeExchange
|
|
476
476
|
|
|
477
|
-
|
|
477
|
+
完成原子交换的接收方部分。它接收来自 `prepareExchange` 的部分签名交易,添加接收方的签名,并返回完全签名的交易对象。
|
|
478
478
|
|
|
479
479
|
**参数**
|
|
480
480
|
|
|
481
481
|
<x-field-group>
|
|
482
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="
|
|
483
|
+
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="接受要约的用户的钱包。"></x-field>
|
|
484
484
|
<x-field data-name="data" data-type="object" data-required="false" data-desc="多重签名中的额外数据。"></x-field>
|
|
485
485
|
</x-field-group>
|
|
486
486
|
|
|
@@ -503,18 +503,18 @@ console.log('转账交易哈希:', txHash);
|
|
|
503
503
|
|
|
504
504
|
<x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
|
|
505
505
|
|
|
506
|
-
**示例 (
|
|
506
|
+
**示例 (完整交换流程)**
|
|
507
507
|
|
|
508
|
-
```javascript
|
|
509
|
-
// 1.
|
|
508
|
+
```javascript 执行原子交换 icon=logos:javascript
|
|
509
|
+
// 1. 要约方准备交易
|
|
510
510
|
const offerTx = await client.prepareExchange({
|
|
511
511
|
receiver: receiverWallet.address,
|
|
512
|
-
offerAssets: ['z3g...'], //
|
|
513
|
-
demandToken: 10, // 要求 10
|
|
512
|
+
offerAssets: ['z3g...'], // 提供一个 NFT
|
|
513
|
+
demandToken: 10, // 要求 10 个原生代币
|
|
514
514
|
wallet: offererWallet,
|
|
515
515
|
});
|
|
516
516
|
|
|
517
|
-
// 2.
|
|
517
|
+
// 2. 接收方完成交易
|
|
518
518
|
const finalTx = await client.finalizeExchange({
|
|
519
519
|
tx: offerTx,
|
|
520
520
|
wallet: receiverWallet,
|
|
@@ -531,7 +531,7 @@ console.log('交换交易哈希:', txHash);
|
|
|
531
531
|
|
|
532
532
|
### stake
|
|
533
533
|
|
|
534
|
-
|
|
534
|
+
将代币和/或资产质押到一个接收地址。质押会锁定资源,通常用于换取奖励或提供安全性。
|
|
535
535
|
|
|
536
536
|
**参数**
|
|
537
537
|
|
|
@@ -539,9 +539,9 @@ console.log('交换交易哈希:', txHash);
|
|
|
539
539
|
<x-field data-name="to" data-type="string" data-required="true" data-desc="质押接收方的地址。"></x-field>
|
|
540
540
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押者的钱包。"></x-field>
|
|
541
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="
|
|
543
|
-
<x-field data-name="locked" data-type="boolean" data-required="false" data-default="false" data-desc="
|
|
544
|
-
<x-field data-name="slashers" data-type="string[]" data-required="false" data-desc="
|
|
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
545
|
<x-field data-name="message" data-type="string" data-required="false" data-desc="质押的可选备注。"></x-field>
|
|
546
546
|
</x-field-group>
|
|
547
547
|
|
|
@@ -551,11 +551,11 @@ console.log('交换交易哈希:', txHash);
|
|
|
551
551
|
|
|
552
552
|
**示例**
|
|
553
553
|
|
|
554
|
-
```javascript
|
|
554
|
+
```javascript 发送 StakeTx icon=logos:javascript
|
|
555
555
|
const [txHash, stakeAddress] = await client.stake({
|
|
556
556
|
to: 'z1v...',
|
|
557
557
|
tokens: [{ address: 'z2t...', value: 5000 }],
|
|
558
|
-
message: '
|
|
558
|
+
message: '为验证者奖励而质押',
|
|
559
559
|
wallet: userWallet,
|
|
560
560
|
});
|
|
561
561
|
console.log('质押交易哈希:', txHash);
|
|
@@ -564,15 +564,15 @@ console.log('新质押地址:', stakeAddress);
|
|
|
564
564
|
|
|
565
565
|
### revokeStake
|
|
566
566
|
|
|
567
|
-
|
|
567
|
+
撤销先前质押的代币和/或资产,启动将其返还给所有者的过程。请注意,在可以领取资产之前可能存在一个解绑期。
|
|
568
568
|
|
|
569
569
|
**参数**
|
|
570
570
|
|
|
571
571
|
<x-field-group>
|
|
572
|
-
<x-field data-name="from" data-type="string" data-required="true" data-desc="
|
|
572
|
+
<x-field data-name="from" data-type="string" data-required="true" data-desc="要从中撤销质押的地址。"></x-field>
|
|
573
573
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押所有者的钱包。"></x-field>
|
|
574
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="
|
|
575
|
+
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要撤销的可替代代币对象数组。"></x-field>
|
|
576
576
|
</x-field-group>
|
|
577
577
|
|
|
578
578
|
**返回**
|
|
@@ -581,7 +581,7 @@ console.log('新质押地址:', stakeAddress);
|
|
|
581
581
|
|
|
582
582
|
**示例**
|
|
583
583
|
|
|
584
|
-
```javascript
|
|
584
|
+
```javascript 发送 RevokeStakeTx icon=logos:javascript
|
|
585
585
|
const txHash = await client.revokeStake({
|
|
586
586
|
from: 'z6s...',
|
|
587
587
|
tokens: [{ address: 'z2t...', value: 1000 }],
|
|
@@ -592,12 +592,12 @@ console.log('撤销质押交易哈希:', txHash);
|
|
|
592
592
|
|
|
593
593
|
### claimStake
|
|
594
594
|
|
|
595
|
-
|
|
595
|
+
从已成功撤销并度过解绑期的质押中领取物品。
|
|
596
596
|
|
|
597
597
|
**参数**
|
|
598
598
|
|
|
599
599
|
<x-field-group>
|
|
600
|
-
<x-field data-name="from" data-type="string" data-required="true" data-desc="
|
|
600
|
+
<x-field data-name="from" data-type="string" data-required="true" data-desc="要从中领取质押的地址。"></x-field>
|
|
601
601
|
<x-field data-name="evidence" data-type="string" data-required="true" data-desc="`revokeStake` 交易的交易哈希。"></x-field>
|
|
602
602
|
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="质押所有者的钱包。"></x-field>
|
|
603
603
|
</x-field-group>
|
|
@@ -608,28 +608,28 @@ console.log('撤销质押交易哈希:', txHash);
|
|
|
608
608
|
|
|
609
609
|
**示例**
|
|
610
610
|
|
|
611
|
-
```javascript
|
|
611
|
+
```javascript 发送 ClaimStakeTx icon=logos:javascript
|
|
612
612
|
const revokeTxHash = '0x123...abc';
|
|
613
613
|
const txHash = await client.claimStake({
|
|
614
614
|
from: 'z6s...',
|
|
615
615
|
evidence: revokeTxHash,
|
|
616
616
|
wallet: userWallet,
|
|
617
617
|
});
|
|
618
|
-
console.log('
|
|
618
|
+
console.log('领取质押交易哈希:', txHash);
|
|
619
619
|
```
|
|
620
620
|
|
|
621
621
|
### slashStake
|
|
622
622
|
|
|
623
|
-
|
|
623
|
+
允许指定的惩罚者对质押进行惩罚,通常是因为不当行为。被惩罚的资产将被转移到指定的金库地址。
|
|
624
624
|
|
|
625
625
|
**参数**
|
|
626
626
|
|
|
627
627
|
<x-field-group>
|
|
628
|
-
<x-field data-name="from" data-type="string" data-required="true" data-desc="
|
|
629
|
-
<x-field data-name="reason" data-type="string" data-required="true" data-desc="
|
|
630
|
-
<x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="
|
|
631
|
-
<x-field data-name="assets" data-type="string[]" data-required="false" data-desc="
|
|
632
|
-
<x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="
|
|
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
633
|
</x-field-group>
|
|
634
634
|
|
|
635
635
|
**返回**
|
|
@@ -638,12 +638,12 @@ console.log('认领质押交易哈希:', txHash);
|
|
|
638
638
|
|
|
639
639
|
**示例**
|
|
640
640
|
|
|
641
|
-
```javascript
|
|
641
|
+
```javascript 发送 SlashStakeTx icon=logos:javascript
|
|
642
642
|
const txHash = await client.slashStake({
|
|
643
643
|
from: 'z6s...',
|
|
644
|
-
reason: '
|
|
644
|
+
reason: '验证者停机',
|
|
645
645
|
tokens: [{ address: 'z2t...', value: 500 }],
|
|
646
646
|
wallet: slasherWallet,
|
|
647
647
|
});
|
|
648
|
-
console.log('
|
|
648
|
+
console.log('惩罚质押交易哈希:', txHash);
|
|
649
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>
|