Halaman ini membawa sebuah token daripada ketiadaan kepada aset hidup yang boleh dipindahkan di Rand. RPL ialah standard token Rand, baharu pada chain 14. Jika anda pernah menerbitkan ERC-20 atau mencipta SPL mint, bahagian pertama ialah bahagian yang perlu dibaca perlahan-lahan, kerana token RPL bukan kedua-duanya. Token RPL ialah halaman konsep yang mendasari halaman ini.
1. Apakah token RPL
Token RPL ialah satu entri dalam daftar token lejar, bukan kontrak pintar. Tiada kod untuk ditulis, dikompil atau diaudit. Mencipta token ialah satu transaksi yang menambah satu baris ke dalam daftar, dan selepas itu unit token tersebut ialah nota terlindung biasa, disimpan dalam kolam yang sama dengan RAND dan dibelanjakan dengan cara yang sama.
| medan | peraturan |
|---|---|
| asset id | 32 bait, identiti token. Ditulis rpl1…: bech32m, 62 aksara, dengan checksum |
| index | nombor kecil yang ditetapkan oleh chain semasa pendaftaran (1, 2, …; 0 ialah RAND). Singkatan bagi id pada chain ini |
| name | 1 hingga 32 bait UTF-8, ditetapkan semasa penciptaan |
| symbol | 1 hingga 12 aksara ASCII boleh cetak, ditetapkan semasa penciptaan |
| decimals | 0 hingga 9, ditetapkan semasa penciptaan |
| mint authority | siapa yang boleh mengeluarkan lebih banyak unit: tiada sesiapa (None), sebuah kunci (Key), atau jambatan (Bridge) |
| total supply | awam, dan hanya berubah melalui mint atau burn |
Simbol tidak unik. Sesiapa sahaja boleh mencipta token bernama USDC, sama seperti di Ethereum dan Solana. Identiti token ialah asset id-nya, jadi semaklah id rpl1… sebelum anda menerima atau menyenaraikan token, jangan sekali-kali bergantung pada simbol. Bentuk teks id ini mempunyai checksum: id yang tersalah taip akan ditolak, bukan dihantar ke tempat lain.
Perbezaannya daripada ERC-20 dan SPL
| ERC-20 / SPL | RPL | |
|---|---|---|
| apakah token | sebuah kontrak, atau akaun yang dimiliki oleh sebuah program | satu baris daftar; tiada kod bagi setiap token, maka tiada cukai pemindahan, rebase atau hook |
| baki | awam, bagi setiap alamat | nota terlindung. Tiada sesiapa dapat membaca baki pemegang atau menyenaraikan pemegang sesuatu token |
| pemindahan | penghantar, penerima dan jumlah adalah awam | dibuktikan oleh penghantar, terlindung sepenuhnya. Pemerhati tidak dapat membezakannya daripada pembayaran RAND |
| yuran | syiling asal chain | RAND. Pemegang memerlukan sedikit RAND untuk memindahkan token, sebagaimana pemegang ERC-20 memerlukan ETH |
| penerimaan | SPL memerlukan akaun token terlebih dahulu | tiada apa-apa untuk disediakan. Mana-mana alamat rand1… boleh menerima mana-mana token |
| jumlah | uint256 / u64 | u64, dan paling banyak 9 perpuluhan |
| approve / transferFrom | ya | tiada dalam v1 |
| freeze, blacklist, pause | selalunya ada | tiada |
| metadata | di luar chain atau boleh diubah | di dalam chain dan tidak boleh diubah |
| dipegang oleh program | ya | tiada dalam v1 |
Yang kekal awam ialah sempadannya: pendaftaran token, setiap mint dan setiap burn, masing-masing bersama jumlahnya. Itulah yang menjadikan jumlah bekalan boleh diaudit oleh sesiapa sahaja. Pemindahan antara pemegang tidak mendedahkan apa-apa, termasuk token yang mana dipindahkan.
2. Sebelum anda bermula
| anda perlukan | cara |
|---|---|
baris perintah rand | Menjalankan node membinanya; Baris perintah menyenaraikan setiap perintah |
| sebuah dompet | rand keygen menulis fail kunci belanja dan rand address mencetak alamat rand1… miliknya (Akaun dan alamat) |
| sebuah node untuk dihubungi | dompet berkomunikasi dengan node melalui JSON-RPC, secara lalai node anda sendiri di http://127.0.0.1:8545. Node mengikat RPC-nya pada localhost, jadi persediaan lazim ialah node anda sendiri yang mengikuti chain 20. Tanpa node sendiri, gunakan --rpc https://rpc.randprotocol.org: endpoint awam menyokong segala-galanya di halaman ini kecuali rand faucet, yang ditolaknya (JSON-RPC, endpoint awam) |
| RAND untuk yuran | beberapa RAND dalam dompet. Satu panggilan faucet sebanyak 100 RAND mencukupi untuk semua yang ada di halaman ini, tetapi pada chain 20 rand faucet hanya membayar kepada 16 dompet yang disenaraikan dalam allowlist genesis (staking.faucet_recipients) dan menolak mana-mana alamat lain dengan the faucet may not mint to this recipient; mana-mana dompet lain memerlukan RAND yang dihantar kepadanya oleh seseorang yang memilikinya (Mint dan burn) |
| yuran pendaftaran | parameter genesis chain, antara 1 dan 10,000 RAND. Pada chain 20 ia ialah 1 RAND, maka rand token create berharga 1.001 RAND: asas 0.001 RAND yang dibayar setiap transaksi, ditambah yuran pendaftaran, yang dibakar oleh chain 20 dan bukan dibayar kepada proposer blok. Setiap perintah lain di sini berharga asas 0.001 RAND |
| kira-kira 6 GB memori bebas | setiap transaksi dibuktikan pada mesin anda sendiri. Pada chain 20 itu ialah dua bukti, dan dompet mencetak satu baris bagi setiap satu: proving the spend authorisation on this machine (tier 10; seconds)…, kemudian proving the bundle (tier 14; about a minute and a half on a laptop)…. Bukti bundle mengambil masa kira-kira 100 saat dan kira-kira 5.7 GB memori semasa ia berjalan; kedua-duanya berukuran kira-kira 1.37 MB dan kira-kira 1.5 MB pada wayar, kira-kira 2.85 MB bersama. Itu berlaku bagi setiap langkah di bawah yang mengubah chain, iaitu create, setiap mint, setiap send dan setiap burn |
rand --key wallet.key.json keygen # writes the spend key; refuses to overwrite
rand --key wallet.key.json address # your rand1… address
rand --key wallet.key.json faucet # testnet only, allowlisted wallets only: asks a validator node to mint 100 RAND to this wallet
rand --key wallet.key.json balance # scans the tree, prints the spendable value and the unspent note count
--key secara lalai ialah wallet.key.json dan boleh ditetapkan sekali sebagai RAND_KEY; --rpc (atau RAND_RPC) menamakan node yang dihubungi dan secara lalai ialah http://127.0.0.1:8545. Perintah di bawah menyatakan --key secara jelas. Sebelum anda membelanjakan satu bukti, pastikan node berada pada chain 20: kaedah JSON-RPC rand_chainId mengembalikan 20 di sana. Dompet mestilah binaan chain-20, v0.6.8: chain 20 mengikat setiap bukti dan setiap mesej bertandatangan, termasuk mint token, kepada hash genesisnya, maka rand v0.6.7 menghasilkan bukti dan tandatangan yang ditolak oleh chain 20.
3. Cipta token
token create menerima jumlahnya dalam unit terkecil token. --fixed-supply dan --initial ialah nombor bulat unit asas: dengan --decimals 2, jumlah 1000000 ialah 10,000.00 token. Setiap perintah selepas itu (rand send --asset, rand token mint, rand token burn) menerima unit paparan token sejak v0.5.10, sebagaimana jumlah RAND dalam RAND (1.5): dompet membaca decimals daripada baris daftar token, dan digit pecahan yang melebihi bilangan yang dimiliki token akan ditolak. Di dalam chain, jumlah sentiasa ialah integer unit asas.
Putuskan satu perkara dahulu: adakah unit tambahan boleh dikeluarkan pada bila-bila masa? Jawapannya ditetapkan ke dalam token semasa penciptaan dan tidak boleh dilonggarkan kemudian.
| bekalan tetap | boleh di-mint | |
|---|---|---|
| mint authority | None | Key: kunci Dilithium2 yang anda pegang |
| bekalan | seluruh bekalan di-mint sekali, dalam transaksi penciptaan | bermula pada sifar, atau pada --initial; pemegang kunci melakukan mint dari semasa ke semasa |
| flag | --fixed-supply <N> --to <rand1…> | --authority-key-out <FILE>, dan secara pilihan --initial <N> --to <rand1…> |
| sesuai untuk | token berhad, unit keahlian atau pengundian | penerbit yang menambah bekalan, seperti token mata atau ganjaran |
Token bekalan tetap
rand --key wallet.key.json token create \
--name "Example Credits" \
--symbol EXC \
--decimals 2 \
--fixed-supply 1000000 \
--to rand1…
--to ialah alamat rand1… penuh yang menerima bekalan, contohnya output rand address. --fixed-supply dalam unit asas: 1000000 pada 2 perpuluhan ialah 10,000.00 EXC.
Perintah ini membaca index seterusnya daftar dan yuran pendaftaran daripada node, membina nota mint awal, membuktikan satu bundle yuran, menghantar pendaftaran dan menunggu blok. Apabila berjaya, ia melaporkan penghantaran, kemudian mencetak baris berbentuk index <N>, id <64 hex> (<rpl1…>), kemudian committed at height <H>. Catatkan id rpl1…: ia ialah identiti token, dan setiap perintah selepas itu memerlukannya.
Yuran lalai ialah asas ditambah yuran pendaftaran chain, 1.001 RAND pada chain 20, jadi tiada apa-apa yang perlu dikira; --fee (dalam RAND) menaikkannya. --no-wait kembali sebaik sahaja transaksi dihantar dan melangkau baris committed. --cuda membuktikan pada GPU NVIDIA yang dipasang, memerlukan binaan dengan --features cuda, dan tidak beralih semula ke CPU.
Jika token lain didaftarkan semasa token anda sedang dibuktikan, ia mengambil index yang dimeterai untuk token anda. Node menolak pendaftaran dan perintah mencetak another token took index N first — re-run to register at N+1, dengan nombor sebenar. Pendaftaran yang ditolak tidak pernah sampai ke blok; yang hilang ialah pembuktian, kira-kira 100 saat kerja. Jalankan perintah itu semula dan ia membuktikan terhadap index seterusnya.
Seluruh bekalan kini berada dalam satu nota terlindung yang dimiliki oleh alamat --to. Pendaftaran dan jumlahnya adalah awam; apa yang penerima lakukan dengan nota itu selepas itu tidak.
Token yang boleh di-mint
rand --key wallet.key.json token create \
--name "Example Points" \
--symbol EXP \
--decimals 0 \
--authority-key-out exp-authority.key.json
Ini menulis kunci Dilithium2 baharu ke exp-authority.key.json (mod 0600, enggan menimpa fail sedia ada) dan mendaftarkan token tersebut dengan kunci itu sebagai pihak berkuasa pencetakan (mint authority), dengan bekalan sifar. Outputnya ialah dua baris yang sama seperti bagi token bekalan tetap. Tepat satu daripada --fixed-supply dan --authority-key-out mesti diberikan.
Untuk mencetak jumlah pertama dalam transaksi yang sama, tambahkan --initial dan --to, yang mesti diberikan bersama:
rand --key wallet.key.json token create \
--name "Example Points" \
--symbol EXP \
--decimals 0 \
--authority-key-out exp-authority.key.json \
--initial 5000 \
--to rand1…
Semasa pendaftaran sedang diproses, kunci itu berada di exp-authority.key.json.pending. Kunci itu dinaikkan kepada exp-authority.key.json sebaik sahaja rantaian menerima pendaftaran tersebut dan dibuang jika rantaian menolaknya. Jika sambungan gagal dan hasilnya tidak diketahui, fail itu kekal di .pending: semak rand token list sebelum anda memadamkannya.
Fail kunci ialah kuasa untuk mencetak token itu. Simpan di luar talian dan buat sandaran; ia berasingan daripada kunci perbelanjaan dompet anda dan tidak pernah diperlukan untuk menghantar atau menerima.
Mengapa penerima cetakan pertama menjadi sebahagian daripada id
Pendaftaran tidak ditandatangani oleh penciptanya. Sesiapa yang melihat pendaftaran anda menunggu dalam mempool boleh menghantar salinannya, dibayar dengan bundle yuran mereka sendiri. Jika id aset hanya meliputi nama, simbol dan jumlah, salinan itu boleh menamakan alamat penyalin sebagai penerima dan sampai ke dalam blok terlebih dahulu: mereka akan memiliki id itu dan, bagi token bekalan tetap, keseluruhan bekalan selama-lamanya.
Oleh itu, id ialah cincangan ke atas segala-galanya dalam pendaftaran, termasuk cetakan awal: jumlahnya, penerimanya, kerawakannya, masanya dan sampul suratnya yang disulitkan. Salinan dengan penerima yang berbeza menghasilkan cincangan id aset yang berbeza. Ia ialah token lain yang kebetulan berkongsi simbol anda, iaitu semua yang pernah dijanjikan oleh simbol yang tidak unik. Id anda hanya boleh didaftarkan dengan penerima anda.
--salt <hex32> menetapkan salt 32 bait yang turut menjadi input kepada id. Jika ditinggalkan, dompet akan memilih satu secara rawak. Tetapkannya apabila anda memerlukan id itu dapat diulang, misalnya untuk menerbitkan id sebelum token itu wujud.
Sahkannya
rand token info rpl1… # by id: rpl1… or 64 hex characters
rand token info 2 # or by the index `token create` printed
rand token list --limit 20 # one page of the registry; --from <index> pages on
token info mencetak baris token itu sebagai JSON: index, id, id_text (bentuk rpl1…), name, symbol, decimals, authority, mint_nonce, total_supply dan registered_at. authority ialah {"kind":"none"} bagi token bekalan tetap dan {"kind":"key","key":…,"address":…} bagi token yang boleh dicetak. total_supply ialah rentetan perpuluhan dalam unit asas. token list mencetak enabled, registration_fee, next_index dan baris tokens. Kedua-duanya membaca keseluruhan senarai nod, jadi nod tidak mengetahui token mana yang menarik minat anda.
Atau melalui JSON-RPC, yang parameternya boleh berupa indeks, id heks 64 aksara atau bentuk rpl1…:
curl -s http://127.0.0.1:8545 -H 'content-type: application/json' -d '{
"jsonrpc": "2.0", "id": 1,
"method": "rand_getToken",
"params": ["rpl1…"]
}'
Hasilnya ialah baris yang sama yang dicetak oleh token info, atau null jika token sedemikian tidak wujud; id yang cacat (checksum yang salah, huruf besar dan kecil bercampur, panjang yang salah) menghasilkan ralat -32602. rand_getTokens menerima [from_index, limit] dan membuat penomboran halaman ke atas setiap token yang didaftarkan, dan rand_getTokenSupply memulangkan { total_supply, backings } sahaja. Tiada satu pun daripadanya memerlukan kunci. Lihat JSON-RPC.
Satu baris yang wujud pada chain 20 hari ini ialah zUSD, token yang dijambatankan pada indeks 1. Penjelajah menyediakan pendaftaran nod tanpa memerlukan nod anda sendiri:
curl -s https://randscan.org/api/v1/tokens
Pada chain 14, pada 2026-09-20, ia memulangkan "registration_fee": 1000000000, "next_index": 2 dan satu token, dipendekkan di sini kepada sokongan pertamanya:
{
"index": 1,
"id": "32e5ab28c782c663e14da2650a3feb12f16a12db85599f4f62dc169d26f37b1f",
"id_text": "rpl1xtj6k2x8strx8c2d5fjs50ltztck5ykms4ve7nmzmstf6fhn0v0spelqtx",
"name": "Shielded USD",
"symbol": "zUSD",
"decimals": 8,
"authority": {
"kind": "bridge",
"backings": [
{ "chain": 2, "token": "000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7",
"decimals": 6, "locked": "0", "minted_today": "0", "mint_day": 20716,
"mint_cap_per_day": "10000000000000" }
]
},
"mint_nonce": 0,
"total_supply": "0",
"registered_at": 256
}
Pada chain 20, baris itu mempunyai id, id_text, nama, simbol dan sokongan (backings) yang sama, tetapi zUSD disenaraikan dalam genesis dan bukannya didaftarkan pada ketinggian 256 (registered_at 0), dan bekalannya bermula pada 99 zUSD: 22 dikunci pada Ethereum USDT, 22 pada BSC USDT, 30 pada Tron USDT dan 25 pada Solana USDT, dibawa daripada chain 19. (Chain 19 bermula pada 10 zUSD, kesemuanya pada Solana; chain 18 pada 9 pada Tron dan 1 pada Solana.) Setiap baris sokongan turut membawa medan tetingkap bergulir minted_in_window, mint_window_secs dan mint_headroom.
Salinan registration_fee milik penjelajah ialah nombor JSON; RPC nod sendiri memulangkannya, seperti setiap jumlah, sebagai rentetan perpuluhan. Pada chain 20, seperti pada setiap chain sejak 15, rand_getTokens nod turut membawa max_tokens (4096), burn_registration_fee dan bound_note_value (kedua-duanya true) (RPL tokens).
4. Cetak, dan serahkan pihak berkuasa
Hanya token dengan pihak berkuasa Key yang boleh dicetak, dan hanya oleh kunci itu.
rand --key wallet.key.json token mint \
--asset rpl1… \
--to rand1… \
--amount 5000 \
--authority-key exp-authority.key.json
--amount dalam unit paparan token: 5000 bagi token 0 perpuluhan ini ialah 5,000 unit asas, dan 1.5 bagi token 6 perpuluhan ialah 1,500,000. Sebelum membina note atau bukti, dompet membaca baris token itu dan enggan meneruskan jika token itu tidak diberi kuasa Key atau jika --authority-key bukan kunci yang dinamakan oleh pendaftaran. Jika berjaya, ia melaporkan penghantaran dan mencetak minted <amount> (<base units> units) of asset <index> to <address>. --fee (lalai 0.001 RAND), --no-wait dan --cuda berfungsi seperti bagi token create.
Satu cetakan menambah satu note untuk penerima dan menaikkan jumlah bekalan. Jumlah dan kunci awam penerima terdapat pada wayar: cetakan ialah peristiwa awam secara reka bentuk, sama seperti deposit melalui jambatan. Apabila penerima memindahkan note itu, ia terlindung (shielded) seperti yang lain. Dompet yang membayar yuran (--key) dan kunci yang membenarkan cetakan (--authority-key) ialah kunci yang berbeza dan boleh dipegang oleh orang yang berbeza.
Setiap cetakan ditandatangani ke atas id rantaian, id aset dan satu pembilang yang disimpan oleh pendaftaran, dan pada chain 20 ke atas cincangan genesis juga (rand-rpl-mint-2), supaya cetakan tidak dapat dimainkan semula pada rantaian ini atau disalin ke rantaian lain, walaupun yang berkongsi id rantaian yang sama. set-authority diikat dengan cara yang sama.
Untuk memindahkan pihak berkuasa kepada kunci baharu, atau melepaskannya selama-lamanya:
rand --key wallet.key.json token set-authority \
--asset rpl1… \
--authority-key exp-authority.key.json \
--new-key next-authority.key.json
rand --key wallet.key.json token set-authority \
--asset rpl1… \
--authority-key exp-authority.key.json \
--renounce
--new-key menerima fail kunci dan menyerahkan token kepada kunci awam fail itu; tepat satu daripada --new-key dan --renounce mesti diberikan. Perintah itu mencetak asset <index>'s mint authority is now <public key hex>, atau asset <index>'s mint authority is renounced for good. Setiap satu dikenakan asas 0.001 RAND dan satu pusingan pembuktian. --renounce menjadikan token itu token bekalan tetap pada bekalannya sekarang. Ia tidak boleh dipulihkan: pihak berkuasa boleh beralih daripada kunci ke kunci atau daripada kunci kepada tiada sesiapa, dan tiada yang lain. Token yang dicipta dengan bekalan tetap tidak boleh menjadi boleh dicetak.
5. Menggunakannya
Hantar
rand --key wallet.key.json send rand1… 250 --asset rpl1…
Ini menghantar 250 token itu dalam unit paparan: 250 EXP pada 0 perpuluhan, atau 250.00 EXC (25,000 unit asas) pada 2. Penerima dan jumlah ialah argumen kedudukan, seperti bagi RAND. Sebelum sebarang pembuktian, dompet mencetak satu baris, to fingerprint XXXX-XXXX-XXXX-XXXX · <amount> <symbol> (<base units> units), dan bertanya send? [y/N]. Semak cap jari dengan cap jari penerima dan unit asas dengan apa yang anda maksudkan. --yes melangkau soalan itu, dan skrip mesti memberikannya: tanpanya, stdin yang bukan terminal akan ditolak. --asset menerima indeks, id rpl1… atau id heks 64 aksara, dan jika ditinggalkan, RAND yang dihantar. --memo <text> menyulitkan sehingga 510 bait teks kepada penerima di dalam sampul surat pembayaran, yang chain 18 ialah rantaian pertama yang membenarkannya; tiada apa-apa pada rantaian menunjukkan bahawa memo ada. --fee sentiasa dalam RAND dan lalainya 0.001; --no-wait dan --cuda terpakai. Id diselesaikan kepada indeksnya daripada keseluruhan senarai pendaftaran nod, dan indeks berangka tidak pernah sampai kepada nod sama sekali, jadi nod tidak diberitahu token mana yang akan dipindahkan. Ini ialah rand send yang sama yang memindahkan RAND, dan pembuktian yang sama. Transaksi itu menerbitkan empat nullifier, empat komitmen, yuran RAND, masa, empat sampul surat yang disulitkan, bukti bundle dan, sejak chain 17, komitmen kebenaran dan buktinya, tidak kira aset mana yang dipindahkan. Pemerhati tidak dapat membezakan pemindahan token daripada pembayaran RAND, tidak dapat mengetahui token yang mana, dan tidak melihat pengirim, penerima atau jumlah.
Yuran dibayar dalam RAND daripada bundle yang sama, jadi dompet penghantar mesti memegang sedikit RAND. Dompet menyemak perkara itu sebelum mula membuat pembuktian.
Semak baki
rand --key wallet.key.json asset-balance 2 # one token, by index
rand --key wallet.key.json asset-balance # a row for every token this wallet holds
Argumennya ialah indeks pendaftaran. Bagi satu token, dompet mencetak asset <index> balance: <N> units, dalam unit asas. rand notes menyenaraikan setiap note yang telah dibuka oleh dompet beserta indeks assetnya. Dompet menemui note-nya dengan mengimbas rantaian menggunakan kunci tontonannya. Tiada apa-apa pada rantaian yang menyimpan baki untuk dicarinya.
Bakar
rand --key wallet.key.json token burn rpl1… 100
Aset dan jumlah ialah argumen kedudukan: aset sebagai indeks, rpl1… atau heks, jumlah dalam unit paparan token, seperti yang dibaca oleh send --asset. --fee lalainya 0.001 RAND; --no-wait dan --cuda terpakai.
Pembakaran memusnahkan unit dan menurunkan jumlah bekalan. Seperti cetakan, ia ialah sempadan awam: jumlah dan token kelihatan, pemegangnya tidak. Token yang dijambatankan seperti zUSD tidak dibakar dengan cara ini: token burn menolaknya sebelum pembuktian, dan ia keluar melalui rand bridge-burn, yang melepaskan syiling di belakangnya.
6. Sahkannya pada penjelajah
randscan.org menunjukkan sisi awam sesebuah token kepada semua orang: pendaftarannya, operasi mint dan burn, serta jumlah bekalannya. Setiap token disenaraikan di randscan.org/tokens, dan halaman satu token ialah /tokens/<rpl1…>, /tokens/<64 hex> atau /tokens/<index>; randscan.org/tokens/1 ialah zUSD. Data yang sama terdapat pada GET /api/v1/tokens dan GET /api/v1/tokens/:id, yang kedua disertai transaksi penempatan token itu dan sejarah bekalannya yang merangkumi pendaftaran, operasi mint dan burn (API Explorer).
Halaman awam sesuatu pemindahan menunjukkan tiada aset, tiada jumlah dan tiada pihak, kerana rantaian tidak menyimpannya. Untuk membuktikan pembayaran kepada pihak lain, seperti juruaudit, pihak lawan atau bursa, berikan kunci kepada mereka:
| kunci | apa yang dilihat oleh pemegangnya |
|---|---|
| kunci transaksi | satu output bagi satu transaksi dibuka: token, jumlah dan pihak-pihak berkenaan |
| kunci pemandangan | setiap note yang telah dihantar atau diterima oleh dompet, dengan perincian yang sama, serta sama ada setiap satunya telah dibelanjakan |
rand --key wallet.key.json tx-key <TX_HASH> # the keys for one transaction
rand --key wallet.key.json viewing-key # the wallet's viewing key, 64 hex characters
tx-key mencetak satu baris bagi setiap output transaksi itu yang dihantar, diterima atau disimpan sebagai baki oleh dompet ini: output (bundle:0 hingga bundle:3, empat slot bagi bundle itu), peranan, jumlah (dalam RAND, atau N (asset I) bagi token) dan kunci per-transaksi yang digunakan untuk memeteraikan output itu. Serahkan kunci daripada baris sent. Kunci ini berfungsi untuk mana-mana transaksi yang lalu, kerana dompet memulihkan kunci tersebut daripada rantaian.
Tampalkan kunci transaksi pada halaman transaksi itu di randscan untuk membuka output tersebut; explorer menyelesaikan indeks aset berdasarkan pendaftaran dan memaparkan token mengikut nama, dengan perpuluhannya diterapkan. Kunci pemandangan dimasukkan di randscan.org/viewing. Explorer tidak menyimpan sebarang kunci dan tidak menyahsulit apa-apa pada pelayannya. Melalui JSON-RPC, pendedahan yang sama ialah rand_checkTransaction(hash, key). Kedua-dua kunci tidak dapat membelanjakan apa-apa. Kunci pemandangan tidak boleh ditarik balik setelah dikongsi, jadi pilih kunci transaksi apabila satu pembayaran sahaja yang perlu dibuktikan.
7. Token yang dijambatankan
zUSD (“Shielded USD”) juga merupakan token RPL, dengan pihak berkuasa Bridge: unitnya dicetak hanya apabila penjaga mengesahkan deposit USDT atau USDC di Ethereum, Binance Smart Chain, Tron atau Solana, dan bekalannya sentiasa sama dengan jumlah yang dikunci di sana. Ia didaftarkan pada chain 14 melalui transaksi pada ketinggian 256, pada indeks 1, dengan tujuh sokongan, dan genesis setiap chain sejak itu, termasuk chain 20, menyenaraikannya semula di bawah id yang sama, rpl1xtj6k2x8strx8c2d5fjs50ltztck5ykms4ve7nmzmstf6fhn0v0spelqtx. Chain 15 membawa 10 zUSD yang masih belum ditebus apabila chain 14 dihentikan, chain 16 hingga 19 bermula dengan 10 zUSD yang sama, dan chain 20 bermula dengan 99 zUSD yang belum ditebus pada chain 19. Pada chain 20, jambatan mengenakan 10 bps daripada setiap deposit dan setiap penebusan, dalam zUSD, ke note perbendaharaan (Jambatan). zUSD ialah sebuah bakul: sokongannya dikumpulkan pada nilai muka, jadi pemegang menanggung risiko setiap syiling yang disenaraikan, bukan hanya risiko syiling yang didepositkannya (Token RPL). Bekalannya berubah dengan setiap deposit dan penebusan; rand token info 1 atau /tokens/1 pada explorer memberikan angka semasa.
Kehidupannya pada chain 14, sebuah testnet terdahulu (disemak pada explorer 2026-09-20). Jadual ini ialah sejarah chain 14: chain 14 telah dihentikan, maka transaksi ini tidak terdapat pada explorer chain 20:
| apa | transaksi (chain 14) | ketinggian |
|---|---|---|
pendaftaran (register_bridged_token) | 7fa28fe6277a82401dcc440ff32da13c5e5763f79826fb17cc508f4c15abdd13 | 256 |
mint jambatan (bridge_attest) | f2f24d75bc0e7d84dff1f4e4518a9d4bef115392492a39befca1528a2404851d | 2,572 |
| pemindahan zUSD terlindung | e6ddaca3c852e6c861524a55d00a0fbdcaff6867544b9f19b9bf60ce263c32ed | 3,259 |
burn jambatan (bridge_burn) | f9f365ca170a5fb51ff9381d7b5cc39538c1a621e5f6e8c1bd74d8751c7bbc49 | 3,481 |
Halaman pemindahan itu menunjukkan apa yang ditunjukkan oleh mana-mana pemindahan token: empat nullifier, empat komitmen dan satu fi, dan tiada apa-apa yang menyatakan bahawa zUSD telah berpindah.
Untuk menunjukkan apa yang didedahkan oleh sesuatu kunci, nota keluaran v0.5 fullnode menerbitkan dua kunci bagi pemindahan chain 14 itu, daripada dompet demo yang dibuat untuk tujuan tersebut dan tidak menyimpan apa-apa yang lain:
| kunci | nilai | apa yang dibukanya |
|---|---|---|
| kunci transaksi pemindahan itu | 7f68f57c4f33a3f0fe419f4d1a5df2875461339dbc454af8ced50cbd7f40e4ef | output bundle:0 bagi satu transaksi itu: jumlah 100000000 bagi asset 1, iaitu 1 zUSD |
| kunci pemandangan dompet demo | a93c673ffeff7204447161347828d8e549b7070460813ae1b7e664694e1dcd5d | setiap note yang telah dihantar atau diterima oleh dompet itu |
Pada chain 14, kunci transaksi itu membuka output tersebut pada halaman pemindahan, dan melalui JSON-RPC ia hanya satu panggilan (disemak 2026-09-20). Panggilan ini mempunyai bentuk yang sama pada chain 20 bagi transaksi anda sendiri; dengan nilai chain 14 ini, nod chain 20 menjawab null (disemak 2026-10-01), kerana ia tidak pernah menyimpan transaksi itu:
curl -s https://rpc.randprotocol.org -H 'content-type: application/json' -d '{
"jsonrpc": "2.0", "id": 1, "method": "rand_checkTransaction",
"params": ["e6ddaca3c852e6c861524a55d00a0fbdcaff6867544b9f19b9bf60ce263c32ed",
"7f68f57c4f33a3f0fe419f4d1a5df2875461339dbc454af8ced50cbd7f40e4ef"] }'
Jangan sekali-kali menerbitkan kunci pemandangan bagi dompet yang anda gunakan: ia menunjukkan keseluruhan sejarah dompet itu, buat selama-lamanya.
Alamat biasa tidak boleh mencipta token yang dijambatankan. rand token create menolak pihak berkuasa Bridge, dan mendaftarkan token yang dijambatankan, atau menambah syiling di sebalik token sedia ada, memerlukan kuorum bertandatangan daripada set penjaga jambatan yang bersifat pasca-kuantum. Token yang menamakan dirinya zUSD tanpa itu hanyalah token lain dengan simbol yang dipinjam, dan ini satu lagi sebab untuk menyemak id rpl1…. Token yang dijambatankan sentiasa mempunyai 8 perpuluhan pada Rand.
Jambatan merangkumi deposit, penebusan dan set penjaga.