@ocap/client 1.25.5 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +77 -79
  2. package/dist/base.js +2 -2
  3. package/dist/base.js.map +1 -1
  4. package/dist/bundle.js +1 -1
  5. package/dist/extension.js +4 -4
  6. package/dist/extension.js.map +1 -1
  7. package/dist/report.html +2 -2
  8. package/docs/api-reference-client-methods.ja.md +38 -38
  9. package/docs/api-reference-client-methods.zh-TW.md +47 -47
  10. package/docs/api-reference-client-methods.zh.md +34 -34
  11. package/docs/api-reference-data-types.ja.md +20 -20
  12. package/docs/api-reference-data-types.zh-TW.md +17 -17
  13. package/docs/api-reference-data-types.zh.md +24 -24
  14. package/docs/api-reference-low-level-api.ja.md +49 -49
  15. package/docs/api-reference-low-level-api.zh-TW.md +48 -48
  16. package/docs/api-reference-low-level-api.zh.md +43 -43
  17. package/docs/api-reference-query-mutation-methods.ja.md +85 -85
  18. package/docs/api-reference-query-mutation-methods.zh-TW.md +140 -140
  19. package/docs/api-reference-query-mutation-methods.zh.md +141 -141
  20. package/docs/api-reference-transaction-helpers.ja.md +120 -120
  21. package/docs/api-reference-transaction-helpers.zh-TW.md +119 -119
  22. package/docs/api-reference-transaction-helpers.zh.md +153 -153
  23. package/docs/api-reference.ja.md +6 -6
  24. package/docs/api-reference.zh-TW.md +5 -5
  25. package/docs/api-reference.zh.md +8 -8
  26. package/docs/core-concepts-client-architecture.ja.md +26 -26
  27. package/docs/core-concepts-client-architecture.zh-TW.md +34 -34
  28. package/docs/core-concepts-client-architecture.zh.md +26 -26
  29. package/docs/core-concepts-event-subscriptions.ja.md +29 -29
  30. package/docs/core-concepts-event-subscriptions.zh-TW.md +23 -23
  31. package/docs/core-concepts-event-subscriptions.zh.md +29 -29
  32. package/docs/core-concepts-gas-payment.ja.md +27 -27
  33. package/docs/core-concepts-gas-payment.zh-TW.md +28 -28
  34. package/docs/core-concepts-gas-payment.zh.md +32 -32
  35. package/docs/core-concepts-transaction-lifecycle.ja.md +40 -40
  36. package/docs/core-concepts-transaction-lifecycle.zh-TW.md +43 -43
  37. package/docs/core-concepts-transaction-lifecycle.zh.md +49 -49
  38. package/docs/core-concepts.ja.md +7 -7
  39. package/docs/core-concepts.zh-TW.md +6 -6
  40. package/docs/core-concepts.zh.md +7 -7
  41. package/docs/getting-started-basic-usage.ja.md +24 -24
  42. package/docs/getting-started-basic-usage.zh-TW.md +28 -28
  43. package/docs/getting-started-basic-usage.zh.md +24 -24
  44. package/docs/getting-started-installation.ja.md +13 -13
  45. package/docs/getting-started-installation.zh-TW.md +9 -9
  46. package/docs/getting-started-installation.zh.md +15 -15
  47. package/docs/getting-started.ja.md +5 -5
  48. package/docs/getting-started.zh-TW.md +6 -6
  49. package/docs/getting-started.zh.md +6 -7
  50. package/docs/how-to-guides-delegate-permissions.ja.md +21 -21
  51. package/docs/how-to-guides-delegate-permissions.zh-TW.md +20 -21
  52. package/docs/how-to-guides-delegate-permissions.zh.md +18 -18
  53. package/docs/how-to-guides-manage-accounts.ja.md +21 -21
  54. package/docs/how-to-guides-manage-accounts.zh-TW.md +23 -23
  55. package/docs/how-to-guides-manage-accounts.zh.md +17 -17
  56. package/docs/how-to-guides-manage-assets.ja.md +137 -60
  57. package/docs/how-to-guides-manage-assets.md +77 -0
  58. package/docs/how-to-guides-manage-assets.zh-TW.md +116 -39
  59. package/docs/how-to-guides-manage-assets.zh.md +142 -65
  60. package/docs/how-to-guides-manage-tokens.ja.md +47 -47
  61. package/docs/how-to-guides-manage-tokens.zh-TW.md +49 -49
  62. package/docs/how-to-guides-manage-tokens.zh.md +34 -34
  63. package/docs/how-to-guides-stake-tokens-and-assets.ja.md +56 -56
  64. package/docs/how-to-guides-stake-tokens-and-assets.zh-TW.md +55 -55
  65. package/docs/how-to-guides-stake-tokens-and-assets.zh.md +51 -51
  66. package/docs/how-to-guides-transfer-tokens-and-nfts.ja.md +45 -45
  67. package/docs/how-to-guides-transfer-tokens-and-nfts.zh-TW.md +46 -46
  68. package/docs/how-to-guides-transfer-tokens-and-nfts.zh.md +37 -37
  69. package/docs/how-to-guides.ja.md +8 -8
  70. package/docs/how-to-guides.zh-TW.md +4 -4
  71. package/docs/how-to-guides.zh.md +6 -6
  72. package/docs/overview.ja.md +15 -15
  73. package/docs/overview.zh-TW.md +14 -14
  74. package/docs/overview.zh.md +12 -12
  75. package/lib/base.js +2 -2
  76. package/lib/base.js.map +1 -1
  77. package/lib/extension.js +4 -4
  78. package/lib/extension.js.map +1 -1
  79. package/package.json +15 -15
@@ -1,8 +1,8 @@
1
1
  # 高级 API
2
2
 
3
- 交易助手是 OCAP Client 内置的高级函数,它抽象了创建和签署常见交易的复杂性。您可以使用这些便捷的方法来处理创建资产、转移代币、质押和执行原子交换等工作流程,而无需手动构建交易对象。这些助手可确保交易结构的正确性,并显著简化开发过程。
3
+ 交易助手是 OCAP Client 内置的高级函数,它抽象了创建和签署常见交易的复杂性。您无需手动构建交易对象,而是可以使用这些便捷方法来处理创建资产、转移通证、质押和执行原子交换等工作流。这些助手可确保交易结构的正确性,并显著简化开发过程。
4
4
 
5
- 要更深入地了解底层交易生命周期,请参阅[核心概念:交易生命周期](./core-concepts-transaction-lifecycle.md)。
5
+ 如需更深入地了解底层交易生命周期,请参阅[核心概念:交易生命周期](./core-concepts-transaction-lifecycle.md)。
6
6
 
7
7
  ---
8
8
 
@@ -10,54 +10,54 @@
10
10
 
11
11
  ### migrateAccount
12
12
 
13
- 将账户的所有权迁移到新的密钥对。这对于密钥轮换或账户恢复很有用。
13
+ 将账户的所有权迁移到新的密钥对。这对于密钥轮换或账户恢复非常有用。
14
14
 
15
15
  **参数**
16
16
 
17
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>
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
20
  </x-field-group>
21
21
 
22
- **返回**
22
+ **返回值**
23
23
 
24
24
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
25
25
 
26
26
  **示例**
27
27
 
28
- ```javascript 发送 AccountMigrateTx icon=logos:javascript
28
+ ```javascript Send an AccountMigrateTx icon=logos:javascript
29
29
  const txHash = await client.migrateAccount({
30
30
  from: oldWallet,
31
31
  to: newWallet,
32
32
  });
33
- console.log('迁移交易哈希:', txHash);
33
+ console.log('Migration transaction hash:', txHash);
34
34
  ```
35
35
 
36
36
  ### delegate
37
37
 
38
- 授权另一个账户(受托人)代表委托人发送特定类型的交易。这是一个用于创建安全、沙盒化权限的强大功能。
38
+ 授权另一个账户(受托人)代表委托人发送特定类型的交易。这是一项强大的功能,可用于创建安全的沙盒化权限。
39
39
 
40
40
  **参数**
41
41
 
42
42
  <x-field-group>
43
43
  <x-field data-name="from" data-type="WalletObject" data-required="true" data-desc="委托人的钱包,即授予权限的一方。"></x-field>
44
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>
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
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>
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>
53
53
 
54
- **返回**
54
+ **返回值**
55
55
 
56
56
  <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的委托地址的数组。"></x-field>
57
57
 
58
58
  **示例**
59
59
 
60
- ```javascript 发送 DelegateTx icon=logos:javascript
60
+ ```javascript Send a DelegateTx icon=logos:javascript
61
61
  const [txHash, delegateAddress] = await client.delegate({
62
62
  from: userWallet,
63
63
  to: appWallet,
@@ -67,37 +67,37 @@ const [txHash, delegateAddress] = await client.delegate({
67
67
  },
68
68
  ],
69
69
  });
70
- console.log('委托交易哈希:', txHash);
71
- console.log('委托地址:', delegateAddress);
70
+ console.log('Delegation tx hash:', txHash);
71
+ console.log('Delegate address:', delegateAddress);
72
72
  ```
73
73
 
74
74
  ### revokeDelegate
75
75
 
76
- 从受托人处撤销先前授予的权限。
76
+ 撤销先前授予受托人的权限。
77
77
 
78
78
  **参数**
79
79
 
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="一个权限对象数组,指定要撤销的权限。">
84
- <x-field data-name="typeUrl" data-type="string" data-required="true" data-desc="要撤销的交易的类型 URL(例如,'fg:t:transfer_v2')。"></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
85
  </x-field>
86
86
  </x-field-group>
87
87
 
88
- **返回**
88
+ **返回值**
89
89
 
90
90
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
91
91
 
92
92
  **示例**
93
93
 
94
- ```javascript 发送 RevokeDelegateTx icon=logos:javascript
94
+ ```javascript Send a 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('撤销交易哈希:', txHash);
100
+ console.log('Revocation tx hash:', 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="一个包含资产元数据的 JSON 对象。"></x-field>
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>
@@ -124,23 +124,23 @@ console.log('撤销交易哈希:', txHash);
124
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
+ **返回值**
128
128
 
129
129
  <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建资产地址的数组。"></x-field>
130
130
 
131
131
  **示例**
132
132
 
133
- ```javascript 发送 CreateAssetTx icon=logos:javascript
133
+ ```javascript Send a CreateAssetTx icon=logos:javascript
134
134
  const [txHash, assetAddress] = await client.createAsset({
135
- moniker: '我的第一个 NFT',
135
+ moniker: 'My First NFT',
136
136
  data: {
137
137
  typeUrl: 'json',
138
- value: { name: '数字收藏品', description: '一个独特的物品。' },
138
+ value: { name: 'Digital Collectible', description: 'A unique item.' },
139
139
  },
140
140
  wallet: userWallet,
141
141
  });
142
- console.log('创建资产交易哈希:', txHash);
143
- console.log('新资产地址:', assetAddress);
142
+ console.log('Create asset tx hash:', txHash);
143
+ console.log('New asset address:', assetAddress);
144
144
  ```
145
145
 
146
146
  ### updateAsset
@@ -151,33 +151,33 @@ console.log('新资产地址:', assetAddress);
151
151
 
152
152
  <x-field-group>
153
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>
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>
158
158
 
159
- **返回**
159
+ **返回值**
160
160
 
161
161
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
162
162
 
163
163
  **示例**
164
164
 
165
- ```javascript 发送 UpdateAssetTx icon=logos:javascript
165
+ ```javascript Send an UpdateAssetTx icon=logos:javascript
166
166
  const txHash = await client.updateAsset({
167
167
  address: 'z3g...',
168
- moniker: '更新后的 NFT 名称',
168
+ moniker: 'Updated NFT Name',
169
169
  data: {
170
170
  typeUrl: 'json',
171
- value: { name: '更新后的收藏品', description: '现在有更多功能!' },
171
+ value: { name: 'Updated Collectible', description: 'Now with more features!' },
172
172
  },
173
173
  wallet: userWallet,
174
174
  });
175
- console.log('更新资产交易哈希:', txHash);
175
+ console.log('Update asset tx hash:', txHash);
176
176
  ```
177
177
 
178
178
  ### createAssetFactory
179
179
 
180
- 创建一个资产工厂,作为模板,用于铸造具有一致结构的多个新资产。
180
+ 创建一个资产工厂,该工厂可作为模板,用于铸造具有一致结构的多个新资产。
181
181
 
182
182
  **参数**
183
183
 
@@ -185,24 +185,24 @@ console.log('更新资产交易哈希:', txHash);
185
185
  <x-field data-name="factory" data-type="object" data-required="true" data-desc="包含工厂配置的对象。">
186
186
  <x-field data-name="name" data-type="string" data-required="true" data-desc="工厂的名称。"></x-field>
187
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>
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
190
  <x-field data-name="input" data-type="object" data-required="true" data-desc="定义铸造所需的输入。"></x-field>
191
191
  <x-field data-name="output" data-type="object" data-required="true" data-desc="定义铸造资产的结构,通常使用模板。"></x-field>
192
192
  </x-field>
193
193
  <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="拥有该工厂的钱包。"></x-field>
194
194
  </x-field-group>
195
195
 
196
- **返回**
196
+ **返回值**
197
197
 
198
198
  <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建工厂地址的数组。"></x-field>
199
199
 
200
200
  **示例**
201
201
 
202
- ```javascript 发送 CreateFactoryTx icon=logos:javascript
202
+ ```javascript Send a CreateFactoryTx icon=logos:javascript
203
203
  const factoryConfig = {
204
- name: '票务工厂',
205
- description: '铸造活动门票',
204
+ name: 'Ticket Factory',
205
+ description: 'Mints event tickets',
206
206
  limit: 1000,
207
207
  input: { ... },
208
208
  output: { ... },
@@ -212,29 +212,29 @@ const [txHash, factoryAddress] = await client.createAssetFactory({
212
212
  factory: factoryConfig,
213
213
  wallet: eventCreatorWallet,
214
214
  });
215
- console.log('创建工厂交易哈希:', txHash);
216
- console.log('新工厂地址:', factoryAddress);
215
+ console.log('Create factory tx hash:', txHash);
216
+ console.log('New factory address:', factoryAddress);
217
217
  ```
218
218
 
219
219
  ### acquireAsset
220
220
 
221
- 从现有资产工厂获取(铸造)一个新资产。这通常由将拥有该资产的最终用户发起。
221
+ 从现有资产工厂获取(铸造)一个新资产。此操作通常由将拥有该资产的最终用户发起。
222
222
 
223
223
  **参数**
224
224
 
225
225
  <x-field-group>
226
- <x-field data-name="itx" data-type="AcquireAssetV2Tx" data-required="true" data-desc="内部交易对象,通常使用像 `preMintAsset` 这样的助手来准备。"></x-field>
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="委托人的地址,如果适用的话。"></x-field>
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
+ **返回值**
232
232
 
233
233
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
234
234
 
235
235
  **示例**
236
236
 
237
- ```javascript 发送 AcquireAssetV2Tx icon=logos:javascript
237
+ ```javascript Send an AcquireAssetV2Tx icon=logos:javascript
238
238
  // 首先,准备铸造交易(例如,在服务器上)
239
239
  const itx = await client.preMintAsset({
240
240
  factory: factoryAddress,
@@ -244,27 +244,27 @@ const itx = await client.preMintAsset({
244
244
 
245
245
  // 然后,用户发送交易
246
246
  const txHash = await client.acquireAsset({ itx, wallet: userWallet });
247
- console.log('获取资产交易哈希:', txHash);
247
+ console.log('Acquire asset tx hash:', txHash);
248
248
  ```
249
249
 
250
250
  ### mintAsset
251
251
 
252
- 这是 `acquireAsset` 的发行方对应操作。它允许受信任的发行方从工厂铸造资产并将其分配给指定的所有者。
252
+ 这是与 `acquireAsset` 对应的发行方操作。它允许受信任的发行人从工厂铸造资产并将其分配给指定的所有者。
253
253
 
254
254
  **参数**
255
255
 
256
256
  <x-field-group>
257
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>
258
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="受信任发行人的钱包。"></x-field>
259
259
  </x-field-group>
260
260
 
261
- **返回**
261
+ **返回值**
262
262
 
263
263
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
264
264
 
265
265
  **示例**
266
266
 
267
- ```javascript 发送 MintAssetTx icon=logos:javascript
267
+ ```javascript Send a MintAssetTx icon=logos:javascript
268
268
  const itx = await client.preMintAsset({
269
269
  factory: factoryAddress,
270
270
  owner: userWallet.address,
@@ -272,141 +272,141 @@ const itx = await client.preMintAsset({
272
272
  });
273
273
 
274
274
  const txHash = await client.mintAsset({ itx, wallet: issuerWallet });
275
- console.log('铸造资产交易哈希:', txHash);
275
+ console.log('Mint asset tx hash:', txHash);
276
276
  ```
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="铸造和销毁操作的手续费率。"></x-field>
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>要创建的代币的配置。这包括 `name`、`symbol`、`decimal` 和 `maxTotalSupply` 等属性。</x-field-desc>
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="代币工厂的可选元数据。"></x-field>
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="一个包含交易哈希和新创建的代币工厂地址的数组。"></x-field>
300
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的通证工厂地址的数组。"></x-field>
301
301
 
302
302
  **示例**
303
303
 
304
- ```javascript 发送 CreateTokenFactoryTx icon=logos:javascript
304
+ ```javascript Send a CreateTokenFactoryTx icon=logos:javascript
305
305
  const [txHash, factoryAddress] = await client.createTokenFactory({
306
306
  feeRate: 100, // 1%
307
- curve: { fixedPrice: '1' }, // 每个新代币 1 个原生代币
307
+ curve: { fixedPrice: '1' }, // 1 个原生通证兑换 1 个新通证
308
308
  token: {
309
- name: '我的社区代币',
309
+ name: 'My Community Token',
310
310
  symbol: 'MCT',
311
311
  decimal: 18,
312
312
  maxTotalSupply: '1000000',
313
313
  },
314
314
  wallet: creatorWallet,
315
315
  });
316
- console.log('创建代币工厂交易哈希:', txHash);
317
- console.log('新代币工厂地址:', factoryAddress);
316
+ console.log('Create token factory tx hash:', txHash);
317
+ console.log('New token factory address:', factoryAddress);
318
318
  ```
319
319
 
320
320
  ### updateTokenFactory
321
321
 
322
- 更新现有代币工厂的 `feeRate` 和 `data`。
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="要更新的代币工厂的地址。"></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>
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
 
333
- **返回**
333
+ **返回值**
334
334
 
335
335
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
336
336
 
337
337
  **示例**
338
338
 
339
- ```javascript 发送 UpdateTokenFactoryTx icon=logos:javascript
339
+ ```javascript Send an 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('更新代币工厂交易哈希:', txHash);
345
+ console.log('Update token factory tx hash:', 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="代币工厂的地址。"></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>
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>
362
362
 
363
- **返回**
363
+ **返回值**
364
364
 
365
365
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
366
366
 
367
367
  **示例**
368
368
 
369
- ```javascript 发送 MintTokenTx icon=logos:javascript
369
+ ```javascript Send a 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('铸造代币交易哈希:', txHash);
377
+ console.log('Mint token tx hash:', 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="代币工厂的地址。"></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>
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>
394
394
 
395
- **返回**
395
+ **返回值**
396
396
 
397
397
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
398
398
 
399
399
  **示例**
400
400
 
401
- ```javascript 发送 BurnTokenTx icon=logos:javascript
401
+ ```javascript Send a 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('销毁代币交易哈希:', txHash);
409
+ console.log('Burn token tx hash:', txHash);
410
410
  ```
411
411
 
412
412
  ---
@@ -415,60 +415,60 @@ console.log('销毁代币交易哈希:', txHash);
415
415
 
416
416
  ### transfer
417
417
 
418
- 在单笔交易中将原生代币、自定义可替代代币和/或资产(NFT)转移到另一个账户。
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="要转移的链上原生代币的数量。"></x-field>
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="自定义代币合约的地址。"></x-field>
429
- <x-field data-name="value" data-type="number" data-required="true" data-desc="要转移的自定义代币的数量。"></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
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="委托人的地址,如果适用。"></x-field>
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
+ **返回值**
436
436
 
437
437
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
438
438
 
439
439
  **示例**
440
440
 
441
- ```javascript 发送 TransferV2Tx icon=logos:javascript
441
+ ```javascript Send a 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: 'Payment for services',
448
448
  wallet: senderWallet,
449
449
  });
450
- console.log('转账交易哈希:', txHash);
450
+ console.log('Transfer tx hash:', txHash);
451
451
  ```
452
452
 
453
453
  ### prepareExchange
454
454
 
455
- 准备原子交换交易的发送方部分。它会对发送方的报价进行签名,并返回一个可以传递给接收方的交易对象。
455
+ 准备原子交换(exchange)交易的发送方部分。它会对发送方的报价进行签名,并返回一个可以传递给接收方的交易对象。
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="发出要约的用户的钱包。"></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>
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="要求的自定义可替代代币数组。"></x-field>
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
 
471
- **返回**
471
+ **返回值**
472
472
 
473
473
  <x-field data-name="transactionObject" data-type="Promise<object>" data-desc="部分签名的交易对象。"></x-field>
474
474
 
@@ -480,11 +480,11 @@ console.log('转账交易哈希:', txHash);
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="接受要约的用户的钱包。"></x-field>
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
 
487
- **返回**
487
+ **返回值**
488
488
 
489
489
  <x-field data-name="transactionObject" data-type="Promise<object>" data-desc="完全签名的多重签名交易对象。"></x-field>
490
490
 
@@ -499,18 +499,18 @@ console.log('转账交易哈希:', txHash);
499
499
  <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="提交交易的用户的钱包。"></x-field>
500
500
  </x-field-group>
501
501
 
502
- **返回**
502
+ **返回值**
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 执行原子交换 icon=logos:javascript
509
- // 1. 要约方准备交易
508
+ ```javascript Perform an atomic swap icon=logos:javascript
509
+ // 1. 报价方准备交易
510
510
  const offerTx = await client.prepareExchange({
511
511
  receiver: receiverWallet.address,
512
- offerAssets: ['z3g...'], // 提供一个 NFT
513
- demandToken: 10, // 要求 10 个原生代币
512
+ offerAssets: ['z3g...'], // 报价一个 NFT
513
+ demandToken: 10, // 要求 10 个原生通证
514
514
  wallet: offererWallet,
515
515
  });
516
516
 
@@ -522,7 +522,7 @@ const finalTx = await client.finalizeExchange({
522
522
 
523
523
  // 3. 任何一方都可以发送最终确定的交易
524
524
  const txHash = await client.exchange({ tx: finalTx, wallet: offererWallet });
525
- console.log('交换交易哈希:', txHash);
525
+ console.log('Exchange tx hash:', txHash);
526
526
  ```
527
527
 
528
528
  ---
@@ -531,7 +531,7 @@ console.log('交换交易哈希:', txHash);
531
531
 
532
532
  ### stake
533
533
 
534
- 将代币和/或资产质押到一个接收地址。质押会锁定资源,通常用于换取奖励或提供安全性。
534
+ 将通证和/或资产质押到接收方地址。质押会锁定资源,通常用于换取奖励或提供安全性。
535
535
 
536
536
  **参数**
537
537
 
@@ -539,111 +539,111 @@ 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="要质押的可替代代币对象数组。"></x-field>
542
+ <x-field data-name="tokens" data-type="object[]" data-required="false" data-desc="要质押的可替代通证对象数组。"></x-field>
543
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>
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
 
548
- **返回**
548
+ **返回值**
549
549
 
550
- <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建的质押地址的数组。"></x-field>
550
+ <x-field data-name="result" data-type="Promise<[string, string]>" data-desc="一个包含交易哈希和新创建质押地址的数组。"></x-field>
551
551
 
552
552
  **示例**
553
553
 
554
- ```javascript 发送 StakeTx icon=logos:javascript
554
+ ```javascript Send a 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: 'Staking for validator rewards',
559
559
  wallet: userWallet,
560
560
  });
561
- console.log('质押交易哈希:', txHash);
562
- console.log('新质押地址:', stakeAddress);
561
+ console.log('Stake tx hash:', txHash);
562
+ console.log('New stake address:', stakeAddress);
563
563
  ```
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="要从中撤销质押的地址。"></x-field>
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="要撤销的可替代代币对象数组。"></x-field>
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
+ **返回值**
579
579
 
580
580
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
581
581
 
582
582
  **示例**
583
583
 
584
- ```javascript 发送 RevokeStakeTx icon=logos:javascript
584
+ ```javascript Send a RevokeStakeTx icon=logos:javascript
585
585
  const txHash = await client.revokeStake({
586
586
  from: 'z6s...',
587
587
  tokens: [{ address: 'z2t...', value: 1000 }],
588
588
  wallet: userWallet,
589
589
  });
590
- console.log('撤销质押交易哈希:', txHash);
590
+ console.log('Revoke stake tx hash:', txHash);
591
591
  ```
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="要从中领取质押的地址。"></x-field>
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>
604
604
 
605
- **返回**
605
+ **返回值**
606
606
 
607
607
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
608
608
 
609
609
  **示例**
610
610
 
611
- ```javascript 发送 ClaimStakeTx icon=logos:javascript
611
+ ```javascript Send a 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('领取质押交易哈希:', txHash);
618
+ console.log('Claim stake tx hash:', 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="要惩罚的质押地址。"></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>
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
+ **返回值**
636
636
 
637
637
  <x-field data-name="transactionHash" data-type="Promise<string>" data-desc="已提交交易的哈希值。"></x-field>
638
638
 
639
639
  **示例**
640
640
 
641
- ```javascript 发送 SlashStakeTx icon=logos:javascript
641
+ ```javascript Send a SlashStakeTx icon=logos:javascript
642
642
  const txHash = await client.slashStake({
643
643
  from: 'z6s...',
644
- reason: '验证者停机',
644
+ reason: 'Validator downtime',
645
645
  tokens: [{ address: 'z2t...', value: 500 }],
646
646
  wallet: slasherWallet,
647
647
  });
648
- console.log('惩罚质押交易哈希:', txHash);
648
+ console.log('Slash stake tx hash:', txHash);
649
649
  ```