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; 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 :
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

/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

/create mengumpulkan empat kolom lalu menerbitkan aset Anda.
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
createTokenmemerlukan 77 kunci akun, dan Rome membatasi satu transaksi hingga 62 kunci. Jadi wizard menerbitkan setiap bagian dalam transaksinya sendiri dan kemudian memperoleh status pabrik melaluiArcTokenFactoryV2.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.
Enam kartu
Wizard menampilkan enam kartu, yang mengikuti kemajuan deployment. Kartu berubah dari Menunggu menjadi Menandatanganiโฆ menjadi Selesai (atau Gagal) saat transaksinya masuk.
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].
initializememberikan 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_ROLEtidak tidak diberikan kepada pabrik secara otomatis โ berikan secara eksplisit jika Anda menginginkan peningkatan yang dimediasi pabrik.)
Konsol per aset, dan gerbang masuk

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:
Dompet Anda diminta untuk
personal_signsebuah 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.Aplikasi mengirim pernyataan bertanda tangan itu ke
GET /api/applications.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_ROLEpada modul tersebut.Jika Anda memegangnya, antrean dikembalikan dan konsol dirender. Jika tidak, server menolak dengan
403dan alasan.

Aset menentukan siapa yang boleh mengelolanya โ bukan aplikasi ini. Peran diperiksa pada moduldaftar 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"Anda, 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:
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 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 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 ini melaporkan total pasokan yang ada, dalam unit utuh.
Penjualan โ buka, tutup, dan ambil hasil

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 ini mendistribusikan pembayaran imbal hasil kepada pemegang.
Distribusi adalah proses, bukan klik. Di Rome,
distributeYieldWithLimitmembayar 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 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:
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:
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; untuk mekanisme dua jalur (EVM dan Solana) yang digunakan pemegang Anda, baca LANES.md.
Terakhir diperbarui
Apakah ini membantu?