> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/ja/romenoapuri/bloom/issuing.md).

# 発行中

Bloom では、～を発行できます **権限付きの現実世界資産** を、Rome チェーン上の通常の Solidity コントラクトとして発行し、資産ごとのコンソールから管理します。その資産には EVM と Solana の両方のウォレットからアクセスできますが、 **発行は EVM のみです** — Solana ウォレットは資産を保持するだけで、作成はしません。このガイドでは、発行者コンソール、作成ウィザード、コンソールのサインインゲート、そして 6 つの管理タブそれぞれを扱います。

> **Bloom に文書や個人データを渡すことはありませんし、投資家も同様です。** Bloom は *結果* あなたのコンプライアンス判断の内容を記録します。チェーンにはアドレスごとに 1 つの真偽値が記録されます。あなたの KYC/AML プロセス — ベンダー、ファイル、保持期間 — はすべてあなた自身のシステム内にとどまります。完全なモデルは [COMPLIANCE.md](/ja/romenoapuri/bloom/compliance.md)にあります。このガイドは、それを繰り返すのではなく参照します。

***

## できること

資産の管理者として、以下のすべてをコンソールから行えます — そしてこれらはすべて実際のオンチェーントランザクションであり、 [証拠](/ja/romenoapuri/bloom/evidence.md) ページにリンクされています：

* **資産を発行する** — ウィザードがそれを 3 つのコントラクトとしてデプロイします（下記）。
* **申請を審査する** — 各申請を承認または却下します（却下には申請者に伝えるべき理由が伴います）、そして承認されたアドレスを許可リストに追加します。
* **許可リストを管理する** — 1 つのアドレスを追加し、 **1 回のトランザクションでアドレスのバッチを追加する** (`batchAddToWhitelist`）、またはアドレスを削除します。トークンはすべての送金でこのリストを強制します。
* **資産をゲートする** — 送金を許可リストに制限します（これにより供給が確定します）、またはその制限を解除します。
* **供給を管理する** — 総数を読み取り、役割を持っていればミントまたはバーンします。
* **販売を実行する** — 販売を開始し（数量と価格）、終了し、売れ残り在庫を回収し、売上代金を引き出します。
* **利回りを設定し分配する** — 支払い通貨を設定し、その後、保有者を 1 件ずつトランザクションで巡回する支払いを分配します。除外された保有者はスキップされます。
* **役割を管理する** — アドレスに役割を付与し、取り消し、または自分の役割を放棄します。

各項目については、そのタブ内で、チェーンが何を強制するかも含めて以下で詳しく説明します。

***

## 発行者コンソール

![/issuer にある発行者コンソール。このデプロイが認識している資産と、その販売状態を一覧表示します。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-c94de7c7a94a287a4d9b90a92b2b16022213b702%2Fissuer-console.png?alt=media)

`/issuer` は、このチェーン上であなたが発行した資産を一覧表示し、新しい資産を開始できるようにします。

* 接続する **EVM ウォレット**。接続していない訪問者、または Solana ウォレットには、空のコンソールではなく、適切な種類のウォレットを接続するよう求めるメッセージが表示されます。Solana ウォレットは発行できず、これはチェーンが 2 つ目の独立したガードとして強制する製品境界です。
* テーブルには各資産の **名前とシンボル**、そのライフサイクル **段階**、および **販売** 状態（ *開く* バッジまたは *終了済み*).

2 つの列 — **保有者** および **要審査** — はダッシュで表示されます。保有者数には許可リストの列挙が必要で、審査キューは資産ごとにサインインするオフチェーンストアです。ダッシュは、 *尋ねられていない* であり、 `0` アプリが読み取っていない事実を主張してしまうはずの場所で使われます。

押します **資産を発行する** ウィザードを開くか、行を選択してその資産のコンソールを開きます。

***

## 資産の作成：ウィザード

![/create の作成ウィザード。資産フィールドの後に、トランザクションが着地するたびに点灯する 6 枚のカードが続きます。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-94683a3a49ac2418aed8cc66dbf47fad940814f7%2Fcreate-wizard.png?alt=media)

`/create` では 4 つのフィールドを収集してから、資産をデプロイします。

| 項目          | ルール            |
| ----------- | -------------- |
| **名前**      | 必須。            |
| **シンボル**    | 必須。            |
| **供給量**     | 0 より大きい整数。     |
| **小数点以下桁数** | 0 から 18 までの整数。 |

押します **開始**。フィールドが無効な場合、ウィザードは無効化されたボタンの後ろに黙っているのではなく、どれがなぜ無効なのかを知らせます。下書きが有効になると、ウォレットは各ステップを順番に署名するよう求められます。

### なぜ段階的にデプロイするのか

> **トークンは複数のトランザクションにまたがる 3 つのコントラクトとしてデプロイされます — 1 回ではありません。** Arc の 1 トランザクション `の代わりに` には **77 個のアカウントロック**が必要で、Rome では単一トランザクションの上限が **62ロック**です。したがって、ウィザードは各部分をそれぞれ独自のトランザクションでデプロイし、その後 `Rome は1回のトランザクションあたりのアカウント数を制限するため、トークンは段階的にデプロイされ、単発の`を通じてファクトリ状態を取得します。これは可視化された Rome の制約であり、任意の最適化ではありません — そしてガードは Arc の上流のセキュリティモデルを正確に維持します（正規のプロキシ、ホワイトリスト化された実装、呼び出し元がトークンの管理者ロールを保持、登録は 1 回のみ）。参照： [COMPLIANCE.md](/ja/romenoapuri/bloom/compliance.md#what-rome-adds-and-what-registertoken-preserves).

### 6 枚のカード

ウィザードには 6 枚のカードが表示され、デプロイの進行に追従します。カードは **待機中** を **署名中…** を **完了** （または **失敗**）へと変わります。

| # | カード        | 何をするか                                          |
| - | ---------- | ---------------------------------------------- |
| 1 | **実装**     | このチェーン用の共有資産実装 — 解決済み、署名不要。（どのステップが動く前に完了します。） |
| 2 | **資産**     | 資産をデプロイし、その名前、シンボル、供給量、小数点以下桁数を 1 ステップで設定します。  |
| 3 | **保有できる者** | この資産専用の権限モジュールを、あなたを管理者としてデプロイします。             |
| 4 | **送金時に適用** | 資産をそのモジュールに向け、すべての送金が資産自身によってチェックされるようにします。    |
| 5 | **利回りルール** | 支払い対象を決定するモジュールをデプロイしてリンクします。                  |
| 6 | **登録**     | 資産を登録します — これが販売を開き、後でアップグレードできるようにします。        |

6 枚のカードは、デプロイの 8 つの基礎ステップを折りたたんでいるため、単一の **開始** で **8 つの署名**になります。ボタンの下の注記には *「ウォレットは各ステップの署名を求めます。途中で止めても、最後に中断したところから再開できます — 失われるものはありません。」* 登録が最後のステップであるため、停止しても安全です。各段階で資産は実際にデプロイされ、最後に登録されます。

実行が完了すると、ウィザードは *「発行しました。資産は次の場所で稼働中です…」* を読み取り、資産コンソールへのリンクを `/token/[address]`.

> **`initialize` あなたにすべての役割を付与します。** ウィザードの実行主体 — あなたの EVM アドレス — には、トークンの管理者、ミント/バーン、利回り管理/配布、アップグレーダーの各役割に加え、許可リストモジュールの管理者役割が付与されます。したがって、あなたの鍵の保管は資産のコンプライアンス体制の一部です。投資家のウォレットを失った場合に回復できるのは、あなたの管理者アクションのみであり、コンソールの **権限** タブでは各権限の保有者が可視化されます。（`UPGRADER_ROLE` は *ではなく* はファクトリに自動付与されます — ファクトリ仲介アップグレードを望む場合は明示的に付与してください。）

***

## 資産ごとのコンソールとサインインゲート

![コンソールのサインインゲート：ウォレットでメッセージに署名してください — パスワードはありません。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-a9377e3cad8460af1d9bb4eb3cf6f2a6a8f28b22%2Fconsole-signin.png?alt=media)

開くと `/token/[address]` は **ではなく** すぐにコンソールが表示されます。そこには **サインインゲート**:

> *「この資産を管理するにはサインインしてください。ウォレットでメッセージに署名してください — パスワードはありません。あなたの権限は資産自体に由来し、各アクションで再確認されるため、取り消せば即座に反映されます。」*

押します **ウォレットでサインイン**。実際に起こることは次のとおりです：

1. ウォレットには `personal_sign` 短い、人間が読める文言（見出しは *「Bloom — この資産を管理していることを証明してください」*）への署名が求められます。この文言には、認可する 1 つの操作 — この資産の申請キューの読み取り — と、資産アドレス、チェーン ID、タイムスタンプが含まれます。
2. アプリはその署名済み文言を `GET /api/applications`.
3. その **サーバー** に送信し、サーバーがそれを検証します。署名からあなたのアドレスを復元し、その文言がこのチェーン向けでまだ新しいこと（セッションではなく 2 分間だけ有効）を確認し、 **トークン自身の許可リストモジュール** をチェーンから読み取り、あなたのアドレスが、実際に許可リストへの書き込みに必要な役割を持っていることを確認します — `MANAGER_ROLE` そのモジュール上で。
4. 持っていれば、キューが返され、コンソールが描画されます。持っていなければ、サーバーは `403` と理由付きで拒否します。

![引用された拒否を表示するゲート：この資産を管理しないウォレットは退けられます。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-99040b8d3c752f0f84615b913d6b75fb0d36f81b%2Fconsole-refusal.png?alt=media)

> **この資産を管理できるかどうかを決めるのは資産であって、このアプリではありません。** 役割は許可リストでチェックされます **モジュール**、トークン上ではありません。同名の役割をトークン上で持っていても *ではなく* 引き継がれません — それらは別の権限です。アカウントもセッションもありません。以降のすべてのリクエストには、それぞれ新しい署名が含まれます。これが *「各アクションで再確認される」* という意味です。チェーン上でウォレットの役割を取り消せば、直ちにサインインできなくなります。

拒否には理由が **引用符付きで** — Bloom は、ウォレットがなぜ拒否されたかについての文を書きません。ウォレットで署名を拒否した場合、それはあなたの *「いいえ」*&#x3067;あって資産のものではなく、拒否として報告されることもありません。

> **ゲートは「何が秘密か」ではなく、「誰のコンソールか」を示すものです。** 供給量、販売状態、許可リストの名簿、役割は公開チェーンの読み取りであり、どのエクスプローラでも答えられます。署名によって得られるのは **申請キュー** — 他人の宣言 — と、コンソールを表示してもらう権利です。

### コンソールのヘッダー

サインインすると、ヘッダーに資産名とその **段階** が表示されます — それが持つ最も重要な事実です：

| 段階        | 意味                                                                      |
| --------- | ----------------------------------------------------------------------- |
| **下書き**   | 権限モジュールはまだリンクされていないため、誰がこれを保有できるかは制限されません。                              |
| **開く**    | 送金は開放されており、供給量はまだ変更可能です。資産をゲートすると供給量は確定し、これは取り消せません。                    |
| **ゲート済み** | 許可リストに載ったアドレスのみがこれを保有でき、 **その供給量は確定しています** — これ以上ミントやバーンはできず、永久に固定されます。 |

タブの上には、4 つの数値の概要が表示されます — **保有者 · 要審査 · 販売済み · 支払い済み利回り**。2 つはチェーンとストアから読み取られます（*要審査* サインイン後； *販売済み* 販売フロントから）； *保有者* は利回りプレビューの保有者数を待っており、 *支払い済み利回り* は、まだ未到着の支払い履歴カーソルを待っています。各待機セルはダッシュを表示し、 `0` のように、チェーンに誰も求めていない事実を主張するものではなく、必要なものを説明します。

***

## 6 つのタブ

コンソールには次の順序で 6 つのタブがあります： **申請 · 保有できる者 · 供給量 · 販売 · 利回り · 権限。**

これらのタブでのすべての書き込みは、書き込みの **名前付き前提条件** とその **結果** *を* ボタンの前に表示する共通コントロールを使い、実行時にはその段階名を表示します（*「ウォレットを待機中…」*, *「チェーンに着地中…」*）。何が先にチェックできたかを教えるために、何かが revert するべきではありません。

### 申請 — 審査キュー

![申請タブ — 審査キューで、承認または却下する未処理の申請と、コンプライアンスの境界線があります。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-8249de8b76f757101cc945ca4a2687103428839c%2Ftab-applications.png?alt=media)

このタブには、資産の保有を申請した人が一覧表示されます。各行には、申請者のアドレス、管轄、保有者タイプ、 **チェック** 列（*合格* プロバイダが結果を記録していれば、そうでなければ *申告済み*）、そして **ステータス** (*要審査*, *承認済み*, *却下済み*）。行を展開すると、その事実と 2 つのコントロールが表示されます： **承認 — 保有可** および **却下**。却下には理由が必要で、それが申請者への回答になります。

> **承認は 2 つの別個の行為であり、このタブはそれを正しく保ちます。** 押すと **Approve** *記録されます* あなたの判断を申請ストアに記録します。チェーン上の資産の許可リストにアドレスを載せるのは **2 回目の署名** — `batchAddToWhitelist` — そして着地するまではそのことが行に表示されます。記録された判断とチェーンが一致しない場合、このタブはその差を示し、それを埋める書き込みを提示します： **追加** で承認済みアドレスを許可リストに追加する、または（まだ列挙されている却下済みアドレスについて）それを削除するコントロールです。許可リストへの書き込みが着地するまで、そのアドレスは資産を保有できません。

このタブに常設されている注記 — **コンプライアンスの境界線** — は、あなた自身のプロセスをどこに差し込むかを示します：

> *「ここでは文書は求められず、保持もされません — チェックはあなた自身のものです。 `申請` インターフェースの背後にプロバイダを接続するか、すでに行った判断をインポートしてください。Bloom は結果を記録し、チェーンはアドレスに対して yes か no を 1 つ記録します。」*

これは、自己ホスト型の発行者が置き換えるインターフェースです。申請ストアの実装を、耐久性のある自分の実装に差し替えても、呼び出し元は変わりません。Bloom はチェックを行わず、文書も保持しません。

### 保有できる者 — 送金ゲート

![「保有できる者」タブ — 許可リスト数と送金制限のコントロールが、その一方通行の結果を示します。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-d32c410e3b5798d86dc5b914bce2f927eb4b1620%2Ftab-holders.png?alt=media)

このタブでは、資産上で許可リストに載っているアドレス数を報告し、許可リストが **強制される**:

* 送金が **無制限**のときは、 **送金を許可リストに制限する**よう提案します。この書き込みの結果として、そうすることで供給量が確定し、管理者以外にとっては一方通行の扉になると明示されます。
* 送金が **制限済み**のときは、 **制限を解除する**。その結果には、これは取り消しではないと明確に記されています。

の *ゲートなし* （下書き）資産で権限モジュールがリンクされていない場合、タブはそう表示します — *「権限モジュールはリンクされていないため、これを保有できる人は制限されません」* — そしてトグルは表示されません。

> **トークンはすべての送金の両側をチェックします。** 資産がゲートされている間、どちらかの当事者が許可リスト外にある送金は、タイプ付きエラーでチェーン上で revert します。同じゲートは、EVM ウォレット送金、Solana 署名送金、販売フロント売買、初期流動性移動のすべてに適用されます — あなた自身の管理権限以外に回避経路はありません。

### 供給量

![供給量タブ — 存在する総単位数。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-29eb2d741e5193eef3ea94a214a199f2eb404fe7%2Ftab-supply.png?alt=media)

このタブでは、存在する総供給量を、全単位で報告します。

### 販売 — 開始、終了、売上受け取り

![販売タブ — 開始済みの販売で、販売終了、売れ残り回収、売上受け取りのコントロールがあります。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-573a99f9028a984b038162dc885a16b715673293%2Ftab-sale.png?alt=media)

このタブはストアフロントコントラクトを通じて主要販売を実行します。

* **販売がまだ開始されていないとき**、販売を開始するよう提案します： **販売する単位数** および **1 単位あたりの価格** （in `wUSDC`）を入力してから、 **販売を開始**を押します。書き込みの前提条件が最初に表示されます — トークンは登録済みであること、販売在庫を販売フロントが保有していること、そして販売フロント自体が販売対象トークンの許可リストに載っていることが必要です。そのため、まだ開始できない販売は、必要なものを正確に示します。
* **販売が開始されているとき**、オファーの残り数量を表示し、 **この販売を終了**.
* **売れ残り単位を回収** 販売フロントから売れ残り在庫を受取人へ戻します（既定はあなたです）。これは **ではなく** 閉じる操作です — 販売は有効なままであり、書き込みの結果でもそう明示されるので、回収を巻き戻しと誤解することはありません。
* **売上代金を引き出す** 販売フロントの売上をアドレスへ送ります（既定はあなたです）。売上は販売状態とは独立して蓄積されるため、販売が開いていても閉じていても引き出せます。

### 利回り — 保有者へ、トランザクションごとに 1 人ずつ支払う

![利回りタブ — 配布額の入力欄と、先に支払い通貨を設定するよう促す注意書き。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-cc8150ea6fee72d99bd5a2254073779cbd896c11%2Ftab-yield.png?alt=media)

このタブでは保有者に利回りを分配します。

> **配分はクリックではなく、歩いていく処理です。** Rome では、 `distributeYieldWithLimit` が **1 件のトランザクションにつき 1 人の保有者に支払う** （アカウント上限）ため、支払いはウィンドウの連続であり、それぞれが独自の署名です。金額は支払い通貨の全単位で 1 回だけ入力し、歩行が始まるとロックされます。 **最初に** ウィンドウはあなたから配当全体を引き出して最初の保有者に支払い、後続のウィンドウはトークンコントラクト内にすでにある資金だけを移動します。Bloom は各ウィンドウの後にチェーンからカーソルを再読み込みします — 残高が変わると保有者集合は並び替わり、古いインデックスを送るとゼロから再開してあなたの資金を 2 回目に引き出してしまうためです。

タブは進行状況を表示します — *「保有者 N / M に支払い中」* — そしてカーソルが周回すると完了します。資産に支払い通貨が設定されていない場合、このタブはその旨を表示します。支払い通貨の設定は、配分においてあなただけが選べる唯一の項目です。

> **制限された保有者の持分はコントラクト内に残ります。** 利回りブラックリストモジュールで除外されたアドレスはスキップされ、その按分は支払われることなくトークンコントラクト内に残ります。

過去の支払いはまだ表示されません — それらを読むには配布イベントを資産の最初のブロックまで遡る必要があり、そのためにはまだ未着の履歴カーソルが必要です。このタブは、そのことを自身の中で示し、ダッシュを表示するのではなく `0`.

### 権限 — 役割

![権限タブ — すべての役割と、それが保持されているかどうか、そして付与 / 取り消し / 放棄のコントロール。](https://3990464069-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F671PKS8ZQSNqtoC8PGvz%2Fuploads%2Fgit-blob-fb54f6c73c2d194dd5b6321bc3cb0af825f6f637%2Ftab-rights.png?alt=media)

このタブでは、トークンが宣言するすべての役割と、それが保持されているかどうかを一覧表示し、それぞれを単一の `hasRole` 呼び出しでトークンに対して読み取ります。 **ではなく** 保持されている役割は、欠落させるのではなく、そのように表示されます — 権限タブでは、行が存在しないことと *「いいえ」* は異なる事実です。

一覧の下には、役割を変更するコントロールがあります：

| 操作              | 対象：                                      | 権限                   |
| --------------- | ---------------------------------------- | -------------------- |
| **アカウントに付与**    | あなたが入力するアドレス                             | `DEFAULT_ADMIN_ROLE` |
| **アカウントから取り消し** | あなたが入力するアドレス                             | `DEFAULT_ADMIN_ROLE` |
| **自分のものを放棄**    | あなた自身（OpenZeppelin では確認は呼び出し元である必要があります） | あなた                  |

役割の選択肢はトークン自身のものなので、コントロールがトークンにない役割を提示することはできません。すべての書き込みと同様に、権限の行と結果はボタンの前に表示されるため、扉とその一方通行性は署名前に明示されます。

***

## Bloom やチェーンに一切触れないもの

コンプライアンスがどこにあるかを明確にするために：

| 項目                     | 存在する場所                                                                |
| ---------------------- | --------------------------------------------------------------------- |
| KYC/AML 文書と個人識別情報（PII） | あなた自身のシステム、あなた自身のベンダーと保持設定で — **決して** このアプリまたはチェーン                    |
| アドレスを承認するあなたの判断        | オフチェーンの記録；ストアはあなたが管理                                                  |
| その判断のオンチェーン効果          | 1 つの真偽値 — `isWhitelisted(address)` — によって書き込まれる `batchAddToWhitelist` |
| ルールの強制                 | 資産コントラクトが、すべての送金で                                                     |
| 資産を管理できる者              | 資産の許可リストモジュール上で保持される役割。各リクエストでチェックされる                                 |

コンプライアンスモデル全体については [COMPLIANCE.md](/ja/romenoapuri/bloom/compliance.md)；保有者が使う 2 レーン（EVM と Solana）の仕組みについては [LANES.md](/ja/romenoapuri/bloom/lanes.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/ja/romenoapuri/bloom/issuing.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
