له cargo build --release څخه درې باینري لاسته راځي: rand-node (نوډ او د چلوونکي کمانډونه)، rand (پټ والټ) او rand-prover (سپارل شوی ثبوت جوړوونکی). هر کمانډ -h/--help مني. دا پاڼه د v0.6.8 خپرونه (c9c9bd3c) بیانوي، هغه جوړښت چې زنځیر 20 پرې چلېږي؛ چېرې چې v0.6.7 بل ډول چلند کاوه، دا پاڼه یې یادوي. له v0.6.8 څخه زوړ rand والټ په زنځیر 20 کې نشي لېږلی، ځکه د دې زنځیر پیدایښت هر ثبوت او هر لاسلیک شوی پیغام له خپل هش سره تړي. لومړۍ دوه باینري بېل ډوله کیلي ساتي: د نوډ کیلي د Dilithium2 کیلي جوړه ده چې بلاکونه لاسلیکوي؛ د والټ کیلي د پټ لګښت کیلي ده چې په زنځیر کې هېڅ شی نه لاسلیکوي.
rand-node
rand-node <COMMAND>
keygen Generate a new Dilithium2 key file (refuses to overwrite an existing one)
address Print the address, public key, and libp2p peer id of a key file
genesis Write a genesis.json: every validator key is staked, each --alloc becomes a deposit note
alloc-note Print one genesis alloc note as JSON, RAND or a listed token, for splicing into a genesis
init Initialise a data directory from a genesis file
run Run the node
verify Verify the chain in a data directory without running the node
db Database maintenance on a stopped node's data directory
safety status | clear-halt | release-lock: a stopped validator's consensus safety state
status Show node status
register Print this node's Registration, for the wallet that bonds it in
admit sign | submit: the validator set's vote to admit a new key (admission by vote)
unbond Move bonded stake into unbonding
withdraw Pay released stake and rewards into a note at the payout address
bridge-gov rotate-pq | rotate-pause | cancel-rotation: the bridge's post-quantum rotations
vesting status | claim | revoke | bond | unbond: genesis vesting (chains with a vesting section)
aggregator register | unbond | withdraw — the aggregator role (aggregation chains only)
aggregate The aggregate daemon (aggregation chains only)
safety، admit او bridge-gov په v0.6.8 کې نوي دي. balance او transfer نشته: لېږد د پټ لګښت کیلي ته اړتیا لري، چې یوازې والټ یې ساتي.
یو عمومي بیرغ، --allow-test-fri-profile (یا RAND_ALLOW_TEST_FRI_PROFILE=1)، init، run او verify ته اجازه ورکوي چې هغه پیدایښت ومني چې fri_profile یې test وي. دا پروفایل شاوخوا 17 بټه سموالی لري، او هر څوک چې د پیدایښت فایل لیکي کولی شي هغه پکې وټاکي، نو له v0.6.8 راهیسې نوډ پرته له دې بیرغ څخه داسې پیدایښت ردوي. د ازموینې سویټونه یې ټاکي؛ بل هېڅ شی باید یې ونه ټاکي.
keygen، address
| کمانډ | دلیل | ډیفالټ |
|---|---|---|
keygen | --out <OUT> | node.key.json |
address | --key <KEY> | اړین |
keygen د 0600 حالت سره { "seed": <32-byte hex>, "address": <base58>, "public_key": <hex> } لیکي. دا فایل د تخم یوازینۍ کاپي ده. له v0.6.8 راهیسې keygen هغه --out ردوي چې دمخه شتون ولري (… already exists or cannot be created; refusing to overwrite a key file) او هغه بې لاسوهنې پرېږدي؛ --force نشته، نو د بدلولو لپاره زوړ فایل بل ځای ته یوسئ. v0.6.7 او تر هغې پخوانیو نسخو دا پرته له پوښتنې بیا لیکه. address، address، public_key (1,312 بایټه hex) او peer_id چاپوي.
genesis
| دلیل | ډیفالټ | مانا |
|---|---|---|
--chain-id <CHAIN_ID> | 1 | د زنځیر پېژندنه؛ لېږدونه او د خپرونې موضوعګانې ورسره تړل شوي دي |
--validator <KEY,STAKE,PAYOUT> | اړین، تکرارېدونکی | د راجستر یوه ننوتنه: د کیلي فایل لاره یا hex عامه کیلي، ونډه په RAND (لږ تر لږه 1,000)، د تادیې rand1… پته |
--epoch-blocks <N> | 1000 | په هره دوره کې بلاکونه |
--alloc <ALLOCS> | هېڅ، تکرارېدونکی | د زېرمې نوټ: rand1<address>=<amount in RAND> |
--out <OUT> | genesis.json | د وتنې لاره |
--faucet | بند | یوازې testnet: Mint فعالوي. د bridge برخې تر څنګ --testnet ته اړتیا لري |
--testnet | بند | v0.6.8: "testnet": true لیکي، هغه نښه چې فاسېټ ته اجازه ورکوي د bridge برخې تر څنګ شتون ولري. کله چې ورکړل شي، د پیدایښت د هش برخه ده |
--no-confidential | بند | Deploy او Call غیرفعالوي |
--fri-profile <production|test> | production | test ناخوندي دی او د ازموینې سویټ لپاره دی؛ init، run او verify پرته له --allow-test-fri-profile څخه داسې فایل ردوي |
--max-program-words <N> | هېڅ (4096) | تر ټولو لوی پروګرام چې یو deploy یې وړلی شي، 1..=65535. یوازې هغه وخت لیکل کېږي چې ورکړل شي؛ هر کله چې شتون ولري د پیدایښت د هش برخه ده، نو --max-program-words 4096 د هغې له پرېښودلو څخه بل زنځیر دی. په داسې فایل د init څخه مخکې هر نوډ د v0.4 باینري ته اړتیا لري |
--max-proof-bytes <N> | هېڅ (2,097,152) | تر ټولو لوی ثبوت چې یو لېږد یې وړلی شي، 1048576..=33554432. د ثبوت ټولې پولې له دې پیروي کوي |
--max-block-bytes <N> | هېڅ (4,194,304) | تر ټولو لوی بلاک، او په دې توګه تر ټولو لوی لېږد، 4194304..=67108864، او لږ تر لږه 2 × max_proof_bytes + 1 MiB، یا د --auth-guest سره 3 × max_proof_bytes + 1 MiB، چېرې چې یو کال درې ثبوتونه وړي (bundle، auth، call) |
--max-call-envelope-bytes <N> | هېڅ (18,432) | د کال د ننوتنې تر ټولو لوی لفافه، 18432..=1048576 |
--max-program-public-words <N> | هېڅ (0) | تر ټولو لوی عامه ننوتنه چې یو deploy یې ټاکلی شي، 0..=65535؛ 0 هېڅ نه مني |
--tokens <TOKENS.JSON> | هېڅ | د RPL tokens برخه، د JSON فایل په توګه {"registration_fee": …, "mint_cap_per_day": …, "tokens": [...]}. که پرېښودل شي، فایل داسې برخه نه لري او هش یې د پخوا په څېر دی. د bridge برخه داسې یوې برخې ته اړتیا لري چې mint_cap_per_day یې صفر نه وي (د هرې ملاتړې شتمنۍ لپاره، د هرې UTC ورځې لپاره، د ټوکن په اتهاعشاري واحدونو کې)؛ لېست شوی ټوکن د bridge برخې ته اړتیا لري |
--envelope-bytes <N> | هېڅ (پخوانۍ 1,348 بایټه لفافه) | د هرې نوټ لفافې دقیق اندازه: د bundle وتنه، د فاسېټ mint، withdraw، د bridge زېرمه، د پیدایښت alloc. یوازې 1860 منل کېږي، هغه اندازه چې هرې لفافې ته اجازه ورکوي کوډ شوی memo ولېږدوي. کله چې ورکړل شي، د پیدایښت د هش برخه ده، او د دې کمانډ د خپلو --alloc نوټونو له مهرولو مخکې ټاکل کېږي |
--vesting <VESTING.JSON> | هېڅ | د vesting برخه: د وختقفل شوې تخصیصونه، {"entries": [{"id", "class", "beneficiary", "amount", "start_ms", "cliff_ms", "linear_ms", "step_ms"?, …}]}. له v0.6.8 راهیسې د لغوه کېدو وړ ننوتنه revokers (له 1 تر 5 کیلي)، یو threshold او هغه treasury لېست کوي چې لغوه ورته تادیه کوي، او هغه فایل چې له دې څخه یو پرېږدي ردېږي |
--staking <STAKING.JSON> | هېڅ | v0.6.8: د staking برخه د JSON فایل په توګه (faucet_budget_per_epoch، bond_activation_epochs، max_weight_bps، max_stake_entry_per_epoch یا max_stake_entry_bps_per_epoch، registration_v2، faucet_recipients، faucet_minters، admission_by_vote، slashing)، چې د جوړښت لخوا تصدیقېږي |
--consensus-domain <0|1> | هېڅ (0) | v0.6.8: 1 هره رایه، new-view او وړاندیز له دې پیدایښت سره تړي |
--bundle-guest <v1|v2|v3> | v1 | هغه bundle guest چې د hc_bundle په توګه ټاکل کېږي: v1 (د پټې شتمنۍ guest چې زنځیرونو 14 او 15 چلاوه)، v2 (د زنځیر 16 بېڅانګې guest) یا v3 (وېشل شوې اجازه: guest د لګښت کیلي پر ځای nk او مالګه اخلي). v3 د --auth-guest ته اړتیا لري |
--auth-guest | بند | د دې جوړښت auth guest د hc_auth په توګه ټاکي: بیا هر bundle د لګښت کیلي پر سر د auth ثبوت وړي، چې له خپل لېږد سره تړل شوی دی او وتنه یې د bundle له auth_commit سره برابره ده. د --bundle-guest v3 سره اړین دی او د v1 یا v2 سره، د هر فایل له لیکلو مخکې، ردېږي. که نه وي، فایل د hc_auth ساحه نه لري |
--hardening-v6 | بند | د v0.6 قواعد د اعتبار په قواعدو بدلوي (hardening_v6): د pc کړکۍ، د نهبللو وړ deployګانې، د ثبوت معیاري بڼې او د proof-of-work کلمې، د کال تړښت او د پروګرام جدول لاندنۍ پوله. که نه وي، نوډ لا هم دا په خپل pool کې، د پالیسۍ په توګه، ردوي |
--gas-price <UNITS> | هېڅ (د gas برخه نشته) | هغه واحدونه (10⁻⁹ RAND) په هر ګاز کې چې زنځیر پخپله له یوه کال څخه اخلي. همدا بیرغ د gas برخه لیکي (metering: "circuit")؛ لاندې درې بیرغونه پرته له دې ردېږي. د پیدایښت د هش برخه ده |
--byte-price <UNITS> | 800، یوازې د --gas-price سره | واحدونه په هر KiB، یا د هغې برخه، د کال ثبوت او د ننوتنې لفافې لپاره، له 0 بایټ څخه |
--bundle-gas-limit <N> | 20479، یوازې د --gas-price سره | هغه دقیق GAS_LIMIT چې هر bundle ثبوت یې باید اعلان کړي؛ هغه bundle ثبوت چې بل ارزښت اعلانوي ردېږي. پیدایښت یوازې 20479 مني، gas_max(14, 0, 0) د tier-14 bundle guest لپاره |
--gas-dynamic <TARGET_BYTES,TARGET_GAS,ADJUST_BPS> | هېڅ (ثابتې بیې) | د هر بلاک د بیې کنټرولر فعالوي، چې لاندنۍ پوله یې د برخې خپل پیل gas_price او byte_price دي. د --aggregation تر څنګ ردېږي |
--max-gas-price <UNITS>، --max-byte-price <UNITS> | هېڅ (پورتنۍ پوله نشته) | v0.6.8: هغه پورتنۍ پولې چې کنټرولر هېڅکله بیه ترې نه پورته کوي، هره یوه لږ تر لږه د پیل بیې په اندازه. پرته له --gas-dynamic څخه ردېږي |
--gas-byte-load paying | هېڅ (د هر لېږد بایټونه) | v0.6.8: یوازې د کال ثبوت او د ننوتنې لفافه byte_price خوځوي، نو د لېږدونو بلاک هېڅ نه خوځوي. پرته له --gas-dynamic څخه ردېږي؛ paying یوازینی ارزښت دی |
--binding-domain <0|1> | هېڅ (ساحه نشته) | v0.6.8: 1 د پیدایښت هش د هر لېږد په تړښت او هر لاسلیک شوي عمل پیغام کې تړي (د فاسېټ mint، unbond، withdraw، د RPL ټوکن پیغامونه، د راټولوونکي عملونه، د bridge د حکومتولۍ پیغامونه)، نو د دې زنځیر لپاره ثبوت یا لاسلیک په بل هېڅ زنځیر نه تصدیقېږي. که پرېښودل شي، کمانډ خبرداری ورکوي: د v0.6.8 والټ د 14 تر 19 پرته په هر chain id کې د پیدایښتتړلې بڼه ثابتوي، نو له 20 وروسته هر زنځیر د 1 سره جوړېږي |
--proof-window-blocks <N> | هېڅ (256) | v0.6.8: یوه کړکۍ، له 256 تر 4,096 بلاکونو، چې د bundle لنګر او د هغې time څومره زاړه کېدای شي. د rand_getLimits.proof_window_blocks په توګه وړاندې کېږي |
--program-state-cell-fee <UNITS> | هېڅ (د program_state برخه نشته) | v0.6.8، RPL-2: د پروګرام حجرې، د پروګرام خزانې او د Invoke عمل فعالوي، د دې حجرې فیس سره په RAND واحدونو کې (تر ډېره 1,000 RAND) چې د invoke د فیس لاندنۍ پولې ته د هرې هغې حجرې لپاره ورزیاتېږي چې جوړوي یې. --tokens، --gas-price، --hardening-v6 او --auth-guest ته اړتیا لري، چې هر یو د هر فایل له لیکلو مخکې په نوم ردېږي |
--aggregation <BOND,MAX_COVERS,SUBSIDY,HALVING,WINDOW>، --admitted-shape <…> | هېڅ | د aggregation برخه؛ د v0.6.8 جوړښت په هغه پیدایښت له پیل کولو انکار کوي چې دا برخه ولري |
د هر --alloc لپاره یوه alloc کرښه چاپوي، بیا د پیدایښت هش، د تصدیقوونکو او نوټونو شمېر، د دورې اوږدوالی، پنځه پولې، hc_bundle او hc_auth (پرته له --auth-guest څخه none)، بیا د ګاز کرښه: gas: price P/gas, B/KiB, bundle limit N, dynamic: target … B / … gas, adjust … bps, floor …/…, ceiling …/…, byte load all|paying، یا پرته له --gas-price څخه gas: none، او د --program-state-cell-fee سره یوه program_state: cell fee N RAND کرښه. init همدا د ګاز کرښه چاپوي. د پولو پنځه بیرغونه یو ډول چلند کوي: که پرېښودل شي، فایل داسې ساحه نه لري او زنځیر ډیفالټ چلوي؛ که ورکړل شي، ساحه د پیدایښت د هش برخه ده حتی په ډیفالټ ارزښت کې هم. زنځیر 20 د دې بیرغونو سره جوړ شو (deploy/cut-chain20-genesis.sh):
--max-program-words 65535 --max-proof-bytes 4194304 --max-block-bytes 20971520 \
--max-call-envelope-bytes 65536 --max-program-public-words 32768 \
--tokens tokens.json \
--bundle-guest v3 --auth-guest --hardening-v6 \
--gas-price 100 --byte-price 800 --bundle-gas-limit 20479 --gas-dynamic 10485760,262144,1250 \
--max-gas-price 10000 --max-byte-price 80000 --gas-byte-load paying \
--envelope-bytes 1860 \
--testnet --binding-domain 1 --proof-window-blocks 1024 --program-state-cell-fee 10000000 \
--epoch-blocks 1000 --faucet --fri-profile production
زنځیرونه 18 او 19 تر --envelope-bytes 1860 پورې په همدغو فلګونو جوړ شول، او د v0.6.8 له فلګونو څخه یې هیڅ یو نه درلود. د ثبوت سقف 4 MiB دی، چې د 13 تر 16 زنځیرونو له 8 MiB څخه راټیټ شوی: د ویشل شوې اجازې یوه معامله تر درېیو ثبوتونو پورې لېږدوي، او 3 × 4 MiB + 1 MiB په 20 MiB بلاک کې ځای نیسي. tokens.json د 1 RAND registration_fee، د 10000000000000 mint_cap_per_day، max_tokens 4096، burn_registration_fee او bound_note_value لري، او zUSD پکې د خپلو اوو ملاتړونو سره لېست شوی. د --bridge هیڅ فلګ نشته، او د جوړولو سکرېپټ لا هم وروسته د bridge، staking او consensus_domain برخې په فایل کې ورګډوي (په 20 زنځیر کې: پل د ساتونکو په 1 ټولګه کې د اتو PQ ساتونکو کیلیو سره، د درولو کیلي، rules_v2، rotation او fees؛ د staking برخه د فاسېټ د اجازې لېست، admission_by_vote او د 2,500 bps د ننوتلو بودیجې سره؛ consensus_domain: 1؛ او د zUSD د جنیسس نوټونه، چې د alloc-note --asset 1 --envelope-bytes 1860 په واسطه جوړ شوي). هغه جنیسس هش چې اعتبار لري هغه دی چې init یې په بشپړ شوي فایل چاپوي.
هر --alloc د تعهد له تازه تصادفیت سره د زېرمې یو نوټ جوړوي، نو دوه ځله جوړول دوه بېل هشونه ورکوي. کمانډ تل د نوټ پرانیستنه د cm او amount تر څنګ لیکي، چې هغه زنځیر ورته اړتیا لري چې tokens برخه ولري:
"alloc": [
{ "cm": "<64 hex>",
"envelope": { "kem_ct": "<hex>", "to_receiver": "<hex>", "to_sender": "<hex>", "body": "<hex>" },
"amount": 1000000000000,
"opening": { "pk": "<64 hex>", "time": 0, "r": "<64 hex>" } }
]
له همدې امله، کله چې فایل خپور شي، د جنیسس نوټ مالک او مقدار په قصدي ډول عامه دي؛ یوازې دا چې وروسته کله او په څه کې لګول کېږي پټ پاتې کېږي. جنیسس یو ځل جوړ کړئ او فایل وساتئ.
alloc-note
--to <rand1…> (اړین)، --amount <N> (اړین)، --asset <INDEX> (ډیفالټ 0)، --envelope-bytes <N> (ډیفالټ: زوړ بڼه). د تخصیص یو نوټ د JSON په بڼه چاپوي، چې --to ته مهر شوی وي، لکه څنګه چې genesis --alloc یو نوټ مهر کوي. هغه جنیسس چې envelope_bytes ټاکي، هغه نوټ ردوي چې د اړوند --envelope-bytes پرته مهر شوی وي. --amount د شتمنۍ په بشپړو واحدونو دی: د RAND لپاره نهه اعشاریې، د پل شوي ټوکن لپاره اته (10 په 1 شتمنۍ کې 10 zUSD دی). د لېست شوي ټوکن نوټ اړتیا لري چې د هغه ټوکن ملاتړونه داسې locked مقدارونه ولري چې مجموعه یې دقیقاً د هغه له نوټونو سره برابره وي.
init
| آرګومنټ | مانا |
|---|---|
--datadir <DATADIR> | د ډېټا ډایرکټري چې جوړېږي |
--genesis <GENESIS> | د جنیسس فایل؛ <datadir>/genesis.json ته کاپي کېږي |
د جنیسس هش او هماغه gas: کرښه چاپوي چې genesis یې چاپوي.
run
| آرګومنټ | ډیفالټ | مانا |
|---|---|---|
--datadir <DATADIR> | اړین | پیل شوې ډېټا ډایرکټري |
--key <KEY> | اړین | د کیلي فایل: د تاییدوونکي هویت، د p2p هویت، د فیس ترلاسه کوونکی |
--listen <LISTEN> | /ip4/0.0.0.0/tcp/30303 | د libp2p د اورېدو multiaddr، تکرارېدونکی |
--bootstrap <BOOTSTRAP> | هیڅ، تکرارېدونکی | /ip4/<ip>/tcp/<port>/p2p/<peer-id>، په پیل کې او تر هغه چې اړیکه پرې وي هر 30 s ډایل کېږي. له v0.6.8 راهیسې د هغه د همتا id ځانګړی شوی دی |
--reserved-peer <PEER_ID> | هیڅ، تکرارېدونکی | v0.6.8: هغه همتا چې د راتلونکو اړیکو له سقف هاخوا منل کېږي او د همغږۍ له بودیجې د تاییدوونکو له برخې خدمت ترلاسه کوي. بوټسټرېپونه او هر هغه تاییدوونکی چې د هغه لاسلیک شوې همتا تړنه دې نوډ لیدلې وي، پرته له دې فلګ ځانګړي کېږي؛ په نوي جوړ شوي زنځیر کې، چې زېرمتون یې لا هیڅ تړنه نه لري، د ډلې تاییدوونکي دلته لېست کړئ |
--strict-gossip | بند | v0.6.8: د gossipsub سخته تاییدونه، چې یوازې هغه پیغامونه مني چې د لیکوال سم لاسلیک، ترتیبي شمېره او سرچینه ولري. سخت او نرم نوډونه یو له بل سره کار کوي، نو نوډ په نوډ پلي کېږي |
--rpc <RPC> | 127.0.0.1:8545 | د چلوونکي JSON-RPC اورېدونکی: ټول میتودونه، او په لوپبیک باور کوي. په لوپبیک یې وساتئ او هېڅکله یو عامه پایټکی ورته مه لېږدوئ |
--public-rpc <ADDR> | بند | v0.6.8: دویم، عامه اورېدونکی د میتودونو له ټاکلې ټولګې سره (د کتلو د کیلي میتودونه، rand_mint یا rand_getPeers نه لري)، بې له ډلهییزو غوښتنو، بې له WebSocket او د ټولو غوښتونکو لپاره یو میټر؛ هغه څه چې معکوس پراکسي یا د SSH لېږد باید ورته اشاره وکړي (JSON-RPC) |
--rpc-viewing-token-file <PATH> | بند | v0.6.8: د --rpc د کتلو د کیلي په میتودونو Authorization: Bearer <first line of the file> (32 یا ډېر توري) غواړي |
--validator | بند | په دې کیلي په اجماع کې برخه اخلي |
--no-mdns | بند | د LAN کشف غیرفعالوي |
--block-interval-ms <MS> | 1000 | د وړاندیزونو ترمنځ لږ تر لږه واټن |
--view-timeout-ms <MS> | 3000 | د view اساسي وختختمېدل؛ د هر پرلهپسې وختختمېدو سره تر 8× پورې دوه چنده کېږي |
--verify-chain <MODE> | quick | off، quick، full |
--keep-raw-proofs | بند | د راټولونې په زنځیر کې د آرشیف حالت |
--prune-history <WINDOW> | هیڅ (هر څه ساتل کېږي) | یوازې دومره د بلاک تاریخ ساتي، <n>m، <n>h یا <n>d، لږ تر لږه 1h: زاړه بلاکونه خپل بلاک، QC، معاملې او رسیدونه له لاسه ورکوي؛ لیجر پاتې کېږي. په 20 زنځیر کې، له 26 تاییدوونکو څخه 24 یې 24h چلوي او دوه نوډونه آرشیف دي؛ آرشیف نوډ او د mainnet نوډ یې هېڅکله نه ټاکي. له دې حد ښکته د لوړوالي پوښتنې -32010 ځواب ورکوي (JSON-RPC) |
--min-free-disk-mb <MB> | 1024 | که د ډېټا ډایرکټرۍ په فایل سیسټم کې له دې لږ ځای خالي وي، له پیل څخه انکار کوي؛ rand_getHealth تر دې څلور چنده لاندې disk_low وايي. 0 دا ساتنه غیرفعالوي |
--rpc-viewing-open | بند | غیر لوپبیک غوښتونکو ته اجازه ورکوي چې د کتلو د کیلي میتودونه وکاروي؛ یوازې د داسې شي تر شا چې هویت تاییدوي |
--gas-price <UNITS> | 100 | واحدونه (10⁻⁹ RAND) په هر ګاز، چې د دې نوډ حوض یې له یوې غوښتنې غواړي، د هغې د ثبوت د سرلیک د gas_max پر بنسټ. د منلو پالیسي ده، نه د زنځیر قاعده: هغه بلاک چې ارزانه غوښتنه لري لا هم سم دی. 0 له --byte-price 0 سره هیڅ پالیسي نه چلوي. په هغه زنځیر کې چې جنیسس یې gas برخه لري، لکه د 20 زنځیر، د زنځیر خپلې بیې د اعتبار قاعده ده |
--byte-price <UNITS> | 800 | واحدونه په هر KiB، یا د هغه په هره برخه، د غوښتنې د ثبوت او د ننوتې د پاکټ لپاره، له 0 بایټ څخه، د همدې پالیسۍ لاندې |
--prover <ADDR> | بند | ګمارل شوی ثابتوونکی (د prover_* JSON-RPC) په دې پته کوربه کوي: خپل جلا اورېدونکی، چې باید له --rpc سره توپیر ولري. نوډ د <prover-home>/prover.key.json پرته له پیل څخه انکار کوي، چې د rand-prover keygen په واسطه جوړېږي |
--prover-home <DIR> | <datadir>/prover | د ثابتوونکي prover.key.json او pairings.json |
--prover-accept-spend-key | لرې شوی | له v0.6.8 راهیسې په پیل کې ردېږي: که run ته دا فلګ ورکړل شي، د نوډ د کیلي له لوستلو مخکې د فلګ په نومولو سره وځي. نور هیڅ ثابتوونکی د لګښت د کیلي شاهد نه مني؛ دا د unit له فایل څخه لرې کړئ. په v0.6.7 کې یې د bundle guest v1 یا v2 زنځیرونو لپاره د لګښت د کیلي شاهدان منل |
--prover-max-parallel <N> | 1 | هغه ثبوتونه چې کوربه شوی ثابتوونکی یې په یو وخت چلوي؛ پیل ردېږي مګر دا چې 5.74 GB × N + 1 GiB حافظه شتون ولري |
--prover-max-queue <N> | 8 | له روانو دندو هاخوا په کتار کې دندې |
--prover-cuda | بند | د CUDA په شاتني سیسټم ثبوت جوړوي (د --features cuda سره جوړونه)؛ د CPU بدیل نشته |
--prover-skip-memory-check | بند | د خالي حافظې ازموینه پرېږدي |
--prover-fee <RAND>, --prover-fee-address <rand1…> | هیڅ | هغه فیس چې کوربه شوي ثابتوونکي ته لېږل شوې هره دنده یې باید ورکړي، په RAND تر نهو اعشاریو پورې: پتې ته د RAND یو محصول، د ثابت شوي بنډل دننه. هر فلګ بل ته اړتیا لري |
--prover-allow-origin <ORIGIN> | د براوزر توسعې او لوپبیک پاڼې | د براوزر یوه سرچینه چې پاڼې یې کولی شي د ثابتوونکي ځوابونه ولولي، تکرارېدونکی؛ که یو یا څو ځله ورکړل شي، همدا ارزښتونه بشپړ لېست دی. * هرې وېبپاڼې ته اجازه ورکوي او یو خبرداری چاپوي |
چاپېریال: RUST_LOG (ډیفالټ info,libp2p=warn,libp2p_mdns=off). Ctrl-C یا SIGTERM نوډ په سمه توګه بندوي.
عامه پایټکی https://rpc.randprotocol.org د یوه آرشیف نوډ مخې ته د اجازې لېست لرونکې پراکسي ده؛ له 2026-10-01 راهیسې یې د اجازې لېست د عامه اورېدونکي د میتودونو ټولګه ده.
safety
د یوه درول شوي تاییدوونکي د اجماع د خوندیتوب حالت (v0.6.8). هر کمانډ پخپله ډېټا ډایرکټري پرانیزي، نو هیڅ یو یې د ژوندي نوډ تر څنګ نه چلېږي.
rand-node safety status --datadir <dir>
rand-node safety clear-halt --datadir <dir> --i-have-compared-this-node-with-the-fleet
rand-node safety release-lock --datadir <dir> --i-give-up-this-validators-lock
status ژمن شوی سر، view او وروستی رایه ورکړل شوی view، لوړ QC، دا چې آیا تاییدوونکی له خپل سر څخه پورته قفل دی، او هر ثبت شوی د خوندیتوب درېدل چاپوي. هغه نوډ چې وویني یو تصدیق شوی درېګونی زنځیر هڅه کوي داسې بلاک ژمن کړي چې د هغه له خپل ژمن شوي سر څخه نه وي راوتلی، درېږي او دا ثبتوي (audit v6, CON-5)؛ بیا run له دې ثبت سره وځي تر هغه چې clear-halt وچلول شي. د پاکولو مخکې د دې نوډ سر د دوو نورو تاییدوونکو له سر سره پرتله کړئ، او که توپیر یې درلود له یوه آرشیف څخه بیا همغږي کړئ. له v0.6.8 راهیسې (CON-4) د “نه ساتل کېږي” ځوابونو هیڅ کوروم نور قفل نه خلاصوي: هغه تاییدوونکی چې په داسې بلاک قفل وي چې ترلاسه یې نشي کولی، تر هغه چوپ پاتې کېږي چې یو وړاندیز راشي چې justify یې له قفل څخه لوړ وي، یا بلاک راوړل شي. release-lock خوندي شوی قفل د ژمن شوي سر تر تصدیقلیک پورې ښکته کوي؛ په یو وخت کې یې یوازې په یوه تاییدوونکي وکاروئ، او یوازې هغه وخت چې بلاک د تل لپاره ورک شوی وي. د خپل تایید فلګ پرته هر لیکونکی کمانډ چاپوي چې څه به وکړي او هیڅ شی نه بدلوي.
verify
| آرګومنټ | ډیفالټ | مانا |
|---|---|---|
--datadir <DATADIR> | اړین | نوډ باید روان نه وي |
--mode <MODE> | full | quick یا full |
--repair | بند | زیانمن شوی پای پرې کوي؛ د خوندیتوب حالت ساتل کېږي |
د وتلو کوډ 0 که همغږی وي، 2 که د --repair پرته کومه ستونزه وموندل شوه.
db
db drop-receipts-index --datadir <DATADIR>، په داسې حال کې چې نوډ درول شوی وي: د receipts_by_program شاخص له v0.3 څخه مخکې جوړونې ته د بېرته ستنېدو دمخه لرې کوي، ځکه هغه جوړونه داسې ډېټابېس نشي پرانیستلی چې دا شاخص ولري. وروسته پیل دا شاخص له رسیدونو څخه بیا جوړوي.
status
--rpc <URL> (ډیفالټ http://127.0.0.1:8545). rand_status هماغسې چاپوي.
register, unbond, withdraw
| فرمان | دلیلونه | مانا |
|---|---|---|
register | --key، --payout <rand1…>، --rpc، --v2 | یو hex Registration چاپوي چې د دې نوډ په کیلي لاسلیک شوی وي؛ له RPC څخه د زنځیر id لوستل کېږي، او د --v2 سره د پیدایښت هش هم. --v2 په هغه زنځیر کې اړین دی چې پیدایښت یې staking.registration_v2 ټاکي، لکه د 20 زنځیر؛ هلته v1 ثبت ردېږي، او په نورو ټولو زنځیرونو کې v2 ثبت ردېږي |
unbond <amount RAND> | --key، --rpc، --no-wait | ونډه د ګرو خلاصولو حالت ته وړي؛ وړیا ده؛ دوه دورې وروسته د ایستلو وړ کېږي |
withdraw <amount RAND> | --key، --rpc، --no-wait | آزاده شوې ونډه او انعامونه د تادیې پته کې یوه نوټ ته ورکوي، د 0.001 RAND بنسټیز فیس له کمولو وروسته |
admit sign|submit
په رایې منل (v0.6.8). په هغه زنځیر کې چې پیدایښت یې staking.admission_by_vote ټاکي، لکه د 20 زنځیر، د تاییدوونکي نوې کیلي یوازې هغه وخت ثبتېږي چې هغو تاییدوونکو یې د منلو لاسلیک کړی وي چې په ټولیز ډول د رایې له وزن څخه له دوو پر دریو څخه زیات ولري.
| فرمان | دلیلونه | مانا |
|---|---|---|
admit sign | --candidate <key hex, registration hex, or a file holding either>، --key <validator key>، --genesis-hash <hex> | د دې تاییدوونکي رایه په یوه کرښه کې چاپوي، <voter key hex>:<signature hex>، چې د پیدایښت پر هش او د نوماند پر پته لاسلیک کېږي، نو یوازې په یوه زنځیر کې اعتبار لري. آفلاین: له هېڅ نوډ څخه څه نه لولي |
admit submit | --candidate …، --signature <line> (تکرارېدونکی)، --rpc، --no-wait | هره رایه د نوډ د پیدایښت له هش سره پرتله کوي (د بل پیدایښت یا بل نوماند لپاره رایه، یا د یوه رایه ورکوونکي دوه ځلې رایه، په نوم ښودل کېږي)، رایې ترتیبوي او بېفیسه AdmitValidator سپاري |
نوماند هغه کیلي ده چې ثبت به یې له ځانه سره لري؛ rand-node address --key یې چاپوي، او هغه hex چې register چاپ کړی هم دا کیلي لري. کله چې منل ثبت شي، ګرو لکه د پخوا په شان کېږي (rand bond … --registration) او منل لګوي. rand_getAdmitted هغه کیلي لیست کوي چې منل شوې دي او په تمه دي.
bridge-gov
د پُل د کوانټمضد کیلیو بدلونونه (v0.6.8)، د ساتونکو او د درولو د کیلي د لرونکي لپاره. هر ګام د زنځیر id، د هغه د تړلو ډومېن او rand_getBridgeState.rotation_nonce له --rpc څخه لولي (اصلي ارزښت http://127.0.0.1:8545).
| فرمان | کار |
|---|---|
rotate-pq message --new-key K… | د اوسني nonce لپاره د بدلون hex پیغام چاپوي، څو په هر لاسلیکوونکي کې پرتله شي |
rotate-pq sign --new-key K… --key F --index I [--possession] | I:signature چاپوي: د اوسني PQ ساتونکي د نصاب کرښه (I په اوسنۍ ډله کې د هغه شمېره) یا، د --possession سره، د نوې کیلي د لرونکي کرښه (I په نوې ډله کې د هغه شمېره)؛ هغه کیلي فایل ردوي چې د I کیلي نه وي |
rotate-pq submit --new-key K… --quorum @F [--possession @F] [--no-wait] | RotatePqGuardians جوړوي، یا د ملکیت له کرښو سره V2 کړنه، او لېږي یې؛ په هغه زنځیر کې د ملکیت کرښې ردوي چې یې نه مني، او په هغه زنځیر کې یې نشتوالی ردوي چې اړین یې بولي، لکه د 20 زنځیر |
rotate-pause message|sign|submit --new-key K | همدا کار د درولو د کیلي لپاره (د ملکیت شمېره 0) |
cancel-rotation sign --kind pq|pause --key PAUSE_KEY | د لغوې پر پیغام 0:signature چاپوي، چې د زنځیر د درولو له اوسنۍ کیلي سره پرتله کېږي |
cancel-rotation submit --kind pq|pause --signature @F | CancelRotation لېږي، او پاتې بدلون د ځنډ له پای ته رسېدو مخکې لرې کوي |
--new-key د Dilithium2 یوه hex عامه کیلي ده، @file چې یوه داسې کیلي لري، یا @key-file (د هغه عامه کیلي). د لاسلیک کرښې index:hex دي، په تش ځای یا نوې کرښې سره جلا کېږي، او # تبصرې پکې روا دي.
vesting status|claim|revoke|bond|unbond
د پیدایښت د وختتړلې ونډې د لرونکي او لغووونکي اړخ، په هغه زنځیر کې چې پیدایښت یې vesting برخه لري. د 20 زنځیر داسې برخه نه لري. کیلي د rand-node keygen فایل دی.
| فرمان | دلیلونه | مانا |
|---|---|---|
vesting status <ENTRY> | --rpc | ثبت هماغسې چې rand_getVesting یې وړاندې کوي: شرطونه یې، څومره آزاد شوي، او اوس څومره د ادعا وړ دي |
vesting claim | --entry <id>، --to <rand1…>، --amount <RAND> یا --all، --key، --rpc، --no-wait | هغه څه چې آزاد شوي په --to کې یوې نوټ ته ورکوي، د 0.001 RAND بنسټیز فیس له کمولو وروسته؛ د ګټه اخیستونکي په کیلي لاسلیک کېږي |
vesting revoke prepare | --entry، --margin-secs (اصلي ارزښت 600)، --out (اصلي ارزښت revoke.json)، --rpc | v0.6.8، بې کیلي: هغه لغوه لیکي چې هر لغووونکی یې لاسلیکوي، یوه نوټ د هغې برخې چې د سر څخه --margin-secs وروسته لا نه وي آزاده شوې، د ثبت د پیدایښت treasury ته ورکول کېږي (--to نشته) |
vesting revoke sign | --proposal <file>، --key، --index؟ | د یوه لغووونکي کیلي، آفلاین: <index>:<signature hex> چاپوي |
vesting revoke submit | --proposal <file>، --signature <index:hex> (تکرارېدونکی)، --rpc، --no-wait | لغوه لږ تر لږه د ثبت د threshold په اندازه لاسلیکونو سره لېږي، د prepare څخه په 256 بلاکونو کې دننه. د v0.6.7 یوهکیليیي vesting revoke --to لرې شوی |
vesting bond <amount RAND> | --entry، --validator <address>، --registration <hex>، --key، --rpc، --no-wait | نه لغوه کېدونکي ثبتونه: تړلی RAND د هغه تاییدوونکي د ونډې په توګه ګرو کوي؛ هغه تاییدوونکی چې لا په راجستر کې نه وي هغه څه ته اړتیا لري چې register چاپ کړي |
vesting unbond <amount RAND> | --entry، --key، --rpc، --no-wait | ګرو شوی RAND بېرته قفل ته راګرځوي؛ د ګرو خلاصولو له دورو وروسته بیا د ادعا وړ کېږي |
aggregator register|unbond|withdraw، aggregate
د راټولوونکي د رول فرمانونه، د هغه زنځیر لپاره چې aggregation برخه لري: aggregator register --key --bond <RAND> --payout <rand1…> --rpc یو لاسلیک شوی AggregatorRegistration چاپوي؛ aggregator unbond او aggregator withdraw د تاییدوونکي د ورته جوړې په څېر دي. aggregate --key <KEY> [--rpc <URL>] [--watch] [--interval-secs 15] [--no-wait] هغه شالیدي پروګرام دی چې rand_getUnsealed پوښتي، یو راټول ثبوت جوړوي او سپاري یې. د 20 په زنځیر کې غیر فعال دی، ځکه پیدایښت یې aggregation برخه نه لري.
rand (والټ)
عمومي اختیارونه، د فرعي فرمان مخکې یا وروسته:
| اختیار | env | اصلي ارزښت |
|---|---|---|
--rpc <RPC> | RAND_RPC | http://127.0.0.1:8545؛ http یا https (عامه پای ټکی https://rpc.randprotocol.org دی). له 64 MiB څخه لوی ځواب ردېږي |
--key <KEY> | RAND_KEY | wallet.key.json؛ د نوټونو زېرمه یې څنګ ته په <key>.notes.json کې ده. زېرمه هغه زنځیر پورې تړلې ده چې ورسره سکن شوې (د نوډ rand_getGenesisHash): که بل زنځیر ته وګرځول شي، لکه هغه والټ چې د 19 له زنځیر څخه 20 ته د بدلون پر مهال ساتل شوی، تشېږي او د خبرتیا سره له 0 پاڼې څخه بیا سکن کېږي. له v0.6.8 راهیسې هر فرمان هغه کیلي فایل ردوي چې ډله یا نور یې لوستلای شي، او د سمون لار په نوم ښيي (chmod 600 <key>) |
--prover | بند. بنډل په هغه ثابتوونکي ثابتوي چې له دې والټ سره جوړه شوی (rand prover pair)، نه پر دې ماشین؛ ثبوت مخکې له دې چې معاملې ته ننوځي دلته کتل کېږي (د هغه ډایجسټ، اندازه او محلي تصدیق). په هر هغه فرمان پلي کېږي چې بنډل ثابتوي؛ د call او program invoke لپاره، یوازې د تادیې بنډل ثابتوونکي ته ځي او د غوښتنې ثبوت محلي پاتې کېږي. له جوړې پرته ردېږي، او د --cuda سره یوځای هم، پرته له call. د 20 زنځیر په څېر په جلاواکمنۍ زنځیر کې ثابتوونکي ته د لیدو کیلي nk او یو مالګه لېږل کېږي، هېڅکله د لګښت کیلي نه: هغه د دې والټ ټول تاریخ لوستلای شي خو لګښت نشي کولای. د واک ثبوت تل پر دې ماشین جوړېږي. په هغه زنځیر کې چې د بنډل guest یې v1 یا v2 وي، v0.6.8 مخکې له دې چې له ثابتوونکي څخه څه وپوښتل شي --prover ردوي | |
--max-prover-fee <RAND> | 1. تر ټولو زیات فیس چې جوړه شوی ثابتوونکی یې د هر بنډل لپاره اخیستلای شي. له دې څخه لوړه بیه مخکې له دې چې کوم بنډل جوړ شي ردېږي؛ 0 هر فیس ردوي. فیس په همدې بنډل کې یو بل RAND محصول دی چې د prover fee: <amount> RAND to <fingerprint> په توګه ښودل کېږي |
مقدارونه لسیز RAND دي چې تر نهو لسیزو ځایونو پورې لري (1، 1.5، .25، 0.000000001). د نښې مقدار په send، token mint او token burn کې، او په randpay: لینک کې، د نښې د ښودلو په واحدونو دی، د هغې د راجستر د قطار د خپل decimals سره سم (10 د zUSD یعنې 10 zUSD). bridge-burn، token create --fixed-supply او --initial د نښې په تر ټولو کوچني واحد کې ساده بشپړ عددونه اخلي، او asset-balance یې چاپوي. هر چېرې چې یو فرمان نښه اخلي، د راجستر شمېره، د rpl1… id یا 64-hex id مني؛ id د نوډ له ټول راجستر لیست څخه (rand_getTokens، هره پاڼه) خپلې شمېرې ته اړول کېږي، هېڅکله د یوې نښې په جلا پلټنه نه، ځکه هغه به نوډ ته وښيي چې کومه نښه د حرکت په حال کې ده. عددي شمېره هېڅکله نوډ ته نه رسېږي.
| کمانډ | دلیلونه | چلند |
|---|---|---|
keygen | د لګښت کیلي یو نوی فایل په --key کې لیکي، د 0600 اجازو سره؛ پر شته فایل د بیا لیکلو څخه انکار کوي | |
address | --uri [--amount A] [--asset X] [--memo M]، --qr، --qr-png <FILE> | د دې بټوې rand1… پته په stdout چاپوي، دقیقاً پته او یوه نوې کرښه، نو $(rand address) په سکرېپټ کې کار کوي، او د هغې fingerprint XXXX-XXXX-XXXX-XXXX په stderr چاپوي: 16 Crockford base32 توري، د پتې یوه انساني ازمېښت چې هېڅکله پر شبکه نه لېږل کېږي. --uri یو randpay: لینک هم چاپوي (پته، او اختیاري مقدار، شتمني او یادونه). --qr دا لینک په ټرمینل کې د QR کوډ په بڼه ښیي؛ --qr-png یې د PNG په توګه لیکي |
contacts add <NAME> <TO> / list / show <NAME> [--qr] / remove <NAME> | --yes (add) | نومول شوې پتې چې دا بټوه کولای شي د نوم له لارې ورته ولېږي. TO یوه rand1… پته یا یو randpay: لینک دی، چې یوازې پته یې ساتل کېږي. add ګوتنښه چاپوي او add? [y/N] پوښتي، مګر دا چې --yes ورکړل شوی وي؛ هغه stdin چې ټرمینل نه وي، له دې پرته ردېږي. په <key>.contacts.json کې ساتل کېږي، د 0600 اجازو سره. نوم له 1 تر 64 تورو پورې دی، هېڅکله په rand1 یا randpay: نه پیلېږي، او یوازینی دی |
prover pair <LINK> / prover pair --trusted / show / forget | --name <NAME>، --yes (pair) | دا بټوه له یوه ګمارل شوي ثبوت جوړوونکي سره جوړه کوي. pair هغه randprover: لینک اخلي چې rand-prover pair چاپ کړی، هغه URL ردوي چې https:// نه وي (ساده http:// یوازې localhost، 127.0.0.1 یا [::1] ته)، بیا وايي چې ثبوت جوړوونکی به څه ترلاسه کړي (this prover will receive this wallet's viewing key: it can read the wallet's whole history; it cannot spend) او pair? [y/N] پوښتي؛ --yes پوښتنه پرېږدي، او هغه stdin چې ټرمینل نه وي، له دې پرته ردېږي. بیا د ثبوت جوړوونکي prover_info غواړي، ردوي یې مګر دا چې د کیلي ګوتنښه یې هماغه وي چې لینک یې نوموي، او <key>.prover.json د 0600 اجازو سره لیکي، او هره پخوانۍ جوړه ځای په ځای کوي. --trusted (v0.6.8) هېڅ لینک نه اخلي: د اعتبار ورکوونکو د ثبوت جوړوونکو له حوض، https://prover.randprotocol.org، سره د هغه لینک له مخې جوړه کوي چې جوړښت یې له ځان سره لري؛ د هغه چلوونکي کولای شي د دې بټوې تاریخ ولولي او لګښت نه شي کولای. show نوم، URL، ګوتنښه، own او د ثبوت جوړوونکي کیلي چاپوي، هېڅکله ټوکن نه؛ forget فایل ړنګوي. v0.6.7 له جوړه کولو مخکې پوښتنه نه کوله |
viewing-key | د دې بټوې د کتنې کیلي nk چاپوي، 64 hex: هغه پارامېټر چې rand_importViewingKey یې اخلي. هر هغه یادښت لولي چې بټوې لېږلی یا ترلاسه کړی، او هېڅ یو نه لګوي | |
balance | ونه سکن کوي، زېرمه خوندي کوي، د لګښت وړ ارزښت او د نه لګېدلو یادښتونو شمېر چاپوي | |
sync | --rescan | له بیلانس چاپولو پرته سکن کوي. لومړی همغږي له پاڼو مخکې د هر بلاک سرلیک لولي (په هر غوښتنه کې 1,024). --rescan هر یادښت، د لګېدو هره نښه او کرسر هېروي (له زنځیر سره تړاو ساتي) او له 0 پاڼې څخه بیا سکن کوي: د بېرته راتګ لاره کله چې یوه نوډ د دې بټوې یادښتونه په غلطه توګه لګېدلي ښودلي وي. غوره دا ده چې د داسې نوډ پر وړاندې وچلول شي چې باور پرې لرئ |
notes | --memo | هر هغه یادښت چې دې بټوې پرانیستی: شاخص، شتمني، مقدار، لوړوالی، spent، pending، او یادونه چې په 24 تورو لنډه شوې، یا له --memo سره بشپړه |
asset-balance [INDEX] | سکن کوي، بیا چاپوي چې دا بټوه په یوه شتمنۍ کې څه لري، یا د هرې ساتل شوې شتمنۍ لپاره یوه کرښه؛ مقدارونه د شتمنۍ په خپل تر ټولو کوچني واحد کې | |
history | --memo | هر هغه یادښت چې دې بټوې د بل چا لپاره جوړ کړی، د یادونې له هماغه ستون سره لکه notes |
send <TO> [AMOUNT] | --asset <INDEX|rand|rpl1…|hex> (ډیفالټ 0، RAND)، --memo <M>، --fee <RAND> (ډیفالټ 0.001)، --no-wait، --yes، --cuda | TO یوه rand1… پته، یو randpay: لینک یا د یوې خوندي شوې اړیکې نوم دی، په همدې ترتیب ازمویل کېږي. د لینک خپل مقدار، شتمني او یادونه هغه څه ډکوي چې د کمانډ کرښه یې پرېږدي؛ AMOUNT یوازې هغه وخت اختیاري دی چې لینک یې ولري، او هغه ارزښت چې په دواړو لارو ورکړل شي او سره توپیر ولري، ردېږي. کمانډ تایید چاپوي، to <contact, if any> · fingerprint XXXX-XXXX-XXXX-XXXX · <amount> <asset>، او کله چې یادونه وي، د memo: "<text>" یوه جلا کرښه، بیا له ثبوت جوړولو مخکې پوښتنه کوي مګر دا چې --yes وي. سکرېپټ باید --yes ورکړي: هغه stdin چې ټرمینل نه وي له stdin is not a terminal: pass --yes to send without confirmation سره ردېږي. بیا د شتمنۍ تر ټولو ډېر دوه یادښتونه او د فیس لپاره تر ټولو ډېر دوه RAND یادښتونه ټاکي، یادونه یوازې د تادیې په وتنه کې مهر کوي، د څلورو سلاټونو د پټې شتمنۍ یو بنډل ثابتوي او، د وېشل شوې اجازې پر زنځیر، د لګښت اجازه هم په محلي توګه ثابتوي، سپاري یې او د ژمنې انتظار باسي. نا تشه یادونه له ثبوت جوړولو مخکې پر هغه زنځیر ردېږي چې پیدایښت یې envelope_bytes نه لري. AMOUNT د شتمنۍ د ښودنې په واحدونو کې دی: د RAND لپاره لسیز RAND، او ټوکن د خپلې ثبت لیست کرښې په خپل decimals کې؛ یوازې 0 یا rand د RAND په توګه لوستل کېږي، که نوډ هر شاخص ځواب کړی وي. د ټوکن id له دې مخکې چې له نوډ وپوښتل شي ډیکوډ کېږي، او هغه لیست کرښه چې ورته د 0 شاخص یا د سره مخالفو id ساحو ځواب ورکړي، ردېږي. تایید د ټوکن مقدار د ښودنې په واحدونو او په بنسټیزو واحدونو کې ښیي، 10.00000000 zUSD (1000000000 units)، نو هغه نوډ چې د ټوکن د decimals په اړه دروغ وايي، له دې مخکې چې څه ولېږل شي، ښکاره کېږي. د شتمنۍ شاخص او فیس له ثبوت جوړولو مخکې چاپېږي. پر زنځیر د ټوکن لېږد یو ساده بنډل دی، د RAND له تادیې نه بېلېدونکی؛ فیس یې RAND دی، او هغه بټوه چې د لګښت وړ RAND نه لري، له ثبوت جوړولو مخکې ردېږي |
bond <VALIDATOR> <AMOUNT> | --registration <hex>، --fee، --no-wait، --cuda | پر یوه اعتبار ورکوونکي سټیک کول: بنډل مقدار سوځوي |
faucet [ADDRESS] | --amount <RAND> (ډیفالټ او اعظمي 100) | یوازې testnet: له یوې اعتبار ورکوونکې نوډ څخه د جوړولو غوښتنه کوي. پر 20 زنځیر فاسېټ یوازې هغو 16 بټوو ته تادیه کوي چې د پیدایښت د اجازې په لړلیک کې دي |
program build | --guest <fib|memcpy|bubble_sort|balance_check|private_payment|public_echo|rpl2_counter>، --arg N (تکرارېدونکی)، --out <file> (ډیفالټ program.json) | یو جوړ شوی مېلمه پروګرام راټولوي؛ د پروګرام id چاپوي. rpl2_counter (v0.6.8) د RPL-2 د ښودنې پروګرام دی |
program deploy <FILE> | .json، یو خام .bin، یا هغه انځوریز کانټېنر چې rand-guest build یې لیکي؛ --public <FILE>، --input <u32> (تکرارېدونکی) یا --check-call، --cuda | د پروګرام id، hc او د کلمو شمېر چاپوي؛ هغه پروګرام چې د زنځیر له حد څخه لوی وي (د rand_estimateFee له لارې) له ثبوت جوړولو مخکې ردوي؛ د ځای پر ځای کولو لږ تر لږه فیس د یوه بنډل له لارې ورکوي، انتظار باسي. --public له پروګرام سره یو عامه ننوت ساتي (په تشو ځایونو بېل شوي u32 کلمې، یا یو ELF .so)، د زنځیر د max_program_public_words په حد کې؛ بیا د پروګرام id دا تړي. له --input یا --check-call سره بټوه لومړی په امولېټر کې پر هغو خصوصي ننوتو یوه ازمېښتي غوښتنه چلوي او ردوي یې مګر دا چې د غوښتنې د پوړ په حد (14) کې ځای شي؛ د دې ازمېښت لپاره هېڅ نه ثابتېږي |
program show <ID> | د ځای پر ځای شوي پروګرام میټاډیټا | |
program invoke <PROGRAM-ID> | --transition <FILE.json> (اړین)، --input N (تکرارېدونکی، خصوصي)، --inputs-file <FILE.json> (د u32 یو JSON ارې، ورپسې زیاتېږي)، --fee <RAND>، --gas-limit <N|max>، --tier T، --no-wait | v0.6.8، RPL-2: د پروګرام د حالت یو بدلون اعلانوي او زنځیر یې پلي کوي. له دې مخکې چې څه ثابت شي، ګوري چې زنځیر د program_state برخه لري، چې پروګرام شته، چې د بدلون شرایط د برخې له قاعدې سره سم دي، چې د reads هر ننوت له ژوندۍ حجرې سره سمون لري (rand_getProgramCell؛ بېسمونه زړه حجره نوموي او له 3 سره وځي)، چې خزانه کولای شي د pays هر ننوت او هغه څه ورکړي چې دا بدلون یې زېرمه کوي، او چې دا بټوه هغه ټوکن او RAND لري چې زېرمه او فیس ورته اړتیا لري. هغه حجرې شمېري چې لیکنې یې جوړوي، پروګرام د شرایطو پر رښتینو کلمو په ازمېښتي ډول چلوي، هغه غوښتنه ثابتوي چې له راکړې ورکړې سره تړل شوې، بیا بنډل (فیس، او deposit.rand چې د burn_r له لارې سوځول کېږي او د deposit.asset څخه deposit.amount د burn_a له لارې) او د اجازې ثبوت. ډیفالټ فیس د اعلان شوي ګاز لپاره د غوښتنې لږ تر لږه فیس او د هرې جوړې شوې حجرې لپاره د حجرې فیس دی، د بیې د دوو ګامونو له هماغه اضافي ځای سره لکه call. هره تادیه چاپوي او، مګر دا چې --no-wait وي، د رسید اته outputs. په شاملولو کې زړه لوستنه هم له 3 سره وځي، نو غوښتونکې وسیله بیا لولي او بیا هڅه کوي. د ننوت هېڅ ثبت نه خپروي. د بدلون فایل، چې هره ساحه یې اختیاري ده: {"reads": [{"key", "value"}], "writes": [...], "deposit": {"rand": "<units>", "asset": N, "amount": "<units>", "kind": "none"|"deposit"|"burn"}, "pays": [{"asset": N, "amount": "<units>", "to": "rand1…"}], "mints": [...]}؛ کیلي او ارزښتونه 64-hex Word8ونه دي، مقدارونه د شتمنۍ په خپلو واحدونو کې لسیزې رشتې، to په ډیفالټ ډول همدا بټوه ده |
program state <ID> | --cell <64 hex> | v0.6.8: د پروګرام هره حجره د کیلي په ترتیب (rand_getProgramCells، تر پایه پاڼه پاڼه)، یا له --cell سره یوه حجره، چې کله نه وي 64 صفرونه. پر هغه زنځیر ردېږي چې د program_state برخه نه لري |
program vault <ID> | v0.6.8: د پروګرام خزانه (rand_getProgramVault)، د هرې ساتل شوې شتمنۍ لپاره یوه کرښه، مقدارونه په واحدونو کې. پر هغه زنځیر ردېږي چې دا برخه نه لري | |
call <PROGRAM-ID> | --input N (تکرارېدونکی)، --expect-public <FILE>، --tier T، --gas-limit <N|max>، --fee، --auditor <rand1…>، --no-envelope، --print-call-key، --cuda | لومړی غوښتنه په امولېټر کې چلوي او gas: <exact> (declaring <limit>, tier <t>) چاپوي: دقیق ګاز شاهد دی او هېڅکله له بټوې نه وځي، اعلان شوی حد د ثبوت عامه GAS_LIMIT دی. پر هغه زنځیر چې د ګاز برخه لري، ډیفالټ حد دقیق ګاز دی چې د 2^(t−2) تر مضرب پورې پورته ګرد شوی وي؛ max د سرلیک سقف gas_max اعلانوي، چې هېڅ داسې څه نه افشا کوي چې پوړ یې نه کوي؛ N د دقیق ګاز څخه کم یا له سقف څخه زیات ردېږي. له برخې پرته، یا له --cuda سره، ډیفالټ max دی. بیا غوښتنه د پروګرام پر عامه ننوت په محلي توګه ثابتوي، د ننوت ثبت یې مهر کوي، د یوه بنډل له لارې تادیه کوي، رسید چاپوي. ډیفالټ فیس د اعلان شوي حد لپاره لږ تر لږه فیس دی، BUNDLE_BASE + gas_price·GAS_LIMIT + byte_price·KiB په هغو بیو چې rand_getLimits یې وړاندې کوي، او هلته چې بیې بدلېږي د بیې د دوو ګامونو اضافي ځای، چې د fee … RAND (incl. two price steps of headroom) په توګه چاپېږي. پر hardening_v6 زنځیر فیس له دې مخکې ټاکل کېږي چې ثبوت شتون ولري، نو ډیفالټ د ثبوت پر ځای د زنځیر د ثبوت حد بیه کوي، چې یوازې ډېره تادیه کولای شي؛ --fee دقیق مقدار ورکوي. --expect-public له ثبوت جوړولو مخکې ردوي مګر دا چې د پروګرام عامه ننوت د هغه فایل کلمې وي |
open-call <TXHASH> | --call-key <hex>، --as-auditor | د یوې غوښتنې ثبت پرانیزي، له H_IN سره یې پرتله کوي، پروګرام بیا چلوي؛ د بېسمونې په صورت کې له نا صفر کوډ سره وځي |
receipt <TX> | د یوې ژمنه شوې غوښتنې رسید | |
bridge-mint <ATTESTATION> | hex یا @path، --pq <JSON or @path> (اړین)، --to <rand1…> (ډیفالټ: همدا بټوه)، --fee (ډیفالټ: د عمل لږ تر لږه فیس)، --no-wait، --cuda | د ساتونکو لخوا لاسلیک شوې تصدیقپاڼه د یوه یادښت په توګه زېرمه کوي. --pq د ساتونکو د Dilithium2 ګډ لاسلیک نصاب دی، [{"index":0,"signature":"<4840 hex>"},…]. له هر ډول ثبوت جوړولو مخکې: تصدیقپاڼه ډیکوډ کوي، نصاب د نوډ له pq_guardians او د زنځیر له id سره پرتله کوي، ترلاسه کوونکی او د شتمنۍ id ګوري، لست شوی شاخص لولي (rand_getAssets). د زېرمې د یادښت ړندوونکی د تصدیقپاڼې له ډایجسټ څخه اخیستل کېږي، r = blake3("rand-deposit-r-1" || mu)، یوازینی r چې زنځیر یې مني. د فیس بنډل د ټولې راکړې ورکړې پر وړاندې ثابتېږي، نصاب هم پکې شامل. د یادښت owner، time او r چاپوي |
bridge-rotate <ROTATION> | hex یا @path، --pq <JSON or @path> (اړین)، --fee (ډیفالټ: د عمل لږ تر لږه فیس)، --no-wait، --cuda | د ساتونکو د ټولګې څرخښت د اوسنۍ PQ ټولګې د ګډ لاسلیک له نصاب سره سپاري، د داسې BridgeAttest په توګه چې هېڅ نه زېرمه کوي. له ثبوت جوړولو مخکې هر هغه څه ردوي چې داسې څرخښت نه وي چې د Rand ټولګه یو ګام وړاندې یوسي. وروسته guardian_set_index چاپوي |
bridge-pause | --sig <HEX or @path> (اړین)، --no-wait | د پل جوړول دروي: له بنډل او فیس پرته PauseMints، نو نه د کیلي فایل ته اړتیا ده او نه RAND ته. فایل د rand-bridge-gov pause وتنه ده، د درولو د کیلي 2,420 بایټه لاسلیک د hex په بڼه، چې د پل د اوسني pause_nonce لپاره جوړ شوی؛ له لېږلو مخکې د نوډ له pause_key او د زنځیر له id سره پرتله کېږي. د درولو پر مهال سوځول او څرخښتونه خلاص پاتې کېږي |
bridge-unpause | --pq <JSON or @path> (اړین)، --no-wait | درول د PQ ساتونکو د نصاب (د rand-bridge-gov pq-unpause فایل) په مرسته لرې کوي چې د اوسني pause_nonce لپاره جوړ شوی. له بنډل او فیس پرته؛ د درولو کیلي یوازې هېڅکله درول نه شي لرې کولای |
bridge-burn <ASSET> <AMOUNT> <TO_CHAIN> <TOKEN> <TO> | --relayer-fee N، --fee (ډیفالټ 0.01)، --no-wait، --cuda، --yes | پل شوې شتمني د بهر لوري ته سوځوي: ګوري چې پر TO_CHAIN سکه TOKEN د ASSET ملاتړ کوي او لږ تر لږه AMOUNT پکې تړل شوي، او چې AMOUNT او د ریلې کوونکي فیس د خوشې کولو بشپړ واحدونه دي؛ بیا یو بنډل ثابتوي چې شتمني په 0–1 سلاټونو کې لګوي، له هغې دقیقاً AMOUNT سوځوي (burn_a، burn_asset) او د RAND فیس له 2–3 سلاټونو ورکوي. --relayer-fee د AMOUNT یوه برخه ده، نه اضافي لګښت. پر هغه زنځیر چې د پل فیس لري (rand_getBridgeState.fees)، لکه 20 زنځیر، v0.6.8 لومړی هغه فیس چې زنځیر یې ساتي (په شتمنۍ کې) او هغه مقدار چې خوشې کېږي چاپوي، او د تایید غوښتنه کوي؛ --yes پوښتنه پرېږدي، او هغه stdin چې ټرمینل نه وي، له دې پرته ردېږي. بیا د تړل شوي مقدار او د ریلې کوونکي فیس ازمېښتونه پر خوشې شوي مقدار ترسره کېږي |
token create | --name، --symbol، --decimals <0..=9>، --salt <hex32> (که ورنه کړل شي تصادفي)، بیا یا --fixed-supply <N> --to <rand1…>، --authority-key-out <FILE> [--initial <N> --to <rand1…>] یا (v0.6.8) --program <PROGRAM-ID>، داسې ټوکن چې د جوړولو واک یې هغه پروګرام دی، چې یوازې د هغه غوښتنې یې جوړوي یا سوځوي، له صفر عرضې پیلېږي او د زنځیر program_state برخې ته اړتیا لري، --fee (ډیفالټ: د بنډل بنسټ او د ثبت لیست registration_fee؛ کله چې نوډ له 10 RAND څخه لوړ د ثبت فیس راپور کړي ردېږي، نو د لوی فیس په قصدي ډول ورکولو لپاره --fee ورکړئ)، --no-wait، --cuda | یو ټوکن د ثبت لیست په راتلونکي شاخص کې ثبتوي: ثابته عرضه (یو ځل جوړوي، واک none) یا د Key له لارې اجازه لرونکی (د Dilithium2 یو تازه کیلي فایل، د 0600 اجازو سره لیکل کېږي، پر شته فایل د بیا لیکلو څخه انکار کوي). د واک کیلي تر هغه په <FILE>.pending کې پاتې کېږي چې زنځیر ثبت ومني. که بل ثبت لومړی شاخص ونیسي، another token took index N first — re-run to register at N+1 چاپوي؛ په بریالیتوب کې شاخص او id، hex او rpl1…، چاپوي |
token mint | --asset، --to <rand1…>، --amount <N> (د ټوکن د ښودنې واحدونه)، --authority-key <FILE>، --fee (ډیفالټ 0.001)، --no-wait، --cuda | د Key له لارې اجازه لرونکي ټوکن نور جوړوي؛ له هر ثبوت مخکې ردېږي که ټوکن د Key له لارې اجازه لرونکی نه وي یا کیلي یې واک نه وي |
token set-authority | --asset، --authority-key <FILE>، بیا یا --new-key <FILE> یا --renounce، --fee (ډیفالټ 0.001)، --no-wait، --cuda | د Key له لارې اجازه لرونکی ټوکن بلې کیلي ته سپاري، یا له جوړولو د تل لپاره لاس اخلي |
token burn <ASSET> <AMOUNT> | --fee (ډیفالټ 0.001)، --no-wait، --cuda | AMOUNT، د ټوکن د ښودنې په واحدونو کې، له هغه RPL ټوکن څخه له منځه وړي چې دا بټوه یې لري؛ عامه عرضه یې دقیقاً همدومره کمېږي. پل شوی ټوکن له ثبوت جوړولو مخکې ردېږي: هغه د bridge-burn له لارې وځي |
token info <INDEX|rpl1…|hex> | د یوه ټوکن بشپړه rand_getTokens کرښه: نوم، سمبول، لسیزې، واک، mint_nonce، ټوله عرضه، registered_at، id (hex او id_text) او، که پل شوی وي، هر ملاتړ (locked، mint_cap_per_day، minted_today، mint_day) | |
token list | --from <index> (ډیفالټ 0)، --limit <N> (ډیفالټ 1000) | د rand_getTokens یوه پاڼه: enabled، registration_fee، next_index، tokens |
token register-bridged | --name، --symbol، --salt <hex32>، --chain، --token <hex32>، --decimals (د لومړي ملاتړ د سرچینې لسیزې)، --pq <JSON or @path> (اړین)، --fee (ډیفالټ: د بنډل بنسټ او د نوډ registration_fee، د 10 RAND له هماغه رد سره لکه token create)، --no-wait، --cuda | له پیدایښت وروسته یو پل شوی ټوکن له لومړي ملاتړ سره ثبتوي، د PQ ساتونکو د نصاب (د rand-bridge-gov pq-register فایل) په اجازه چې د نوډ د list_nonce لپاره جوړ شوی. لومړی پر Rand لست کړئ، دویم پر پای ټکي setToken |
token list-backing | --asset <index>، --chain، --token <hex32>، --decimals، --pq <JSON or @path> (اړین)، --fee (ډیفالټ: د بنډل بنسټ)، --no-wait، --cuda | یو پل شوي ټوکن ته ملاتړ زیاتوي، د PQ ساتونکو د نصاب (د rand-bridge-gov pq-list فایل) په اجازه د نوډ په list_nonce کې |
bridge | د پل عامه حالت: ساتونکي، خپروونکي، د شتمنیو ثبت لیست، د سوځولو لړۍ | |
bridge-message <SEQUENCE> | د بهر لوري ته د سوځولو یو پیغام، لفظ په لفظ | |
fee bundle / fee deploy <words> / fee call <tier> | --public-words M (deploy)؛ --gas N، --bytes B، --keccak-log-height K، --sha256-log-height S (call) | د نوډ له مهالوېش څخه لږ تر لږه فیس. پر هغه زنځیر چې د ګاز برخه لري، fee call <tier> --gas N هغه اعلان شوی حد بیه کوي چې rand call یې چاپوي، د سر په بیو او له اضافي ځای پرته: پخپله لږ تر لږه فیس. له --gas پرته سقف gas_max(tier, K, S) بیه کوي، تر ټولو ډېر چې داسې غوښتنه لګښت لرلی شي. --bytes د غوښتنې ثبوت او د ننوت د پوښ بایټونه دي |
tx <HASH> | ژمنه شوې راکړه ورکړه له لوړوالي او شاخص سره | |
tx-key <HASH> | د هغې راکړې ورکړې د هرې وتنې لپاره یوه کرښه چې دې بټوې لېږلې، ترلاسه کړې یا د پاتې په توګه ساتلې: output (bundle:0 … bundle:3، د یوازیني بنډل څلور سلاټونه، یا mint:0)، رول، مقدار (په RAND کې، یا د ټوکن لپاره N (asset I))، هغه یادونه چې ورسره وه (- که نه وي) او د هرې راکړې ورکړې هغه کیلي چې پرې مهر شوې. د sent کرښې کیلي تادیه ترلاسه کوونکي یا پلټونکي ته ورکړئ او rand_checkTransaction <HASH> <KEY> هماغه یوه وتنه، له یادونې سره، افشا کوي. جعلي سلاټ هېچا ته نه پرانیستل کېږي او کرښه نه لري | |
block <ID> | بلاک د لوړوالي یا هش له مخې | |
head | { height, hash, view } | |
status | rand_status | |
peers | نښلول شوي همتایان | |
validators | د اعتبار ورکوونکو ثبت |
--cuda د --features cuda سره جوړ شوي build ته اړتیا لري او هېڅ بدیل نه لري؛ تر اوسه هېڅ PTX نه دی جوړ شوی. دا د call-input envelope مهرول نه شي کولی: rand call --cuda --no-envelope ته اړتیا لري. دا یوازې د ګاز پورتنی حد اعلانوي، او --gas-limit N ردوي.
هر memo او د اړیکې نوم چې CLI یې چاپوي (د send تایید، notes، history، tx-key) لومړی د نندارې له یوه قاعدې تېرېږي: کنټرولي توري، د Unicode د بڼې توري (bidi کنټرولونه، صفر-پلن توري، soft hyphen) او U+2028/U+2029 د U+FFFD په توګه ښودل کېږي، او د فاصلې جلاکوونکو لړۍ د یوې فاصلې په توګه.
لومړۍ خوندي لېږد
rand keygen # wallet.key.json
rand address # rand1… on stdout, its fingerprint XXXX-XXXX-XXXX-XXXX on stderr
rand faucet # testnet, allowlisted wallets only: 100 RAND into a note only you can open
rand balance # balance: 100 RAND
rand send rand1q9f… 1.5 # asks to confirm, then a minute and a half to two minutes of local proving, then the commit
rand notes # the spent note, and the change note
د پتې شریکول، او memo
rand address --uri --amount 1.5 --memo "invoice #42" --qr # a randpay: link, as a terminal QR
rand contacts add alice rand1q9f… # shows the fingerprint, asks add? [y/N]
rand send alice 1.5 --memo "coffee" # the memo is sealed into the payment output
rand history --memo # alice's row shows the whole memo
rand tx-key <hash> # hand the sent row's key to alice or an auditor
memo د نوټ سره په هماغه مهر شوي بدنه کې پروت دی، نو څوک چې یو یې پرانیستلی شي، بل یې هم پرانیستلی شي: ترلاسه کوونکی د notes له لارې، او هر هغه څوک چې د هغه output د هرې معاملې کیلي ولري د rand_checkTransaction <hash> <key> له لارې. Chain 18 لومړی chain دی چې genesis یې envelope_bytes ټاکي؛ په 14 تر 17 chainونو کې --memo مخکې له دې چې څه ثابت شي رد کېده.
محرمانه call چې وروسته یې بیا پرانیستلی شئ
rand program build --guest balance_check --arg 1000 --out bc.json
rand program deploy bc.json # prints the program id
rand call <id> --input 100 --input 200 --input 300 --input 400
rand open-call <txhash> # inputs: [100, 200, 300, 400] — verdict: faithful (exit 0)
حالت لرونکی پروګرام: د RPL-2 شمېرونکی
په داسې chain کې چې program_state برخه ولري، لکه chain 20. شمېرونکی یوازې هغه لېږدونه مني چې یوه cell لولي او بېرته یې د لومړۍ کلمې جمع یو سره لیکي؛ په لېږد کې نور هر څه (څه چې bundle زېرمه کوي، څه چې vault ورکوي، څه چې پروګرام mint کوي) بې له څارنې ورسره تېرېږي، چې دا یې یوه نمایشي بېلګه ګرځوي، نه داسې پروګرام چې ارزښت پرې وتړل شي.
rand program build --guest rpl2_counter --out counter.json
rand program deploy counter.json # prints the program id
rand token create --name "Counter Share" --symbol CTR --decimals 0 --program <id> # say index 2
rand program state <id> --cell 0100000000000000000000000000000000000000000000000000000000000000 # 64 zeros: absent
cat > step.json <<'JSON'
{ "reads": [{ "key": "0100…00", "value": "0000…00" }],
"writes": [{ "key": "0100…00", "value": "0100…00" }],
"deposit": { "rand": "500000000", "kind": "none" },
"pays": [{ "asset": 0, "amount": "200000000", "to": "rand1…" }],
"mints": [{ "asset": 2, "amount": "1" }] }
JSON
rand program invoke <id> --transition step.json # exit 3 if the cell moved since; re-read and retry
rand program vault <id> # asset 0: 300000000 units (0.5 RAND in, 0.2 out)
په فایل کې … د بشپړو 64 hex تورو پر ځای ولاړ دي، چې wallet یې غواړي.
deploy او call څه چاپوي
په split-authorisation chain کې هر bundle دوه ثبوتونه دي چې په همدې ماشین جوړېږي: د tier-10 د لګښت اجازه او د tier-14 bundle. د rand v0.6.7 سره په chain 18 کې یو program deploy، 2026-09-30:
proving the spend authorisation on this machine (tier 10; seconds)…
authorisation proved in 6.8s: tier 10, 1368908 bytes
proving the bundle (tier 14; about a minute and a half on a laptop)…
proved in 116.7s: tier 14, 1500710 bytes
submitted deploy <hash>
0 RAND out, 59.8545 RAND change, fee 0.1007 RAND, anchored at height 97831, proved in 116.7s (bundle) + 6.8s (auth)
یو call خپل ګاز او فیس د call له ثبوت مخکې چاپوي، بیا ورکوونکی bundle په همدې ډول ثابتوي:
proving the call locally (90 inputs stay private, over the program's 11-word public input)…
gas: 5636 (declaring 6144, tier 12)
fee 0.006191437 RAND (incl. two price steps of headroom)
proved in 29.2s: tier 12, 3346865 bytes, outputs [...]
دلته 6,144 هماغه 5,636 دی چې د 2^10 تر مضرب پورې پورته ګرد شوی، او rand fee call 12 --gas 6144 --bytes <B> دا حد د tip په بیو، پرته له اضافي حاشیې، بیه کوي.
rand-prover
ګمارل شوی ثابتوونکی د خپل جلا binary په توګه: دا د یوه wallet د tier-14 bundle ثبوت په بل ماشین جوړوي. rand-node run --prover همدا خدمت د یوه node دننه کوربه کوي. هر فرعي امر --home <DIR> اخلي (env RAND_PROVER_HOME، default ~/.rand-prover)، هغه لارښود چې prover.key.json او pairings.json ساتي.
| امر | دلیلونه | چلند |
|---|---|---|
keygen | prover.key.json د 0600 حالت سره لیکي، او د کیلي ګوتنښه چاپوي؛ پر شته فایل د بیا لیکلو څخه انکار کوي | |
pair | --name <LABEL> (اړین)، --url <URL> (default http://127.0.0.1:8600)، --own، --qr | یو token جوړوي، یوازې د هغه hash د label لاندې ساتي او هغه randprover: د جوړېدو لینک چاپوي چې rand prover pair یې اخلي. token یوازې یو ځل، د لینک دننه، ښودل کېږي. --url هغه ځای دی چې wallet له دې ثابتوونکي سره اړیکه نیسي؛ --own own=1 زیاتوي؛ --qr لینک د ترمینل QR کوډ په توګه هم چاپوي |
unpair | --name <LABEL> | یو جوړه لرې کوي؛ روان ثابتوونکی فایل د پیل پر مهال لولي، نو دا بدلون د بیا پیل پر مهال اغېز کوي |
pairings | د هرې جوړې لپاره یوه کرښه: label، own یا -، د جوړېدو نېټه | |
run | --listen <ADDR> (default 127.0.0.1:8600)، --max-parallel <N> (1)، --max-queue <N> (8)، --per-token <N> (2)، --cuda، --skip-memory-check، --allow-origin <ORIGIN> (تکرارېدونکی)، --fee <RAND> د --fee-address <rand1…> سره، --accept-spend-key | د prover_* JSON-RPC تر Ctrl-C یا SIGTERM پورې وړاندې کوي. پیل رد کېږي مګر دا چې 5.74 GB × --max-parallel + 1 GiB حافظه شتون ولري. --per-token د هغو دندو شمېر دی چې یوه جوړه یې په یو وخت کې په کتار کې یا د ثابتولو په حال کې لرلی شي. --accept-spend-key په v0.6.8 کې لرې شوی: run ورسره له پیل څخه انکار کوي، او ثابتوونکی یوازې د viewing-key شاهدان مني. په v0.6.7 کې یې د spend-key شاهدان منل، چې یوازې په bundle guest v1 یا v2 باندې chain یې لېږي |
په chain 20 کې ثابتوونکی د wallet viewing key nk او یو تازه salt ترلاسه کوي. دا لګښت نه شي کولی، او هر هغه څه لوستلی شي چې هغه wallet کله هم ترلاسه کړي یا لېږلي دي: یوازې له داسې ثابتوونکي سره جوړه شئ چې خپل تاریخچه ورته ښودلی شئ. wallet هر هغه ثبوت چې بېرته یې ترلاسه کوي تاییدوي.
د کیلي فایل بڼې
د node کیلي:
{ "seed": "hex of 32 bytes", "address": "base58 of blake3(\"rand-address\" || public key)", "public_key": "hex of 1312-byte Dilithium2 public key" }
د wallet کیلي، نسخه 2:
{ "version": 2, "spend_key": "hex of 8 little-endian u32 words (64 characters)" }
rand keygen دا د 0600 حالت سره لیکي، او له v0.6.8 راهیسې هر rand امر هغه wallet کیلي فایل ردوي چې group یا other یې لوستلی شي: هغه کیلي چې په لاس کاپي یا بېرته راګرځول شوې وي باید بېرته 0600 ته وټاکل شي (chmod 600 <key>). د wallet کیلي له لاسه ورکول هر هغه نوټ له لاسه ورکوي چې هغې پرانیستلی شو؛ په دې خپرونه کې د بیا رغونې عبارت نشته.