@ocap/client 1.25.6 → 1.26.1

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 +16 -16
@@ -1,10 +1,10 @@
1
- # 資産 (NFT) の管理
1
+ # アセット(NFT)の管理
2
2
 
3
- このガイドでは、OCAP Client を使用して、資産としても知られる非代替性トークン(NFT)のライフサイクル全体を管理するための包括的なウォークスルーを提供します。新しい資産をゼロから作成し、そのプロパティを更新し、標準化されたミントのための資産ファクトリーを設立し、そのファクトリーから新しい資産を取得する方法を学びます。
3
+ このガイドでは、OCAP クライアントを使用して、アセットとしても知られる非代替性トークン(NFT)のライフサイクル全体を管理するための包括的なウォークスルーを提供します。新しいアセットをゼロから作成し、そのプロパティを更新し、標準化されたミントのためのアセットファクトリーを設立し、そのファクトリーから新しいアセットを取得する方法を学びます。
4
4
 
5
- ## 新しい資産の作成
5
+ ## 新しいアセットの作成
6
6
 
7
- `createAsset` メソッドを使用して、ブロックチェーン上にユニークでスタンドアロンな資産を作成できます。各資産には、その初期プロパティから導出されたユニークなオンチェーンアドレスが割り当てられます。
7
+ `createAsset` メソッドを使用して、ブロックチェーン上にユニークでスタンドアロンなアセットを作成できます。各アセットには、その初期プロパティから派生したユニークなオンチェーンアドレスが割り当てられます。
8
8
 
9
9
  ```javascript icon=logos:javascript
10
10
  const { wallet } = getWallet(); // ユーザーのウォレットオブジェクト
@@ -25,11 +25,11 @@ async function createNewAsset() {
25
25
  wallet: wallet,
26
26
  });
27
27
 
28
- console.log(`Asset creation transaction sent: ${hash}`);
29
- console.log(`New asset address: ${address}`);
28
+ console.log(`アセット作成トランザクションが送信されました: ${hash}`);
29
+ console.log(`新しいアセットのアドレス: ${address}`);
30
30
  return address;
31
31
  } catch (error) {
32
- console.error('Error creating asset:', error);
32
+ console.error('アセットの作成中にエラーが発生しました:', error);
33
33
  }
34
34
  }
35
35
 
@@ -39,34 +39,34 @@ createNewAsset();
39
39
  ### パラメータ
40
40
 
41
41
  <x-field-group>
42
- <x-field data-name="moniker" data-type="string" data-required="true" data-desc="資産の名前。"></x-field>
43
- <x-field data-name="parent" data-type="string" data-default="''" data-required="false" data-desc="親資産のアドレス(もしあれば)。"></x-field>
44
- <x-field data-name="data" data-type="object" data-required="true" data-desc="資産のデータペイロード。typeUrl value を含む必要があります。"></x-field>
45
- <x-field data-name="readonly" data-type="boolean" data-default="false" data-required="false" data-desc="true の場合、資産は作成後に更新できません。"></x-field>
46
- <x-field data-name="transferrable" data-type="boolean" data-default="true" data-required="false" data-desc="true の場合、資産は別のアカウントに譲渡できます。"></x-field>
47
- <x-field data-name="ttl" data-type="number" data-default="0" data-required="false" data-desc="資産の初回消費後の生存時間(秒単位)。"></x-field>
48
- <x-field data-name="display" data-type="object" data-required="false" data-desc="資産の表示情報を含むオブジェクト。"></x-field>
49
- <x-field data-name="endpoint" data-type="object" data-required="false" data-desc="資産のエンドポイント詳細を含むオブジェクト。"></x-field>
50
- <x-field data-name="tags" data-type="string[]" data-default="[]" data-required="false" data-desc="資産を分類するための文字列の配列。"></x-field>
51
- <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="資産の初期所有者のウォレットオブジェクト。"></x-field>
42
+ <x-field data-name="moniker" data-type="string" data-required="true" data-desc="アセットの名前。"></x-field>
43
+ <x-field data-name="parent" data-type="string" data-default="''" data-required="false" data-desc="親アセットのアドレス(もしあれば)。"></x-field>
44
+ <x-field data-name="data" data-type="object" data-required="true" data-desc="アセットのデータペイロード。typeUrlとvalueを含める必要があります。"></x-field>
45
+ <x-field data-name="readonly" data-type="boolean" data-default="false" data-required="false" data-desc="trueの場合、アセットは作成後に更新できません。"></x-field>
46
+ <x-field data-name="transferrable" data-type="boolean" data-default="true" data-required="false" data-desc="trueの場合、アセットは別のアカウントに転送できます。"></x-field>
47
+ <x-field data-name="ttl" data-type="number" data-default="0" data-required="false" data-desc="アセットの初回消費後の生存期間(秒単位)。"></x-field>
48
+ <x-field data-name="display" data-type="object" data-required="false" data-desc="アセットの表示情報を含むオブジェクト。"></x-field>
49
+ <x-field data-name="endpoint" data-type="object" data-required="false" data-desc="アセットのエンドポイント詳細を含むオブジェクト。"></x-field>
50
+ <x-field data-name="tags" data-type="string[]" data-default="[]" data-required="false" data-desc="アセットを分類するための文字列の配列。"></x-field>
51
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="アセットの初期所有者のウォレットオブジェクト。"></x-field>
52
52
  <x-field data-name="delegator" data-type="string" data-default="''" data-required="false" data-desc="委任によってこのトランザクションを承認したアカウントのアドレス。"></x-field>
53
53
  </x-field-group>
54
54
 
55
55
  ### 戻り値
56
56
 
57
- トランザクションハッシュと新しい資産のオンチェーンアドレスを含む配列に解決される `Promise`。
57
+ トランザクションハッシュと新しいアセットのオンチェーンアドレスを含む配列に解決される `Promise`。
58
58
 
59
- <x-field data-name="response" data-type="Promise<[string, string]>" data-desc="[トランザクションハッシュ, 資産アドレス]"></x-field>
59
+ <x-field data-name="response" data-type="Promise<[string, string]>" data-desc="[transactionHash, assetAddress]"></x-field>
60
60
 
61
61
  ---
62
62
 
63
- ## 既存の資産の更新
63
+ ## 既存アセットの更新
64
64
 
65
- 資産が `readonly: false` で作成された場合、`updateAsset` メソッドを使用してその `moniker` および `data` フィールドを変更できます。資産はそのユニークなアドレスによって識別されます。
65
+ アセットが `readonly: false` で作成された場合、`updateAsset` メソッドを使用してその `moniker` `data` フィールドを変更できます。アセットは、そのユニークなアドレスによって識別されます。
66
66
 
67
67
  ```javascript icon=logos:javascript
68
68
  const { wallet } = getWallet(); // ユーザーのウォレットオブジェクト
69
- const assetAddress = 'z362...'; // 更新する資産のアドレス
69
+ const assetAddress = 'z362...'; // 更新するアセットのアドレス
70
70
 
71
71
  async function updateExistingAsset() {
72
72
  try {
@@ -83,9 +83,9 @@ async function updateExistingAsset() {
83
83
  wallet: wallet,
84
84
  });
85
85
 
86
- console.log(`Asset update transaction sent: ${hash}`);
86
+ console.log(`アセット更新トランザクションが送信されました: ${hash}`);
87
87
  } catch (error) {
88
- console.error('Error updating asset:', error);
88
+ console.error('アセットの更新中にエラーが発生しました:', error);
89
89
  }
90
90
  }
91
91
 
@@ -95,23 +95,23 @@ updateExistingAsset();
95
95
  ### パラメータ
96
96
 
97
97
  <x-field-group>
98
- <x-field data-name="address" data-type="string" data-required="true" data-desc="更新する資産のオンチェーンアドレス。"></x-field>
99
- <x-field data-name="moniker" data-type="string" data-required="true" data-desc="資産の新しい名前。"></x-field>
100
- <x-field data-name="data" data-type="object" data-required="true" data-desc="資産の更新されたデータペイロード。"></x-field>
101
- <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="現在の資産所有者のウォレットオブジェクト。"></x-field>
98
+ <x-field data-name="address" data-type="string" data-required="true" data-desc="更新するアセットのオンチェーンアドレス。"></x-field>
99
+ <x-field data-name="moniker" data-type="string" data-required="true" data-desc="アセットの新しい名前。"></x-field>
100
+ <x-field data-name="data" data-type="object" data-required="true" data-desc="アセットの更新されたデータペイロード。"></x-field>
101
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="現在のアセット所有者のウォレットオブジェクト。"></x-field>
102
102
  </x-field-group>
103
103
 
104
104
  ### 戻り値
105
105
 
106
106
  トランザクションハッシュに解決される `Promise`。
107
107
 
108
- <x-field data-name="response" data-type="Promise<string>" data-desc="トランザクションハッシュ"></x-field>
108
+ <x-field data-name="response" data-type="Promise<string>" data-desc="transactionHash"></x-field>
109
109
 
110
110
  ---
111
111
 
112
- ## 資産ファクトリーの作成
112
+ ## アセットファクトリーの作成
113
113
 
114
- 資産ファクトリーは、複数の類似した資産を作成するためのテンプレートです。新しい資産をミントするための構造、ルール、ロジックを定義し、それぞれを個別に作成するよりも効率的です。これは、イベントチケット、証明書、または収集品の発行などのユースケースに最適です。
114
+ アセットファクトリーは、複数の類似したアセットを作成するためのテンプレートです。新しいアセットをミントするための構造、ルール、ロジックを定義し、それぞれを個別に作成するよりも効率的です。これは、イベントチケット、証明書、コレクティブルの発行などのユースケースに最適です。
115
115
 
116
116
  ```javascript icon=logos:javascript
117
117
  const { wallet } = getWallet(); // ファクトリー所有者のウォレット
@@ -121,7 +121,7 @@ const factoryDefinition = {
121
121
  description: 'Mints tickets for the 2024 Tech Conference.',
122
122
  limit: 1000, // 最大1000枚のチケットがミント可能
123
123
  input: {
124
- // 資産をミントするために必要なデータを定義
124
+ // アセットのミントに必要なデータを定義
125
125
  type: 'object',
126
126
  properties: {
127
127
  attendeeName: { type: 'string' },
@@ -129,7 +129,7 @@ const factoryDefinition = {
129
129
  },
130
130
  },
131
131
  output: {
132
- // ミントされる資産の構造を定義
132
+ // ミントされるアセットの構造を定義
133
133
  moniker: 'Ticket for {{attendeeName}}',
134
134
  description: '{{ticketType}} admission for the 2024 Tech Conference.',
135
135
  transferrable: false, // チケットは譲渡不可
@@ -144,10 +144,10 @@ async function createFactory() {
144
144
  wallet: wallet,
145
145
  });
146
146
 
147
- console.log(`Factory creation transaction sent: ${hash}`);
148
- console.log(`New factory address: ${factoryAddress}`);
147
+ console.log(`ファクトリー作成トランザクションが送信されました: ${hash}`);
148
+ console.log(`新しいファクトリーのアドレス: ${factoryAddress}`);
149
149
  } catch (error) {
150
- console.error('Error creating asset factory:', error);
150
+ console.error('アセットファクトリーの作成中にエラーが発生しました:', error);
151
151
  }
152
152
  }
153
153
 
@@ -160,12 +160,12 @@ createFactory();
160
160
  <x-field data-name="factory" data-type="object" data-required="true" data-desc="ファクトリーのプロパティとミントロジックを定義するオブジェクト。">
161
161
  <x-field data-name="name" data-type="string" data-required="true" data-desc="ファクトリーの名前。"></x-field>
162
162
  <x-field data-name="description" data-type="string" data-required="true" data-desc="ファクトリーの目的の説明。"></x-field>
163
- <x-field data-name="limit" data-type="number" data-default="0" data-required="false" data-desc="このファクトリーからミントできる資産の最大数。0は無制限を意味します。"></x-field>
163
+ <x-field data-name="limit" data-type="number" data-default="0" data-required="false" data-desc="このファクトリーからミントできるアセットの最大数。0は無制限を意味します。"></x-field>
164
164
  <x-field data-name="trustedIssuers" data-type="string[]" data-required="false" data-desc="このファクトリーからのミントを許可されたアカウントアドレスのリスト。"></x-field>
165
- <x-field data-name="input" data-type="object" data-required="true" data-desc="資産をミントするために必要な入力データを定義します。"></x-field>
166
- <x-field data-name="output" data-type="object" data-required="true" data-desc="ミントされる資産の構造とプロパティを定義します。"></x-field>
167
- <x-field data-name="hooks" data-type="object[]" data-required="false" data-desc="ミントプロセス中に実行されるフックのリスト。"></x-field>
168
- <x-field data-name="data" data-type="object" data-required="false" data-desc="ファクトリーと共に保存する追加の任意データ。"></x-field>
165
+ <x-field data-name="input" data-type="object" data-required="true" data-desc="アセットをミントするために必要な入力データを定義します。"></x-field>
166
+ <x-field data-name="output" data-type="object" data-required="true" data-desc="ミントされるアセットの構造とプロパティを定義します。"></x-field>
167
+ <x-field data-name="hooks" data-type="object[]" data-required="false" data-desc="ミントプロセス中に実行するフックのリスト。"></x-field>
168
+ <x-field data-name="data" data-type="object" data-required="false" data-desc="ファクトリーと共に保存する追加の任意のデータ。"></x-field>
169
169
  </x-field>
170
170
  <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="ファクトリー所有者のウォレットオブジェクト。"></x-field>
171
171
  </x-field-group>
@@ -175,24 +175,24 @@ createFactory();
175
175
 
176
176
  トランザクションハッシュと新しいファクトリーのオンチェーンアドレスを含む配列に解決される `Promise`。
177
177
 
178
- <x-field data-name="response" data-type="Promise<[string, string]>" data-desc="[トランザクションハッシュ, ファクトリーアドレス]"></x-field>
178
+ <x-field data-name="response" data-type="Promise<[string, string]>" data-desc="[transactionHash, factoryAddress]"></x-field>
179
179
 
180
180
  ---
181
181
 
182
- ## ファクトリーからの資産の取得
182
+ ## ファクトリーからのアセットの取得
183
183
 
184
- ファクトリーから資産を取得するのは2段階のプロセスです。まず、ミントデータを準備し、これにより作成される資産をプレビューできます。次に、トランザクションをブロックチェーンに送信して、公式に資産を取得します。
184
+ ファクトリーからアセットを取得するのは2段階のプロセスです。まず、ミントデータを準備し、これにより作成されるアセットをプレビューできます。次に、トランザクションをブロックチェーンに送信して、アセットを正式に取得します。
185
185
 
186
- この分離は、ユーザーが最終的なトランザクションに署名して送信する前に、受け取るものをアプリケーションが表示できるため便利です。
186
+ この分離は、アプリケーションがユーザーに最終的なトランザクションに署名して送信する前に何を受け取るかを表示できるため便利です。
187
187
 
188
- ### ステップ1:資産データの準備
188
+ ### ステップ1:アセットデータの準備
189
189
 
190
- `preMintAsset` メソッドは、ファクトリーアドレスとユーザーが提供した入力を使用して、最終的な資産データを生成します。これはオフチェーンで行われ、トランザクションは不要です。
190
+ `preMintAsset` メソッドは、ファクトリーアドレスとユーザーが提供した入力値を受け取り、最終的なアセットデータを生成します。これはオフチェーンで行われ、トランザクションは不要です。
191
191
 
192
192
  ```javascript icon=logos:javascript
193
- const factoryAddress = 'z2...'; // 以前作成されたファクトリーのアドレス
194
- const { wallet: issuerWallet } = getIssuerWallet(); // ファクトリー所有者または信頼された発行者
195
- const { wallet: userWallet } = getUserWallet(); // 新しい資産を所有するユーザー
193
+ const factoryAddress = 'z2...'; // 以前に作成されたファクトリーのアドレス
194
+ const { wallet: issuerWallet } = getIssuerWallet(); // ファクトリーの所有者または信頼された発行者
195
+ const { wallet: userWallet } = getUserWallet(); // 新しいアセットを所有するユーザー
196
196
 
197
197
  async function prepareAssetForMinting() {
198
198
  try {
@@ -206,34 +206,34 @@ async function prepareAssetForMinting() {
206
206
  wallet: issuerWallet,
207
207
  });
208
208
 
209
- console.log('Prepared asset data for minting:', mintingData);
209
+ console.log('ミント用のアセットデータを準備しました:', mintingData);
210
210
  return mintingData;
211
211
  } catch (error) {
212
- console.error('Error preparing asset:', error);
212
+ console.error('アセットの準備中にエラーが発生しました:', error);
213
213
  }
214
214
  }
215
215
  ```
216
216
 
217
217
  ### ステップ2:トランザクションの送信
218
218
 
219
- ミントデータが準備されると、ユーザー(将来の資産所有者)が `acquireAsset` トランザクションに署名して送信します。`preMintAsset` からの `itx` オブジェクトがペイロードとして使用されます。
219
+ ミントデータが準備されると、ユーザー(将来のアセット所有者)が `acquireAsset` トランザクションに署名して送信します。`preMintAsset` からの `itx` オブジェクトがペイロードとして使用されます。
220
220
 
221
221
  ```javascript icon=logos:javascript
222
222
  async function acquireNewAsset() {
223
- // まず、ステップ1からミントデータを取得
223
+ // まず、ステップ1からミントデータを取得します
224
224
  const itx = await prepareAssetForMinting();
225
225
  if (!itx) return;
226
226
 
227
227
  try {
228
228
  const hash = await client.acquireAsset({
229
229
  itx: itx,
230
- wallet: userWallet, // ユーザーのウォレットがトランザクションに署名
230
+ wallet: userWallet, // ユーザーのウォレットがトランザクションに署名します
231
231
  });
232
232
 
233
- console.log(`Asset acquisition transaction sent: ${hash}`);
234
- console.log(`New asset will be available at address: ${itx.address}`);
233
+ console.log(`アセット取得トランザクションが送信されました: ${hash}`);
234
+ console.log(`新しいアセットは次のアドレスで利用可能になります: ${itx.address}`);
235
235
  } catch (error) {
236
- console.error('Error acquiring asset:', error);
236
+ console.error('アセットの取得中にエラーが発生しました:', error);
237
237
  }
238
238
  }
239
239
 
@@ -244,7 +244,7 @@ acquireNewAsset();
244
244
 
245
245
  <x-field-group>
246
246
  <x-field data-name="itx" data-type="object" data-required="true" data-desc="`preMintAsset` メソッドから返される内部トランザクションオブジェクト。"></x-field>
247
- <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="資産を取得するユーザーのウォレット。"></x-field>
247
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="アセットを取得するユーザーのウォレット。"></x-field>
248
248
  <x-field data-name="delegator" data-type="string" data-default="''" data-required="false" data-desc="委任によってこのトランザクションを承認したアカウントのアドレス。"></x-field>
249
249
  </x-field-group>
250
250
 
@@ -252,4 +252,81 @@ acquireNewAsset();
252
252
 
253
253
  `acquireAsset` 操作のトランザクションハッシュに解決される `Promise`。
254
254
 
255
- <x-field data-name="response" data-type="Promise<string>" data-desc="トランザクションハッシュ"></x-field>
255
+ <x-field data-name="response" data-type="Promise<string>" data-desc="transactionHash"></x-field>
256
+
257
+ ---
258
+
259
+ ## ファクトリーからのアセットのミント
260
+
261
+ ユーザー主導の `acquireAsset` フローに加えて、承認された発行者(ファクトリー所有者や信頼された発行者など)がアセットをミントし、ユーザーのアカウントに直接送信できます。このプロセスでも `preMintAsset` を使用してデータを準備しますが、最終的なトランザクションは発行者によって署名された `mintAsset` です。
262
+
263
+ このフローは、エアドロップ、証明書の授与、または受け取るユーザーが最終的なトランザクションを開始する必要がない場合に便利です。
264
+
265
+ ### ステップ1:アセットデータの準備
266
+
267
+ このステップは取得フローと同じです。発行者は `preMintAsset` を呼び出して、トランザクションペイロード(`itx`)をオフチェーンで生成します。
268
+
269
+ ```javascript icon=logos:javascript
270
+ const factoryAddress = 'z2...'; // ファクトリーのアドレス
271
+ const { wallet: issuerWallet } = getIssuerWallet(); // ファクトリーの所有者または信頼された発行者
272
+ const userAddress = 'z1...'; // アセットを受け取るユーザーのアドレス
273
+
274
+ async function prepareAssetForMinting() {
275
+ try {
276
+ const mintingData = await client.preMintAsset({
277
+ factory: factoryAddress,
278
+ inputs: {
279
+ attendeeName: 'Jane Smith',
280
+ ticketType: 'General',
281
+ },
282
+ owner: userAddress,
283
+ wallet: issuerWallet, // ここでは発行者のウォレットが使用されます
284
+ });
285
+
286
+ console.log('ミント用のアセットデータを準備しました:', mintingData);
287
+ return mintingData;
288
+ } catch (error) {
289
+ console.error('アセットの準備中にエラーが発生しました:', error);
290
+ }
291
+ }
292
+ ```
293
+
294
+ ### ステップ2:ミントトランザクションの送信
295
+
296
+ 発行者は準備された `itx` オブジェクトを使用して `mintAsset` を呼び出します。トランザクションは発行者のウォレットで署名され、新しく作成されたアセットは前のステップで指定された所有者に割り当てられます。
297
+
298
+ ```javascript icon=logos:javascript
299
+ async function mintNewAsset() {
300
+ // まず、ステップ1からミントデータを取得します
301
+ const itx = await prepareAssetForMinting();
302
+ if (!itx) return;
303
+
304
+ try {
305
+ // 発行者のウォレットがトランザクションに署名します
306
+ const hash = await client.mintAsset({
307
+ itx: itx,
308
+ wallet: issuerWallet,
309
+ });
310
+
311
+ console.log(`アセットミントトランザクションが送信されました: ${hash}`);
312
+ console.log(`${userAddress} 向けの新しいアセットは次のアドレスで利用可能になります: ${itx.address}`);
313
+ } catch (error) {
314
+ console.error('アセットのミント中にエラーが発生しました:', error);
315
+ }
316
+ }
317
+
318
+ mintNewAsset();
319
+ ```
320
+
321
+ ### `mintAsset` のパラメータ
322
+
323
+ <x-field-group>
324
+ <x-field data-name="itx" data-type="object" data-required="true" data-desc="`preMintAsset` メソッドから返される内部トランザクションオブジェクト。"></x-field>
325
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="アセットをミントする発行者のウォレット。"></x-field>
326
+ </x-field-group>
327
+
328
+ ### 戻り値
329
+
330
+ `mintAsset` 操作のトランザクションハッシュに解決される `Promise`。
331
+
332
+ <x-field data-name="response" data-type="Promise<string>" data-desc="transactionHash"></x-field>
@@ -252,4 +252,81 @@ acquireNewAsset();
252
252
 
253
253
  A `Promise` that resolves to the transaction hash for the `acquireAsset` operation.
254
254
 
255
+ <x-field data-name="response" data-type="Promise<string>" data-desc="transactionHash"></x-field>
256
+
257
+ ---
258
+
259
+ ## Mint an Asset from a Factory
260
+
261
+ In addition to the user-led `acquireAsset` flow, an authorized issuer (such as the factory owner or a trusted issuer) can mint an asset and send it directly to a user's account. This process also uses `preMintAsset` to prepare the data, but the final transaction is `mintAsset`, signed by the issuer.
262
+
263
+ This flow is useful for scenarios like airdrops, awarding certificates, or any case where the receiving user does not need to initiate the final transaction.
264
+
265
+ ### Step 1: Prepare the Asset Data
266
+
267
+ This step is identical to the acquisition flow. The issuer calls `preMintAsset` to generate the transaction payload (`itx`) off-chain.
268
+
269
+ ```javascript icon=logos:javascript
270
+ const factoryAddress = 'z2...'; // Address of the factory
271
+ const { wallet: issuerWallet } = getIssuerWallet(); // The factory owner or a trusted issuer
272
+ const userAddress = 'z1...'; // The address of the user who will receive the asset
273
+
274
+ async function prepareAssetForMinting() {
275
+ try {
276
+ const mintingData = await client.preMintAsset({
277
+ factory: factoryAddress,
278
+ inputs: {
279
+ attendeeName: 'Jane Smith',
280
+ ticketType: 'General',
281
+ },
282
+ owner: userAddress,
283
+ wallet: issuerWallet, // Issuer's wallet is used here
284
+ });
285
+
286
+ console.log('Prepared asset data for minting:', mintingData);
287
+ return mintingData;
288
+ } catch (error) {
289
+ console.error('Error preparing asset:', error);
290
+ }
291
+ }
292
+ ```
293
+
294
+ ### Step 2: Send the Mint Transaction
295
+
296
+ The issuer uses the prepared `itx` object to call `mintAsset`. The transaction is signed with the issuer's wallet, and the newly created asset is assigned to the owner specified in the previous step.
297
+
298
+ ```javascript icon=logos:javascript
299
+ async function mintNewAsset() {
300
+ // First, get the minting data from Step 1
301
+ const itx = await prepareAssetForMinting();
302
+ if (!itx) return;
303
+
304
+ try {
305
+ // The issuer's wallet signs the transaction
306
+ const hash = await client.mintAsset({
307
+ itx: itx,
308
+ wallet: issuerWallet,
309
+ });
310
+
311
+ console.log(`Asset minting transaction sent: ${hash}`);
312
+ console.log(`New asset for ${userAddress} will be available at address: ${itx.address}`);
313
+ } catch (error) {
314
+ console.error('Error minting asset:', error);
315
+ }
316
+ }
317
+
318
+ mintNewAsset();
319
+ ```
320
+
321
+ ### Parameters for `mintAsset`
322
+
323
+ <x-field-group>
324
+ <x-field data-name="itx" data-type="object" data-required="true" data-desc="The inner transaction object returned from the `preMintAsset` method."></x-field>
325
+ <x-field data-name="wallet" data-type="WalletObject" data-required="true" data-desc="The wallet of the issuer who is minting the asset."></x-field>
326
+ </x-field-group>
327
+
328
+ ### Returns
329
+
330
+ A `Promise` that resolves to the transaction hash for the `mintAsset` operation.
331
+
255
332
  <x-field data-name="response" data-type="Promise<string>" data-desc="transactionHash"></x-field>