> 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/id/aplikasi-di-rome/bloom/issuing.md).

# Menerbitkan

Bloom memungkinkan Anda menerbitkan sebuah **aset dunia nyata berizin** sebagai kontrak Solidity biasa pada chain Rome, dan mengelolanya dari konsol per aset. Aset tersebut dapat diakses dari dompet EVM dan Solana, tetapi **penerbitan hanya EVM** — dompet Solana menyimpan aset; dompet tersebut tidak menciptakannya. Panduan ini membahas konsol penerbit, wizard pembuatan, gerbang masuk konsol, dan masing-masing dari enam tab administrasi.

> **Anda tidak menyerahkan dokumen atau data pribadi apa pun kepada Bloom, dan investor Anda juga tidak.** Bloom mencatat *hasil* dari keputusan kepatuhan Anda; chain mencatat satu boolean per alamat. Proses KYC/AML Anda — vendor, berkas, retensi Anda — sepenuhnya tetap berada dalam sistem Anda sendiri. Model lengkapnya ada di [COMPLIANCE.md](/id/aplikasi-di-rome/bloom/compliance.md); panduan ini merujuk kepadanya alih-alih mengulanginya.

***

## Yang dapat Anda lakukan

Sebagai administrator aset, semua hal di bawah ini dapat Anda lakukan dari konsol — dan masing-masing adalah transaksi on-chain nyata, yang ditautkan pada halaman [Bukti](/id/aplikasi-di-rome/bloom/evidence.md) :

* **Terbitkan aset** — wizard menerbitkannya sebagai tiga kontrak (di bawah).
* **Tinjau aplikasi** — setujui atau tolak setiap aplikasi (penolakan memuat alasan yang berhak diterima pemohon), dan masukkan alamat yang disetujui ke daftar izin.
* **Kelola daftar izin** — tambahkan satu alamat, tambahkan **sekumpulan alamat dalam satu transaksi** (`batchAddToWhitelist`), atau hapus alamat; token menerapkan daftar tersebut pada setiap transfer.
* **Batasi aset** — batasi transfer pada daftar izin (yang menjadikan pasokan final), atau cabut pembatasannya.
* **Kelola pasokan** — baca totalnya, serta cetak atau bakar setelah Anda memegang peran tersebut.
* **Jalankan penjualan** — buka penjualan (unit dan harga), tutup, tarik kembali inventaris yang tidak terjual, dan tarik hasilnya.
* **Tetapkan dan distribusikan imbal hasil** — tetapkan mata uang pembayaran, lalu distribusikan pembayaran, yang memproses pemegang satu transaksi pada satu waktu; pemegang yang dikecualikan dilewati.
* **Kelola peran** — berikan peran kepada alamat, cabut peran, atau lepaskan peran Anda sendiri.

Masing-masing dirinci di bawah, beserta apa yang diterapkan chain, pada tab tempatnya berada.

***

## Konsol penerbit

![Konsol penerbit di /issuer, yang mencantumkan aset yang diketahui deployment ini dan status penjualannya.](/files/7b5ce54ac301fe5cb7904e5d85fd88a1b294330a)

`/issuer` mencantumkan aset yang telah Anda terbitkan pada chain ini dan memungkinkan Anda memulai aset baru.

* Hubungkan sebuah **dompet EVM**. Pengunjung yang belum terhubung, atau dompet Solana, akan diperlihatkan perintah untuk menghubungkan jenis dompet yang tepat, bukan konsol kosong — dompet Solana tidak dapat menerbitkan, dan itu adalah batasan produk yang diterapkan chain sebagai pengaman kedua yang independen.
* Tabel mencantumkan setiap aset beserta **nama dan simbolnya**, siklus hidupnya **fase**, dan **Penjualan** statusnya (lencana *Terbuka* atau *Tertutup*).

Dua kolom — **Pemegang** dan **Untuk ditinjau** — menampilkan tanda pisah. Jumlah pemegang memerlukan enumerasi daftar izin dan antrean peninjauan adalah penyimpanan off-chain yang Anda masuki per aset; tanda pisah berarti *belum diminta* di tempat sebuah `0` akan mengklaim fakta yang belum dibaca aplikasi.

Tekan **Terbitkan aset** untuk membuka wizard, atau pilih baris untuk membuka konsol aset tersebut.

***

## Membuat aset: wizard

![Wizard pembuatan di /create: kolom aset, lalu enam kartu yang menyala saat transaksinya masuk.](/files/f97c0d2bfa9130b1a03f29d292b800c7cdd7626b)

`/create` mengumpulkan empat kolom lalu menerbitkan aset Anda.

| Kolom       | Aturan                               |
| ----------- | ------------------------------------ |
| **Nama**    | Wajib.                               |
| **Simbol**  | Wajib.                               |
| **Pasokan** | Bilangan bulat lebih besar dari nol. |
| **Desimal** | Bilangan bulat dari 0 hingga 18.     |

Tekan **Mulai**. Jika kolom tidak valid, wizard memberi tahu Anda kolom mana dan alasannya, alih-alih berdiam di balik tombol yang dinonaktifkan. Saat draf valid, dompet Anda diminta menandatangani setiap langkah secara bergantian.

### Mengapa deployment dilakukan per bagian

> **Sebuah token diterbitkan sebagai tiga kontrak melalui beberapa transaksi — tidak pernah satu.** Satu-transaksi Arc `createToken` memerlukan **77 kunci akun**, dan Rome membatasi satu transaksi hingga **62 kunci**. Jadi wizard menerbitkan setiap bagian dalam transaksinya sendiri dan kemudian memperoleh status pabrik melalui `ArcTokenFactoryV2.registerToken`. Ini adalah batasan Rome yang dibuat terlihat, bukan optimasi opsional — dan pengaman mempertahankan model keamanan hulu Arc secara persis (proksi kanonis, implementasi yang masuk daftar izin, pemanggil memegang peran admin token, pendaftaran hanya sekali). Lihat [COMPLIANCE.md](/id/aplikasi-di-rome/bloom/compliance.md#what-rome-adds--and-what-registertoken-preserves).

### Enam kartu

Wizard menampilkan enam kartu, yang mengikuti kemajuan deployment. Kartu berubah dari **Menunggu** menjadi **Menandatangani…** menjadi **Selesai** (atau **Gagal**) saat transaksinya masuk.

| # | Kartu                            | Fungsinya                                                                                                                                     |
| - | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | **Implementasi**                 | Implementasi aset bersama untuk chain ini — terselesaikan, tidak ada yang perlu ditandatangani. (Selesai sebelum langkah apa pun dijalankan.) |
| 2 | **Aset**                         | Menerbitkan aset Anda dan menetapkan nama, simbol, pasokan, serta desimalnya dalam satu langkah.                                              |
| 3 | **Siapa yang boleh memilikinya** | Menerbitkan modul izin milik aset ini, dengan Anda sebagai administratornya.                                                                  |
| 4 | **Terapkan pada transfer**       | Mengarahkan aset ke modul tersebut, sehingga setiap transfer diperiksa oleh aset itu sendiri.                                                 |
| 5 | **Aturan imbal hasil**           | Menerbitkan dan menautkan modul yang menentukan siapa yang dibayar.                                                                           |
| 6 | **Pendaftaran**                  | Mendaftarkan aset — inilah yang membuka penjualan dan memungkinkan Anda meningkatkannya nanti.                                                |

Enam kartu menyatukan delapan langkah deployment yang mendasarinya, sehingga satu **Mulai** menghasilkan **delapan tanda tangan**. Catatan di bawah tombol berbunyi *"Dompet Anda akan meminta Anda menandatangani setiap langkah. Berhenti kapan saja dan lanjutkan dari tempat Anda berhenti — tidak ada yang hilang."* Pendaftaran sebagai langkah terakhir adalah alasan berhenti itu aman: aset adalah deployment nyata pada setiap tahap, lalu didaftarkan di akhir.

Saat proses selesai, wizard menampilkan *"Diterbitkan. Aset Anda aktif di …"* dengan tautan ke konsol aset di `/token/[address]`.

> **`initialize` memberikan Anda setiap peran.** Penggerak wizard — alamat EVM Anda — menerima peran admin token, pencetak/pembakar, manajer/distributor imbal hasil, dan peningkat, ditambah peran admin modul daftar izin. Karena itu, penyimpanan kunci Anda merupakan bagian dari postur kepatuhan aset: dompet investor yang hilang hanya dapat dipulihkan melalui tindakan admin Anda, dan tab **Hak** membuat pemegang setiap kekuasaan terlihat. (`UPGRADER_ROLE` tidak *tidak* diberikan kepada pabrik secara otomatis — berikan secara eksplisit jika Anda menginginkan peningkatan yang dimediasi pabrik.)

***

## Konsol per aset, dan gerbang masuk

![Gerbang masuk konsol: tandatangani pesan dengan dompet Anda — tidak ada kata sandi.](/files/042bbd68fb9462d8ecd4bf7622e2f4c0dd9cb162)

Membuka `/token/[address]` tidak **tidak** langsung menampilkan konsol. Sistem menampilkan sebuah **gerbang masuk**:

> *"Masuk untuk mengelola aset ini. Tandatangani pesan dengan dompet Anda — tidak ada kata sandi. Otoritas Anda berasal dari aset itu sendiri, dan diperiksa lagi pada setiap tindakan, sehingga pencabutannya langsung berlaku."*

Tekan **Masuk dengan dompet Anda**. Berikut yang terjadi secara tepat:

1. Dompet Anda diminta untuk `personal_sign` sebuah pernyataan singkat yang dapat dibaca manusia (berjudul *"Bloom — buktikan Anda mengelola aset ini"*) yang menyebutkan satu tindakan yang diotorisasikannya — membaca antrean aplikasi aset ini — beserta alamat aset, ID chain, dan cap waktu.
2. Aplikasi mengirim pernyataan bertanda tangan itu ke `GET /api/applications`.
3. Server **server** memverifikasinya: server memulihkan alamat Anda dari tanda tangan, mengonfirmasi bahwa pernyataan tersebut untuk chain ini dan masih baru (mengotorisasi selama jendela dua menit, bukan sesi), membaca **modul daftar izin milik token sendiri** dari chain, dan memeriksa bahwa alamat Anda memegang peran yang benar-benar diperlukan untuk penulisan daftar izin — `MANAGER_ROLE` pada modul tersebut.
4. Jika Anda memegangnya, antrean dikembalikan dan konsol dirender. Jika tidak, server menolak dengan `403` dan alasan.

![Gerbang yang menampilkan penolakan dalam kutipan: dompet yang tidak mengelola aset ini ditolak.](/files/3899ef7a77a2cd447f1d28e4f45ccd826e781e07)

> **Aset menentukan siapa yang boleh mengelolanya — bukan aplikasi ini.** Peran diperiksa pada **modul**daftar izin, bukan pada token, dan memegang peran bernama sama pada token tidak *tidak* berlaku juga — keduanya merupakan otoritas yang berbeda. Tidak ada akun dan tidak ada sesi: setiap permintaan berikutnya membawa tanda tangan barunya sendiri, yang dimaksud oleh *"diperiksa lagi pada setiap tindakan"* . Cabut peran dompet pada chain dan dompet tersebut segera tidak dapat masuk lagi.

Penolakan menampilkan alasannya **dalam kutipan** — Bloom tidak pernah menulis kalimat tentang alasan suatu dompet ditolak. Jika Anda menolak tanda tangan di dompet, itu adalah *"tidak"*&#x41;nda, bukan milik aset, dan tidak dilaporkan sebagai penolakan.

> **Gerbang ini tentang konsol milik siapa, bukan tentang apa yang rahasia.** Pasokan, status penjualan, daftar alamat dalam daftar izin, dan peran adalah pembacaan chain publik yang dapat dijawab oleh penjelajah mana pun. Yang diperoleh melalui tanda tangan adalah **antrean aplikasi** — deklarasi orang lain — dan hak untuk ditampilkan konsol sama sekali.

### Header konsol

Setelah masuk, header menyebutkan aset dan menampilkan **fase** — fakta paling penting yang dimilikinya:

| Fase         | Makna                                                                                                                                         |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Draf**     | Belum ada modul izin yang ditautkan, sehingga tidak ada yang membatasi siapa yang dapat memiliki ini.                                         |
| **Terbuka**  | Transfer terbuka dan pasokan masih dapat berubah. Membatasi aset menjadikan pasokannya final, dan hal itu tidak dapat dibatalkan.             |
| **Dibatasi** | Hanya alamat dalam daftar izin yang boleh memiliki ini, **dan pasokannya final** — tidak ada lagi yang dapat dicetak atau dibakar, selamanya. |

Di atas tab, ringkasan menampilkan empat angka — **Pemegang · Untuk ditinjau · Terjual · Imbal hasil dibayar**. Dua dibaca dari chain dan penyimpanan (*Untuk ditinjau* setelah Anda masuk; *Terjual* dari etalase); *Pemegang* menunggu jumlah pemegang dari pratinjau imbal hasil, dan *Imbal hasil dibayar* menunggu kursor riwayat pembayaran yang belum tersedia. Setiap sel yang menunggu menampilkan tanda pisah dan menjelaskan yang dibutuhkannya, bukan sebuah `0` yang akan mengklaim fakta yang belum diminta kepada chain oleh siapa pun.

***

## Enam tab

Konsol memiliki enam tab, dalam urutan ini: **Aplikasi · Siapa yang boleh memilikinya · Pasokan · Penjualan · Imbal hasil · Hak.**

Setiap penulisan pada tab ini menggunakan satu kontrol bersama yang merender **prasyarat bernama** dan **konsekuensinya** *sebelum* tombol, serta menyebutkan fasenya saat berjalan (*"Menunggu dompet Anda…"*, *"Masuk ke chain…"*). Tidak ada yang seharusnya kembali (revert) untuk mengajari Anda hal yang dapat diperiksa terlebih dahulu.

### Aplikasi — antrean peninjauan

![Tab Aplikasi — antrean peninjauan, dengan aplikasi tertunda untuk disetujui atau ditolak, serta titik sambung kepatuhan.](/files/8cd6f0b4ef455ff06100e7fd01317e6081ffa061)

Tab ini mencantumkan siapa yang telah mengajukan permohonan untuk memegang aset. Setiap baris menampilkan alamat pemohon, yurisdiksi, jenis pemegang, kolom **Pemeriksaan** (*Lulus* jika penyedia Anda mencatat hasil, jika tidak *Dideklarasikan*), dan **Status** (*Untuk ditinjau*, *Disetujui*, *Ditolak*). Perluas baris untuk melihat fakta-faktanya dan dua kontrol: **Setujui — boleh memilikinya** dan **Tolak**. Penolakan memerlukan alasan, yang menjadi jawaban pemohon.

> **Menyetujui adalah dua tindakan terpisah, dan tab ini menjaganya tetap jujur.** Menekan **Setujui** *mencatat* keputusan Anda dalam penyimpanan aplikasi. Menempatkan alamat pada daftar izin aset di chain merupakan **tanda tangan kedua** — `batchAddToWhitelist` — dan sampai transaksi itu masuk, baris tersebut menyatakannya. Saat keputusan yang tercatat dan chain tidak selaras, tab menyebutkan kesenjangannya dan menawarkan penulisan yang menutupnya: **Izinkan** untuk menambahkan alamat yang disetujui ke daftar izin, atau (untuk alamat yang ditolak tetapi masih tercantum) kontrol untuk menghapusnya. Alamat tersebut tidak dapat memegang aset hingga penulisan daftar izin masuk.

Catatan tetap pada tab ini — **titik sambung kepatuhan** — menyatakan tempat proses Anda sendiri terhubung:

> *"Tidak ada dokumen yang diminta atau disimpan di sini — pemeriksaannya milik Anda sendiri. Hubungkan penyedia Anda di balik antarmuka `Aplikasi` , atau impor keputusan yang telah Anda buat. Bloom mencatat hasilnya dan chain mencatat satu ya atau tidak untuk alamat tersebut."*

Itulah antarmuka yang diganti oleh penerbit yang melakukan hosting mandiri: tukar implementasi penyimpanan aplikasi dengan implementasi persisten milik Anda sendiri tanpa perubahan pemanggil. Bloom tidak melakukan pemeriksaan dan tidak menyimpan dokumen.

### Siapa yang boleh memilikinya — gerbang transfer

![Tab Siapa-yang-boleh-memilikinya — jumlah daftar izin dan kontrol pembatasan transfer, yang menunjukkan konsekuensi pintu satu arahnya.](/files/240916e7fa43ffef4afd5f3dba326df23aca321f)

Tab ini melaporkan jumlah alamat yang masuk daftar izin pada aset, dan memungkinkan Anda mengubah apakah daftar izin **diterapkan**:

* Saat transfer **tidak dibatasi**, tab ini menawarkan untuk **membatasi transfer ke daftar izin**. Konsekuensi penulisan menyatakan bahwa tindakan itu menjadikan pasokan final dan merupakan pintu satu arah bagi non-admin.
* Saat transfer **dibatasi**, tab ini menawarkan untuk **cabut pembatasan**. Konsekuensinya menyatakan dengan jelas bahwa ini bukan pembatalan.

Pada aset *tidak dibatasi* (draf) tanpa modul izin yang ditautkan, tab menyatakannya — *"Tidak ada modul izin yang ditautkan, sehingga tidak ada yang membatasi siapa yang dapat memiliki ini"* — dan sakelar tidak dirender.

> **Token memeriksa kedua sisi setiap transfer.** Selama aset dibatasi, transfer dengan salah satu pihak di luar daftar izin akan revert di chain dengan kesalahan bertipe. Gerbang yang sama berlaku untuk transfer dompet EVM, transfer bertanda tangan Solana, penjualan etalase, dan perpindahan likuiditas awal — tidak ada jalur untuk menghindarinya selain melalui kekuasaan admin Anda sendiri.

### Pasokan

![Tab Pasokan — total unit yang ada.](/files/30f63212ab675becac9cd8beff8e1f47717647bb)

Tab ini melaporkan total pasokan yang ada, dalam unit utuh.

### Penjualan — buka, tutup, dan ambil hasil

![Tab Penjualan — penjualan terbuka, dengan kontrol tutup-penjualan, tarik-kembali-yang-tidak-terjual, dan tarik-hasil.](/files/024981a025f1a775315361c552c255912afb0d76)

Tab ini menjalankan penjualan primer melalui kontrak etalase.

* **Saat tidak ada penjualan yang terbuka**, tab ini menawarkan untuk membukanya: masukkan **Unit untuk dijual** dan **Harga per unit** (dalam `wUSDC`), lalu tekan **Buka penjualan**. Prasyarat penulisan ditampilkan terlebih dahulu — token harus terdaftar, etalase harus memegang inventaris penjualan, dan etalase itu sendiri harus masuk daftar izin pada token yang dijualnya — sehingga penjualan yang belum dapat dibuka menyatakan secara tepat apa yang dibutuhkannya.
* **Saat penjualan terbuka**, tab ini menunjukkan jumlah unit yang tersisa dari penawaran dan menawarkan **Tutup penjualan ini**.
* **Tarik kembali unit yang tidak terjual** memindahkan inventaris yang tidak terjual dari etalase kembali kepada penerima (secara default kepada Anda). Ini adalah **tidak** penutupan — penjualan tetap aktif, dan konsekuensi penulisan menyatakannya, sehingga penarikan kembali tidak dapat disalahartikan sebagai pembatalan.
* **Tarik hasil** mengirim pemasukan etalase ke sebuah alamat (secara default kepada Anda). Hasil terakumulasi secara independen dari status penjualan, sehingga dapat ditarik baik saat penjualan terbuka maupun tertutup.

### Imbal hasil — bayar pemegang, satu per transaksi

![Tab Imbal hasil — kolom jumlah distribusi, dengan pengingat untuk menetapkan mata uang pembayaran terlebih dahulu.](/files/5a5f9e12f306a9f07e41c7ebf3a7aa270ce7739b)

Tab ini mendistribusikan pembayaran imbal hasil kepada pemegang.

> **Distribusi adalah proses, bukan klik.** Di Rome, `distributeYieldWithLimit` membayar **satu pemegang per transaksi** (batas akun), sehingga pembayaran merupakan rangkaian jendela, masing-masing dengan tanda tangan sendiri. Anda memasukkan jumlah sekali, dalam unit utuh mata uang pembayaran, dan jumlah itu dikunci setelah proses dimulai. Jendela **pertama** menarik seluruh pembayaran dari Anda dan membayar pemegang pertama; setiap jendela berikutnya hanya memindahkan uang yang sudah berada di dalam kontrak token. Bloom membaca ulang kursor dari chain setelah setiap jendela — kumpulan pemegang diurutkan ulang saat saldo berubah, dan mengirim indeks usang akan memulai ulang dari nol serta menarik uang Anda untuk kedua kalinya.

Tab ini menunjukkan kemajuan — *"Membayar pemegang N dari M"* — dan selesai saat kursor berputar kembali. Jika aset tidak memiliki mata uang pembayaran yang ditetapkan, tab menyatakannya; menetapkan mata uang pembayaran adalah satu kolom distribusi yang hanya dapat Anda pilih.

> **Bagian pemegang yang dibatasi tetap berada dalam kontrak.** Alamat yang dikecualikan oleh modul daftar hitam imbal hasil dilewati, dan bagiannya secara pro rata tetap berada dalam kontrak token alih-alih dibayarkan.

Pembayaran terdahulu belum ditampilkan — membacanya menelusuri mundur peristiwa distribusi hingga blok pertama aset, yang memerlukan kursor riwayat yang belum tersedia. Tab menyatakan hal ini di dalam dirinya alih-alih menampilkan sebuah `0`.

### Hak — peran

![Tab Hak — setiap peran dan apakah peran itu dipegang, serta kontrol pemberian / pencabutan / pelepasan.](/files/7e874606a7a6fb175ec086de0de7039a1a4d7708)

Tab ini mencantumkan setiap peran yang dideklarasikan token dan apakah peran tersebut dipegang, masing-masing dibaca dengan satu `hasRole` panggilan terhadap token. Sebuah peran yang **tidak** dimiliki akan tampil seperti itu, alih-alih dihilangkan — pada tab hak, baris yang hilang dan sebuah *"tidak"* adalah fakta yang berbeda.

Di bawah daftar, sebuah kontrol mengubah peran:

| Tindakan                          | Bertindak pada                                                                   | Otoritas             |
| --------------------------------- | -------------------------------------------------------------------------------- | -------------------- |
| **Memberikan kepada akun**        | Sebuah alamat yang Anda masukkan                                                 | `DEFAULT_ADMIN_ROLE` |
| **Cabut dari akun**               | Sebuah alamat yang Anda masukkan                                                 | `DEFAULT_ADMIN_ROLE` |
| **Melepaskan milik Anda sendiri** | Diri sendiri (OpenZeppelin mensyaratkan konfirmasi harus berasal dari pemanggil) | Anda                 |

Pilihan peran adalah milik token itu sendiri, jadi kontrol tidak akan pernah menawarkan peran yang tidak dimiliki token. Seperti halnya setiap penulisan, baris otoritas dan konsekuensinya ditampilkan sebelum tombol, sehingga pintu dan sifat satu arahnya dinyatakan sebelum Anda menandatangani.

***

## Apa yang tidak pernah menyentuh Bloom atau rantai

Agar tidak ambigu tentang di mana kepatuhan berada:

| Hal                                         | Tempat keberadaannya                                                                                    |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Dokumen KYC/AML dan PII                     | Sistem Anda sendiri, dengan vendor dan retensi Anda sendiri — **tidak pernah** aplikasi ini atau rantai |
| Keputusan Anda untuk menerima sebuah alamat | Catatan di luar rantai; Anda memiliki penyimpanan                                                       |
| Dampak on-chain dari keputusan itu          | Satu boolean — `isWhitelisted(address)` — ditulis oleh `batchAddToWhitelist`                            |
| Penerapan aturan                            | Kontrak aset, pada setiap transfer                                                                      |
| Siapa yang dapat mengelola aset             | Peran yang dipegang pada modul allowlist aset, diperiksa pada setiap permintaan                         |

Untuk model kepatuhan secara lengkap, baca [COMPLIANCE.md](/id/aplikasi-di-rome/bloom/compliance.md); untuk mekanisme dua jalur (EVM dan Solana) yang digunakan pemegang Anda, baca [LANES.md](/id/aplikasi-di-rome/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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rome.builders/id/aplikasi-di-rome/bloom/issuing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
