Rand Protocol
ஆவணமாக்கல்
குறிப்புதவி

கட்டளை வரி

ஒவ்வொரு rand-node மற்றும் rand கட்டளையும் அவற்றின் அளவுருக்கள் மற்றும் இயல்புநிலை மதிப்புகளுடன் - கணு மற்றும் இயக்குநர் இருமக்கோப்பு, மறைக்கப்பட்ட பணப்பை, மற்றும் ஒப்படைக்கப்பட்ட நிரூபிப்பான்.

மூன்று இயக்கக் கோப்புகள் cargo build --release இலிருந்து வெளிவருகின்றன: rand-node (கணுவும் இயக்குநர் கட்டளைகளும்), rand (மறைக்கப்பட்ட பணப்பை), rand-prover (ஒப்படைக்கப்பட்ட நிரூபிப்பான்). ஒவ்வொரு கட்டளையும் -h/--help ஐ ஏற்கிறது. சங்கிலி 20 இயக்கும் உருவாக்கமான v0.6.8 வெளியீட்டை (c9c9bd3c) இந்தப் பக்கம் விவரிக்கிறது; 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) என்ற ஒரே பொதுக் கொடி, fri_profile ஆனது test ஆக உள்ள ஜெனிசிஸை init, run, verify ஏற்க அனுமதிக்கிறது. அந்த விவரக்குறிப்பு ஏறத்தாழ 17 பிட் உறுதித்தன்மை மட்டுமே கொண்டது; ஜெனிசிஸ் கோப்பை எழுதும் எவரும் அதைக் குறிப்பிடலாம். எனவே v0.6.8 முதல், இந்தக் கொடி இல்லாமல் அத்தகைய ஜெனிசிஸை ஒரு கணு மறுக்கிறது. சோதனைத் தொகுப்புகள் இதை அமைக்கின்றன; வேறு எதுவும் அமைக்கக் கூடாது.

keygen, address

கட்டளைஅளவுருஇயல்புநிலை
keygen--out <OUT>node.key.json
address--key <KEY>தேவை

keygen ஆனது { "seed": <32-byte hex>, "address": <base58>, "public_key": <hex> } ஐ 0600 அனுமதிநிலையுடன் எழுதுகிறது. விதையின் ஒரே நகல் இந்தக் கோப்புதான். v0.6.8 முதல், ஏற்கெனவே உள்ள --out ஐ keygen மறுக்கிறது (… already exists or cannot be created; refusing to overwrite a key file), அதைத் தொடாமல் விடுகிறது; --force இல்லை, எனவே அதை மாற்ற பழைய கோப்பை வேறிடத்துக்கு நகர்த்துங்கள். v0.6.7 உம் அதற்கு முந்தையவையும் கேட்காமலேயே அதை மேலெழுதின. address ஆனது address, public_key (1,312 பைட் பதினறுமம்), peer_id ஆகியவற்றை அச்சிடுகிறது.

genesis

அளவுருஇயல்புநிலைபொருள்
--chain-id <CHAIN_ID>1சங்கிலி அடையாளம்; பரிவர்த்தனைகளும் காசிப் தலைப்புகளும் அதனுடன் பிணைக்கப்பட்டுள்ளன
--validator <KEY,STAKE,PAYOUT>தேவை, மீண்டும் தரலாம்ஒரு பதிவேட்டு உள்ளீடு: விசைக் கோப்புப் பாதை அல்லது பதினறுமப் பொது விசை, 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 ஐ எழுதும்; ஒரு பாலப் பிரிவுடன் ஃபாசெட் இருக்க அனுமதிக்கும் குறியீடு இதுவே. தரப்பட்டால் ஜெனிசிஸ் ஹாஷின் பகுதியாகும்
--no-confidentialமுடக்கம்Deploy, Call ஆகியவற்றை முடக்கும்
--fri-profile <production|test>productiontest பாதுகாப்பற்றது, சோதனைத் தொகுப்புக்கு மட்டுமானது; --allow-test-fri-profile இல்லாமல் init, run, verify அத்தகைய கோப்பை மறுக்கின்றன
--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, அங்கே ஓர் அழைப்பு மூன்று நிரூபணங்களைக் (தொகுப்பு, அங்கீகாரம், அழைப்பு) கொண்டுசெல்கிறது
--max-call-envelope-bytes <N>இல்லை (18,432)மிகப்பெரிய அழைப்பு உள்ளீட்டு உறை, 18432..=1048576
--max-program-public-words <N>இல்லை (0)ஒரு deploy நிர்ணயிக்கக்கூடிய மிகப்பெரிய பொது உள்ளீடு, 0..=65535; 0 எதையும் அனுமதிக்காது
--tokens <TOKENS.JSON>இல்லைRPL tokens பிரிவு, {"registration_fee": …, "mint_cap_per_day": …, "tokens": [...]} என்ற JSON கோப்பாக. தவிர்க்கப்பட்டால், கோப்பில் அத்தகைய பிரிவு இருக்காது, முன்பு போலவே ஹாஷ் ஆகும். ஒரு bridge பிரிவுக்கு, பூஜ்யமற்ற mint_cap_per_day (ஒவ்வொரு ஆதாரச் சொத்துக்கும், ஒவ்வொரு UTC நாளுக்கும், டோக்கனின் எட்டு-தசம அலகுகளில்) கொண்ட இந்தப் பிரிவு தேவை; பட்டியலிடப்பட்ட டோக்கனுக்கு ஒரு bridge பிரிவு தேவை
--envelope-bytes <N>இல்லை (பழைய 1,348-பைட் உறை)ஒவ்வொரு குறிப்பு உறையின் சரியான அளவு: ஒரு தொகுப்பு வெளியீடு, ஒரு ஃபாசெட் அச்சிடல், ஒரு திரும்பப்பெறல், ஒரு பால வைப்பு, ஒரு ஜெனிசிஸ் ஒதுக்கீடு. 1860 மட்டுமே ஏற்கப்படும்; ஒவ்வொரு உறையும் மறைகுறியாக்கப்பட்ட குறிப்புரையைக் கொண்டுசெல்ல உதவும் அளவு அதுவே. தரப்பட்டால் ஜெனிசிஸ் ஹாஷின் பகுதி; இந்தக் கட்டளையின் சொந்த --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 ஒவ்வொரு வாக்கையும், புதிய-காட்சிச் செய்தியையும், முன்மொழிவையும் இந்த ஜெனிசிஸுடன் பிணைக்கிறது
--bundle-guest <v1|v2|v3>v1hc_bundle ஆகப் பொருத்தப்படும் தொகுப்பு விருந்தினர் நிரல்: v1 (சங்கிலிகள் 14, 15 இயக்கிய மறைக்கப்பட்ட-சொத்து விருந்தினர் நிரல்), v2 (சங்கிலி 16 இன் கிளையற்ற விருந்தினர் நிரல்) அல்லது v3 (பிரிக்கப்பட்ட அங்கீகாரம்: விருந்தினர் நிரல் செலவு விசைக்குப் பதிலாக nk ஐயும் ஓர் உப்பையும் எடுக்கிறது). v3 க்கு --auth-guest தேவை
--auth-guestமுடக்கம்இந்த உருவாக்கத்தின் அங்கீகார விருந்தினர் நிரலை hc_auth ஆகப் பொருத்தும்: அதன்பின் ஒவ்வொரு தொகுப்பும் செலவு விசை மீதான ஓர் அங்கீகார நிரூபணத்தைக் கொண்டுசெல்லும்; அது தன் பரிவர்த்தனையுடன் பிணைக்கப்பட்டது, அதன் வெளியீடு தொகுப்பின் auth_commit க்குச் சமம். --bundle-guest v3 உடன் தேவை; v1 அல்லது v2 உடன் எந்தக் கோப்பும் எழுதப்படும் முன்பே மறுக்கப்படும். இல்லாவிட்டால், கோப்பில் hc_auth புலம் இருக்காது
--hardening-v6முடக்கம்v0.6 விதிகளைச் செல்லுபடி விதிகளாக மாற்றும் (hardening_v6): pc சாளரம், அழைக்க இயலாத deploy கள், நியம நிரூபண வடிவங்களும் பணிச்சான்றுச் சொற்களும், அழைப்புப் பிணைப்பு, நிரல்-அட்டவணைக் கீழ்வரம்பு. இல்லாவிட்டாலும், ஒரு கணு அவற்றைத் தன் காத்திருப்புக் குளத்தில் கொள்கையாக மறுக்கிறது
--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; வேறு மதிப்பை அறிவிக்கும் தொகுப்பு நிரூபணம் மறுக்கப்படும். ஜெனிசிஸ் 20479 ஐ மட்டுமே ஏற்கும், அது அடுக்கு-14 தொகுப்பு விருந்தினர் நிரலுக்கான gas_max(14, 0, 0)
--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 ஜெனிசிஸ் ஹாஷை ஒவ்வொரு பரிவர்த்தனைப் பிணைப்பிலும் ஒவ்வொரு கையொப்பமிட்ட செயல் செய்தியிலும் (ஃபாசெட் அச்சிடல், பிணைப்பு நீக்கம், திரும்பப்பெறல், RPL டோக்கன் செய்திகள், திரட்டிச் செயல்கள், பால ஆளுகைச் செய்திகள்) பிணைக்கிறது; எனவே இந்தச் சங்கிலிக்கான நிரூபணமோ கையொப்பமோ வேறு எந்தச் சங்கிலியிலும் சரிபார்க்கப்படாது. தவிர்க்கப்பட்டால், கட்டளை எச்சரிக்கிறது: v0.6.8 பணப்பை 14 முதல் 19 வரையிலானவை தவிர்த்த ஒவ்வொரு சங்கிலி அடையாளத்திலும் ஜெனிசிஸ்-பிணைந்த வடிவத்தையே நிரூபிக்கிறது, எனவே 20 முதல் ஒவ்வொரு சங்கிலியும் 1 உடன் உருவாக்கப்படுகிறது
--proof-window-blocks <N>இல்லை (256)v0.6.8: ஒரு தொகுப்பின் நங்கூரமும் அதன் time உம் எவ்வளவு பழையதாக இருக்கலாம் என்பதற்கான ஒரே சாளரம், 256 முதல் 4,096 தொகுதிகள். 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-இல் இணைக்கப்பட்டவை: எட்டு PQ காப்பாளர் விசைகளுடன் காப்பாளர் தொகுப்பு 1-இல் உள்ள பாலம், இடைநிறுத்த விசை, rules_v2, rotation, fees; faucet அனுமதிப் பட்டியல், admission_by_vote, 2,500 bps நுழைவு வரவுசெலவு ஆகியவற்றுடன் staking பிரிவு; consensus_domain: 1; alloc-note --asset 1 --envelope-bytes 1860 மூலம் உருவாக்கப்பட்ட zUSD-இன் ஜெனிசிஸ் குறிப்புகள். கணக்கில் கொள்ளப்படும் ஜெனிசிஸ் ஹாஷ், முடிக்கப்பட்ட கோப்பின் மீது 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> (இயல்புநிலை: பழைய வடிவம்). genesis --alloc ஒரு குறிப்பை முத்திரையிடுவது போலவே, --to-க்கு முத்திரையிடப்பட்ட ஒரு ஒதுக்கீட்டுக் குறிப்பை JSON ஆக அச்சிடுகிறது. envelope_bytes-ஐ அமைக்கும் ஜெனிசிஸ், பொருந்தும் --envelope-bytes இல்லாமல் முத்திரையிடப்பட்ட குறிப்பை நிராகரிக்கும். --amount சொத்தின் முழு அலகுகளில் குறிக்கப்படுகிறது: RAND-க்கு ஒன்பது தசம இடங்கள், பாலம் வழி வந்த டோக்கனுக்கு எட்டு (சொத்து 1-இல் 10 என்பது 10 zUSD). பட்டியலிடப்பட்ட டோக்கனின் குறிப்புக்கு, அந்த டோக்கனின் பின்புலச் சொத்துகள் கொண்டிருக்கும் locked தொகைகளின் கூட்டுத்தொகை அதன் குறிப்புகளுக்குச் சரியாகச் சமமாக இருக்க வேண்டும்.

init

அளவுருபொருள்
--datadir <DATADIR>உருவாக்க வேண்டிய தரவுக் கோப்பகம்
--genesis <GENESIS>ஜெனிசிஸ் கோப்பு; <datadir>/genesis.json-க்கு நகலெடுக்கப்படும்

ஜெனிசிஸ் ஹாஷையும், genesis அச்சிடும் அதே gas: வரியையும் அச்சிடுகிறது.

run

அளவுருஇயல்புநிலைபொருள்
--datadir <DATADIR>கட்டாயம்தொடக்க அமைப்பு செய்யப்பட்ட தரவுக் கோப்பகம்
--key <KEY>கட்டாயம்விசைக் கோப்பு: சரிபார்ப்பாளர் அடையாளம், p2p அடையாளம், கட்டணம் பெறுநர்
--listen <LISTEN>/ip4/0.0.0.0/tcp/30303libp2p கேட்கும் multiaddr; மீண்டும் தரலாம்
--bootstrap <BOOTSTRAP>இல்லை; மீண்டும் தரலாம்/ip4/<ip>/tcp/<port>/p2p/<peer-id>; தொடக்கத்திலும், இணைப்பு துண்டிக்கப்பட்டிருக்கும் வரை ஒவ்வொரு 30 s-க்கும் அழைக்கப்படும். v0.6.8 முதல் இதன் peer id ஒதுக்கப்பட்டதாகும்
--reserved-peer <PEER_ID>இல்லை; மீண்டும் தரலாம்v0.6.8: உள்வரும் இணைப்பு வரம்பைத் தாண்டி அனுமதிக்கப்பட்டு, ஒத்திசைவு ஒதுக்கீட்டில் சரிபார்ப்பாளர்களின் பங்கிலிருந்து சேவை பெறும் peer. bootstrap-களும், கையொப்பமிட்ட peer பிணைப்பை இந்த முனை கண்டுள்ள ஒவ்வொரு சரிபார்ப்பாளரும் இந்தக் கொடி இல்லாமலேயே ஒதுக்கப்பட்டவை. இன்னும் எந்தப் பிணைப்பும் சேமிக்கப்படாத, புதிதாக உருவாக்கப்பட்ட சங்கிலியில் தொகுப்பின் சரிபார்ப்பாளர்களை இங்கே பட்டியலிடுங்கள்
--strict-gossipமுடக்கம்v0.6.8: gossipsub-இன் கண்டிப்பான சரிபார்ப்பு; செல்லுபடியாகும் ஆசிரியர் கையொப்பம், வரிசை எண், மூலம் ஆகியவை உள்ள செய்திகளை மட்டுமே ஏற்கும். கண்டிப்பான முனைகளும் தளர்வான முனைகளும் ஒன்றோடொன்று இயங்கும்; ஆகவே இதை ஒவ்வொரு முனையாக அறிமுகப்படுத்தலாம்
--rpc <RPC>127.0.0.1:8545இயக்குநரின் JSON-RPC கேட்பான்: எல்லா முறைகளும் கிடைக்கும்; loopback-ஐ நம்புகிறது. இதை loopback-இலேயே வைத்திருங்கள்; பொது முனையம் எதையும் இதற்கு ஒருபோதும் திருப்பிவிடாதீர்கள்
--public-rpc <ADDR>முடக்கம்v0.6.8: நிலையான முறைத் தொகுப்பு கொண்ட இரண்டாவது, பொதுக் கேட்பான் (பார்வை-விசை முறைகள், rand_mint, rand_getPeers இல்லை), தொகுப்புக் கோரிக்கைகள் இல்லை, WebSocket இல்லை, எல்லா அழைப்பாளர்களுக்கும் ஒரே அளவீட்டுக் கருவி; reverse proxy அல்லது SSH forward சுட்ட வேண்டியது இதைத்தான் (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அடிப்படைப் பார்வைக் காலவரம்பு; தொடர்ச்சியான ஒவ்வொரு காலாவதிக்கும் இரட்டிப்பாகி, 8× வரை உயரும்
--verify-chain <MODE>quickoff, 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முடக்கம்loopback அல்லாத அழைப்பாளர்களும் பார்வை-விசை முறைகளைப் பயன்படுத்த அனுமதிக்கும்; அங்கீகரிக்கும் ஓர் அடுக்குக்குப் பின்னால் மட்டுமே பயன்படுத்துங்கள்
--gas-price <UNITS>100ஓர் அழைப்பின் நிரூபணத் தலைப்பில் உள்ள gas_max மீது, இந்த முனையின் தொகுப்பு ஒவ்வொரு gas-க்கும் கோரும் அலகுகள் (10⁻⁹ RAND). இது அனுமதிக் கொள்கை, சங்கிலி விதி அல்ல: குறைந்த கட்டண அழைப்பைக் கொண்ட தொகுதியும் செல்லுபடியாகும். --byte-price 0 உடன் 0 எந்தக் கொள்கையையும் இயக்காது. சங்கிலி 20-இல் உள்ளது போல ஜெனிசிஸில் gas பிரிவு கொண்ட சங்கிலியில், சங்கிலியின் சொந்த விலைகளே செல்லுபடி விதியாகும்
--byte-price <UNITS>800ஓர் அழைப்பின் நிரூபணம் மற்றும் உள்ளீட்டு உறையின் ஒவ்வொரு KiB-க்கும் அல்லது அதன் பகுதிக்கும் அலகுகள், பைட் 0 முதல், அதே கொள்கையின் கீழ்
--prover <ADDR>முடக்கம்ஒப்படைக்கப்பட்ட நிரூபிப்பாளரை (prover_* JSON-RPC) இந்த முகவரியில் இயக்கும். இதற்குத் தனிக் கேட்பான் உண்டு; அது --rpc-இலிருந்து வேறுபட வேண்டும். rand-prover keygen உருவாக்கும் <prover-home>/prover.key.json இல்லாவிட்டால் முனை தொடங்க மறுக்கும்
--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-இல்: நிரூபிக்கப்படும் bundle-க்குள், அந்த முகவரிக்கு ஒரு RAND வெளியீடு. ஒவ்வொரு கொடிக்கும் மற்றொன்று தேவை
--prover-allow-origin <ORIGIN>உலாவி நீட்டிப்புகளும் loopback பக்கங்களும்நிரூபிப்பாளரின் பதில்களைப் படிக்க அதன் பக்கங்களுக்கு அனுமதி உள்ள உலாவி மூலம்; மீண்டும் தரலாம். ஒருமுறை அல்லது அதற்கு மேல் தரப்பட்டால், அந்த மதிப்புகளே முழுப் பட்டியலாகும். * எல்லா இணையதளங்களையும் அனுமதித்து, எச்சரிக்கை அச்சிடும்

சூழல் மாறி: RUST_LOG (இயல்புநிலை info,libp2p=warn,libp2p_mdns=off). Ctrl-C அல்லது SIGTERM முனையைச் சீராக நிறுத்தும்.

பொது முனையம் https://rpc.randprotocol.org ஒரு காப்பக முனைக்கு முன்னால் உள்ள அனுமதிப் பட்டியல் proxy ஆகும்; 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 உறுதிசெய்யப்பட்ட தலை, பார்வை, கடைசியாக வாக்களித்த பார்வை, உயர் QC, சரிபார்ப்பாளர் அதன் தலைக்கு மேலே பூட்டப்பட்டுள்ளதா என்பது, பதிவுசெய்யப்பட்ட பாதுகாப்பு நிறுத்தம் ஏதேனும் இருந்தால் அது ஆகியவற்றை அச்சிடுகிறது. சான்றளிக்கப்பட்ட மூன்று-சங்கிலி ஒன்று, தன் சொந்த உறுதிசெய்யப்பட்ட தலையிலிருந்து வழிவராத தொகுதியை உறுதிசெய்ய முயல்வதைக் காணும் முனை நின்றுவிட்டு அதைப் பதிவுசெய்கிறது (audit v6, CON-5). அதன் பிறகு clear-halt வரை run அந்தப் பதிவுடன் வெளியேறும். நீக்குவதற்கு முன், இந்த முனையின் தலையை வேறு இரண்டு சரிபார்ப்பாளர்களின் தலைகளுடன் ஒப்பிடுங்கள்; வேறுபட்டால் காப்பகத்திலிருந்து மீண்டும் ஒத்திசையுங்கள். v0.6.8 (CON-4) முதல், “வைத்திருக்கவில்லை” என்ற பதில்களின் எந்தக் குழுமமும் இனி பூட்டை விடுவிப்பதில்லை. தன்னால் பெற முடியாத தொகுதியில் பூட்டப்பட்ட சரிபார்ப்பாளர், பூட்டைவிட உயர்ந்த நியாயப்படுத்தல் கொண்ட முன்மொழிவு வரும் வரை அல்லது அந்தத் தொகுதி பெறப்படும் வரை அமைதியாக இருக்கும். release-lock சேமிக்கப்பட்ட பூட்டை உறுதிசெய்யப்பட்ட தலையின் சான்றிதழுக்குக் குறைக்கிறது. இதை ஒரு நேரத்தில் ஒரு சரிபார்ப்பாளரில் மட்டும், தொகுதி நிரந்தரமாக இழக்கப்பட்டால் மட்டுமே பயன்படுத்துங்கள். ஒப்புகைக் கொடி இல்லாமல், எழுதும் ஒவ்வொரு கட்டளையும் தான் என்ன செய்யும் என்பதை அச்சிடும்; எதையும் மாற்றாது.

verify

அளவுருஇயல்புநிலைபொருள்
--datadir <DATADIR>கட்டாயம்முனை இயங்கிக்கொண்டிருக்கக் கூடாது
--mode <MODE>fullquick அல்லது full
--repairமுடக்கம்சேதமடைந்த இறுதிப் பகுதியை வெட்டிவிடும்; பாதுகாப்பு நிலை வைத்திருக்கப்படும்

சீராக இருந்தால் வெளியேறும் குறியீடு 0; --repair இல்லாமல் சிக்கல் கண்டறியப்பட்டால் 2.

db

db drop-receipts-index --datadir <DATADIR>, முனை நிறுத்தப்பட்ட நிலையில்: v0.3-க்கு முந்தைய கட்டமைப்புக்குத் திரும்புவதற்கு முன் receipts_by_program குறியீட்டை நீக்கும்; அந்தக் குறியீடு உள்ள தரவுத்தளத்தை அந்தக் கட்டமைப்பால் திறக்க முடியாது. பின்னர் தொடங்கும்போது ரசீதுகளிலிருந்து குறியீடு மீண்டும் கட்டப்படும்.

status

--rpc <URL> (இயல்புநிலை http://127.0.0.1:8545). rand_status-ஐ மாற்றமின்றி அப்படியே அச்சிடுகிறது.

register, unbond, withdraw

கட்டளைஅளவுருக்கள்பொருள்
register--key, --payout <rand1…>, --rpc, --v2இந்த முனையின் விசையால் கையொப்பமிடப்பட்ட ஒரு ஹெக்ஸ் Registration-ஐ அச்சிடுகிறது; சங்கிலி அடையாளத்திற்காக RPC படிக்கப்படுகிறது, --v2 உடன் ஜெனிசிஸ் ஹாஷுக்காகவும் படிக்கப்படுகிறது. ஜெனிசிஸ் staking.registration_v2-ஐ அமைக்கும் சங்கிலியில் --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 அதை அச்சிடுகிறது, register அச்சிட்ட ஹெக்ஸிலும் அது உள்ளது. அனுமதி உறுதியான பின், பிணைத்தல் முன்பு போலவே நடக்கிறது (rand bond … --registration), அது அந்த அனுமதியை நுகர்கிறது. அனுமதிக்கப்பட்டுக் காத்திருப்பவற்றை rand_getAdmitted பட்டியலிடுகிறது.

bridge-gov

பாலத்தின் குவாண்டம்-பிந்தைய விசைச் சுழற்சிகள் (v0.6.8), காவலர்களுக்கும் இடைநிறுத்த விசை வைத்திருப்பவருக்கும். ஒவ்வொரு படியும் சங்கிலி அடையாளம், அதன் பிணைப்புக் களம் மற்றும் rand_getBridgeState.rotation_nonce ஆகியவற்றை --rpc-இலிருந்து படிக்கிறது (இயல்புநிலை http://127.0.0.1:8545).

கட்டளைசெய்வது
rotate-pq message --new-key K…தற்போதைய நான்ஸுக்கான ஹெக்ஸ் சுழற்சிச் செய்தியை அச்சிடுகிறது; ஒவ்வொரு கையொப்பமிடுபவரிடமும் ஒப்பிட்டுப் பார்க்க
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 @FCancelRotation-ஐ அனுப்பி, நிலுவையிலுள்ள சுழற்சியை அதன் தாமதக் காலம் முடியும் முன் கைவிடுகிறது

--new-key என்பது ஒரு ஹெக்ஸ் Dilithium2 பொது விசை, அதைக் கொண்ட @file, அல்லது @key-file (அதன் பொது விசை). கையொப்ப வரிகள் index:hex வடிவில் இருக்கும்; இடைவெளிகள் அல்லது புதிய வரிகளால் பிரிக்கப்படும்; # குறிப்புரைகள் அனுமதிக்கப்படும்.

vesting status|claim|revoke|bond|unbond

ஜெனிசிஸில் vesting பகுதியைக் கொண்ட சங்கிலியில், கால-பூட்டப்பட்ட ஜெனிசிஸ் ஒதுக்கீட்டின் உரிமையாளர் தரப்பும் திரும்பப்பெறுபவர் தரப்பும். சங்கிலி 20-இன் ஜெனிசிஸில் இப்பகுதி இல்லை. விசை என்பது ஒரு rand-node keygen கோப்பு.

கட்டளைஅளவுருக்கள்பொருள்
vesting status <ENTRY>--rpcrand_getVesting வழங்கும் வடிவில் அந்தப் பதிவு: அதன் நிபந்தனைகள், உரிமையானவை, இப்போது கோரக்கூடியவை
vesting claim--entry <id>, --to <rand1…>, --amount <RAND> அல்லது --all, --key, --rpc, --no-waitபூட்டு விலகியதை 0.001 RAND அடிப்படைக் கட்டணம் கழித்து --to-இல் ஒரு குறிப்பாகச் செலுத்துகிறது; பயனாளியின் விசையால் கையொப்பமிடப்படுகிறது
vesting revoke prepare--entry, --margin-secs (இயல்புநிலை 600), --out (இயல்புநிலை revoke.json), --rpcv0.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-ஐ அவ்வப்போது வினவி, ஒரு திரட்டு நிரூபணத்தை உருவாக்கிச் சமர்ப்பிக்கும் டீமன். ஜெனிசிஸில் aggregation பகுதி இல்லாத சங்கிலி 20-இல் இது செயலற்றது.

rand (பணப்பை)

உட்கட்டளைக்கு முன்போ பின்போ தரக்கூடிய பொது விருப்பங்கள்:

விருப்பம்சூழல் மாறிஇயல்புநிலை
--rpc <RPC>RAND_RPChttp://127.0.0.1:8545; http அல்லது https (பொது முனைப்புள்ளி https://rpc.randprotocol.org). 64 MiB-க்கு மேற்பட்ட பதில் மறுக்கப்படும்
--key <KEY>RAND_KEYwallet.key.json; குறிப்புச் சேமிப்பகம் அதன் அருகில் <key>.notes.json-இல் இருக்கும். சேமிப்பகம் எந்தச் சங்கிலிக்கு எதிராக வருடப்பட்டதோ அதனுடன் (முனையின் rand_getGenesisHash) பிணைக்கப்பட்டது: சங்கிலி 19-இலிருந்து 20-க்கான வெட்டைக் கடந்து வைத்திருக்கப்பட்ட பணப்பை போல, வேறொரு சங்கிலியைச் சுட்டினால், அது காலியாக்கப்பட்டு, எச்சரிக்கையுடன் இலை 0-இலிருந்து மீண்டும் வருடப்படும். v0.6.8 முதல், குழுவோ பிறரோ படிக்கக்கூடிய விசைக் கோப்பை ஒவ்வொரு கட்டளையும் மறுத்து, திருத்தத்தைக் (chmod 600 <key>) குறிப்பிடுகிறது
--proverஅணைந்துள்ளது. தொகுப்பை இந்தக் கணினியில் அல்லாமல், இந்தப் பணப்பையுடன் இணைக்கப்பட்ட நிரூபிப்பானில் (rand prover pair) நிரூபிக்கிறது; நிரூபணம் ஒரு பரிவர்த்தனையில் சேர்க்கப்படும் முன் இங்கே சரிபார்க்கப்படுகிறது (அதன் சுருக்கம், அளவு, மற்றும் உள்ளூர்ச் சரிபார்ப்பு). தொகுப்பை நிரூபிக்கும் ஒவ்வொரு கட்டளைக்கும் பொருந்தும்; call மற்றும் program invoke-க்கு, கட்டணம் செலுத்தும் தொகுப்பு மட்டுமே நிரூபிப்பானுக்குச் செல்லும், அழைப்பு நிரூபணம் உள்ளூரிலேயே இருக்கும். இணைப்பு இல்லாமல் மறுக்கப்படும்; call தவிர மற்றவற்றில் --cuda உடன் சேர்த்தும் மறுக்கப்படும். சங்கிலி 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 அடிப்படையில், அதன் காட்சி அலகுகளில் இருக்கும் (zUSD-இன் 10 என்பது 10 zUSD). bridge-burn, token create --fixed-supply, --initial ஆகியவை டோக்கனின் மிகச்சிறிய அலகில் வெற்று முழு எண்களை ஏற்கின்றன; asset-balance அவற்றையே அச்சிடுகிறது. ஒரு கட்டளை டோக்கனை ஏற்கும் இடமெல்லாம், அது பதிவேட்டுச் சுட்டெண், rpl1… அடையாளம் அல்லது 64-ஹெக்ஸ் அடையாளத்தை ஏற்கும்; அடையாளம் முனையின் முழு பதிவேட்டுப் பட்டியலிலிருந்து (rand_getTokens, ஒவ்வொரு பக்கமும்) அதன் சுட்டெண்ணாகத் தீர்க்கப்படுகிறது, ஒருபோதும் தனித்த டோக்கன் தேடல் மூலம் அல்ல, ஏனெனில் அது எந்த டோக்கன் நகரவிருக்கிறது என்பதை முனைக்குத் தெரிவித்துவிடும். எண் சுட்டெண் முனையை அடையவே அடையாது.

கட்டளைஅளவுருக்கள்நடத்தை
keygen--key இல் புதிய செலவுச் சாவிக் கோப்பை mode 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: இணைப்பு; இணைப்பிலிருந்து முகவரி மட்டுமே வைக்கப்படுகிறது. --yes இல்லையெனில், add கைரேகையை அச்சிட்டு add? [y/N] எனக் கேட்கிறது; --yes இல்லாதபோது டெர்மினல் அல்லாத stdin மறுக்கப்படுகிறது. <key>.contacts.json இல் mode 0600 உடன் சேமிக்கப்படுகிறது. ஒரு பெயர் 1 முதல் 64 எழுத்துகள் கொண்டது, rand1 அல்லது randpay: எனத் தொடங்கக்கூடாது, தனித்துவமாக இருக்க வேண்டும்
prover pair <LINK> / prover pair --trusted / show / forget--name <NAME>, --yes (pair)இந்த வாலட்டை ஒரு பிரதிநிதி நிரூபகருடன் இணைக்கிறது. pair, rand-prover pair அச்சிட்ட randprover: இணைப்பை ஏற்கிறது, https:// அல்லாத URL ஐ மறுக்கிறது (வெற்று 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 ஐ mode 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, --cudaTO என்பது ஒரு 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-waitv0.6.8, RPL-2: நிரலின் ஒரு நிலை மாற்றத்தை அறிவித்து, சங்கிலி அதைச் செயல்படுத்தச் செய்கிறது. எதுவும் நிரூபிக்கப்படுவதற்கு முன் இவற்றைச் சரிபார்க்கிறது: சங்கிலியில் program_state பகுதி உள்ளதா, நிரல் உள்ளதா, மாற்றத்தின் சூழல் பிரிவு விதிக்குப் பொருந்துகிறதா, ஒவ்வொரு reads பதிவும் நடப்புச் செல்லுடன் பொருந்துகிறதா (rand_getProgramCell; பொருந்தாவிட்டால் காலாவதியான செல்லைக் குறிப்பிட்டு குறியீடு 3 உடன் வெளியேறும்), ஒவ்வொரு pays பதிவையும் இந்த மாற்றம் வைப்பீடு செய்வதையும் சேர்த்துப் பெட்டகம் செலுத்த முடியுமா, வைப்பீட்டுக்கும் கட்டணத்துக்கும் தேவையான டோக்கனும் RAND உம் இந்த வாலட்டிடம் உள்ளனவா. எழுதுதல்கள் உருவாக்கும் செல்களை எண்ணி, உண்மையான சூழல் சொற்களின் மீது நிரலைச் சோதனையாக இயக்கி, பரிவர்த்தனையுடன் பிணைக்கப்பட்ட அழைப்பை நிரூபிக்கிறது; பின்னர் தொகுப்பையும் (கட்டணம், மேலும் burn_r மூலம் எரிக்கப்படும் deposit.rand, burn_a மூலம் எரிக்கப்படும் deposit.asset இன் deposit.amount) அங்கீகார நிரூபணத்தையும் நிரூபிக்கிறது. இயல்புநிலைக் கட்டணம் என்பது அறிவிக்கப்பட்ட கேஸுக்கான அழைப்பின் குறைந்தபட்சக் கட்டணமும், உருவாக்கப்படும் ஒவ்வொரு செல்லுக்குமான செல் கட்டணமும், 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. பின்னர் நிரலின் பொது உள்ளீட்டின் மீது அழைப்பை உள்ளூரில் நிரூபித்து, அதன் உள்ளீட்டுப் பதிவேட்டை முத்திரையிட்டு, ஒரு தொகுப்பின் மூலம் கட்டணம் செலுத்தி, ரசீதை அச்சிடுகிறது. இயல்புநிலைக் கட்டணம் அறிவிக்கப்பட்ட வரம்புக்கான குறைந்தபட்சக் கட்டணம்: rand_getLimits வழங்கும் விலைகளில் BUNDLE_BASE + gas_price·GAS_LIMIT + byte_price·KiB, விலைகள் மாறும் இடங்களில் இரண்டு விலைப் படிகள் மேலதிக இடத்துடன்; இது 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 இன் வெளியீடு: பாலத்தின் தற்போதைய pause_nonce க்காக உருவாக்கப்பட்ட, இடைநிறுத்தச் சாவியின் 2,420-பைட் கையொப்பம், hex ஆக; அனுப்பப்படுவதற்கு முன் முனையின் pause_key, சங்கிலி id ஆகியவற்றுடன் சரிபார்க்கப்படுகிறது. இடைநிறுத்தத்தின்போதும் எரிப்புகளும் சுழற்சிகளும் திறந்தே இருக்கும்
bridge-unpause--pq <JSON or @path> (கட்டாயம்), --no-waitதற்போதைய pause_nonce க்காக உருவாக்கப்பட்ட PQ காவலர் கோரத்தைக் (rand-bridge-gov pq-unpause இன் கோப்பு) கொண்டு இடைநிறுத்தத்தை நீக்குகிறது. தொகுப்பும் கட்டணமும் இல்லை; இடைநிறுத்தச் சாவி தனியாக ஒருபோதும் இடைநிறுத்தத்தை நீக்க முடியாது
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), இடங்கள் 2–3 இலிருந்து RAND கட்டணத்தைச் செலுத்தும் ஒரே ஒரு தொகுப்பை நிரூபிக்கிறது. --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> ஆகியவற்றில் ஒன்று; கடைசியானது அந்த நிரலை அச்சிடும் அதிகாரமாகக் கொண்ட டோக்கன், அதன் invoke அழைப்புகள் மட்டுமே அதை அச்சிடவோ எரிக்கவோ முடியும், பூஜ்ஜிய விநியோகத்தில் தொடங்கும், சங்கிலியின் 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, --cudaKey-அங்கீகாரம் பெற்ற டோக்கனை மேலும் அச்சிடுகிறது; டோக்கன் Key-அங்கீகாரம் பெறாவிட்டால் அல்லது சாவி அதன் அதிகாரமாக இல்லாவிட்டால், எந்த நிரூபணத்துக்கும் முன்பே மறுக்கப்படுகிறது
token set-authority--asset, --authority-key <FILE>, பின்னர் --new-key <FILE> அல்லது --renounce, --fee (இயல்புநிலை 0.001), --no-wait, --cudaKey-அங்கீகாரம் பெற்ற டோக்கனை வேறொரு சாவியிடம் ஒப்படைக்கிறது, அல்லது அச்சிடும் உரிமையை நிரந்தரமாகக் கைவிடுகிறது
token burn <ASSET> <AMOUNT>--fee (இயல்புநிலை 0.001), --no-wait, --cudaஇந்த வாலட் வைத்திருக்கும் RPL டோக்கனில் AMOUNT ஐ, டோக்கனின் காட்சி அலகுகளில், அழிக்கிறது; அதன் பொது விநியோகம் சரியாக அந்த அளவு குறைகிறது. பாலம் வழி வந்த டோக்கன் நிரூபிப்பதற்கு முன்பே மறுக்கப்படுகிறது: அது 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 உம், token create இல் உள்ள அதே 10 RAND மறுப்பு விதியுடன்), --no-wait, --cudaஜெனிசிஸுக்குப் பிறகு, பாலம் வழி டோக்கனை அதன் முதல் ஆதாரத்துடன் பதிவு செய்கிறது; முனையின் list_nonce க்காக உருவாக்கப்பட்ட PQ காவலர் கோரம் (rand-bridge-gov pq-register இன் கோப்பு) இதை அங்கீகரிக்கிறது. முதலில் Rand இல் பட்டியலிடவும், அதன் பின் முனைப்புள்ளியில் setToken செய்யவும்
token list-backing--asset <index>, --chain, --token <hex32>, --decimals, --pq <JSON or @path> (கட்டாயம்), --fee (இயல்புநிலை: தொகுப்பு அடிப்படைக் கட்டணம்), --no-wait, --cudaபாலம் வழி டோக்கனுக்கு ஓர் ஆதாரத்தைச் சேர்க்கிறது; முனையின் list_nonce இல் PQ காவலர் கோரம் (rand-bridge-gov pq-list இன் கோப்பு) இதை அங்கீகரிக்கிறது
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 }
statusrand_status
peersஇணைக்கப்பட்ட சகமுனைகள்
validatorsசரிபார்ப்பாளர் பதிவேடு

--cuda க்கு --features cuda உடன் உருவாக்கப்பட்ட build தேவை, அதற்கு மாற்று வழி இல்லை; இதுவரை எந்த PTX உம் உருவாக்கப்படவில்லை. அதனால் call-input உறையை முத்திரையிட முடியாது: rand call --cuda க்கு --no-envelope தேவை. அது gas உச்சவரம்பை மட்டுமே அறிவிக்கிறது, --gas-limit N ஐ மறுக்கிறது.

CLI அச்சிடும் ஒவ்வொரு memo மற்றும் தொடர்புப் பெயரும் (send இன் உறுதிப்படுத்தல், notes, history, tx-key) முதலில் ஒரே காட்சி விதியைக் கடந்து செல்கிறது: கட்டுப்பாட்டு எழுத்துகள், Unicode வடிவமைப்பு எழுத்துகள் (bidi கட்டுப்பாடுகள், பூஜ்ய-அகல எழுத்துகள், மென் இணைப்புக்கோடு) மற்றும் 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, note இருக்கும் அதே முத்திரையிட்ட உள்ளடக்கத்திற்குள் உள்ளது. எனவே ஒன்றைத் திறக்கக்கூடியவர் மற்றதையும் திறக்க முடியும்: பணம் பெறுபவர் notes மூலம் திறக்கலாம்; அந்த வெளியீட்டின் பரிவர்த்தனைக்கான key ஐ வைத்திருக்கும் எவரும் rand_checkTransaction <hash> <key> மூலம் திறக்கலாம். genesis இல் envelope_bytes ஐ அமைத்த முதல் சங்கிலி chain 18 ஆகும்; chains 14 முதல் 17 வரை, எதுவும் நிரூபிக்கப்படுவதற்கு முன்பே --memo மறுக்கப்பட்டது.

பின்னர் மீண்டும் திறக்கக்கூடிய ரகசிய அழைப்பு

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 counter

chain 20 போல program_state பகுதி கொண்ட சங்கிலியில். ஒரு cell ஐப் படித்து, அதன் முதல் word உடன் ஒன்றைக் கூட்டி அதே cell இல் மீண்டும் எழுதும் நிலைமாற்றங்களை மட்டுமே counter ஏற்கிறது. நிலைமாற்றத்தின் மற்ற அனைத்தும் (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 உம் அச்சிடுவது

பிரிக்கப்பட்ட அங்கீகாரச் சங்கிலியில் ஒவ்வொரு bundle உம் இந்தக் கணினியிலேயே உருவாக்கப்படும் இரண்டு நிரூபணங்கள் ஆகும்: tier-10 செலவு அங்கீகாரம், tier-14 bundle. 2026-09-30 அன்று chain 18 இல் rand v0.6.7 உடன் ஒரு program deploy:

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 தனது gas ஐயும் கட்டணத்தையும் 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, இயல்புநிலை ~/.rand-prover); இது prover.key.json மற்றும் pairings.json ஐக் கொண்ட அடைவு.

கட்டளைஅளவுருக்கள்நடத்தை
keygenprover.key.json ஐ mode 0600 உடன் எழுதி, key இன் fingerprint ஐ அச்சிடுகிறது; ஏற்கெனவே உள்ளதை மேலெழுத மறுக்கிறது
pair--name <LABEL> (கட்டாயம்), --url <URL> (இயல்புநிலை http://127.0.0.1:8600), --own, --qrஒரு token ஐ உருவாக்கி, அதன் hash ஐ மட்டும் label இன் கீழ் சேமித்து, rand prover pair ஏற்கும் randprover: இணைப்பு link ஐ அச்சிடுகிறது. token ஒருமுறை மட்டுமே, link க்குள் காட்டப்படுகிறது. --url என்பது wallet இந்த நிரூபகரை அடையும் முகவரி; --own own=1 ஐச் சேர்க்கிறது; --qr link ஐ terminal QR குறியீடாகவும் அச்சிடுகிறது
unpair--name <LABEL>ஓர் இணைப்பை நீக்குகிறது; இயங்கும் நிரூபகர் தொடக்கத்தில் மட்டுமே கோப்பைப் படிப்பதால், மறுதொடக்கத்தில் இது நடைமுறைக்கு வருகிறது
pairingsஒவ்வொரு இணைப்புக்கும் ஒரு வரி: label, own அல்லது -, உருவாக்கிய தேதி
run--listen <ADDR> (இயல்புநிலை 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-keyCtrl-C அல்லது SIGTERM வரை prover_* JSON-RPC ஐ வழங்குகிறது. 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 20 இல் உள்ள நிரூபகர் wallet இன் viewing key nk ஐயும் ஒரு புதிய salt ஐயும் பெறுகிறது. அதனால் செலவிட முடியாது; ஆனால் அந்த wallet இதுவரை பெற்ற அல்லது அனுப்பிய அனைத்தையும் படிக்க முடியும்: உங்கள் வரலாற்றைக் காட்டத் தயாராக உள்ள நிரூபகருடன் மட்டுமே இணையுங்கள். திரும்பப் பெறும் ஒவ்வொரு நிரூபணத்தையும் wallet சரிபார்க்கிறது.

Key கோப்பு வடிவங்கள்

Node key:

{ "seed": "hex of 32 bytes", "address": "base58 of blake3(\"rand-address\" || public key)", "public_key": "hex of 1312-byte Dilithium2 public key" }

Wallet key, பதிப்பு 2:

{ "version": 2, "spend_key": "hex of 8 little-endian u32 words (64 characters)" }

rand keygen அதை mode 0600 உடன் எழுதுகிறது. v0.6.8 முதல், group அல்லது other படிக்கக்கூடிய wallet key கோப்பை ஒவ்வொரு rand கட்டளையும் மறுக்கிறது: கையால் நகலெடுக்கப்பட்ட அல்லது மீட்டமைக்கப்பட்ட key ஐ மீண்டும் 0600 க்கு அமைக்க வேண்டும் (chmod 600 <key>). wallet key ஐ இழந்தால், அது திறக்கக்கூடிய ஒவ்வொரு note உம் இழக்கப்படும்; இந்த வெளியீட்டில் மீட்புச் சொற்றொடர் இல்லை.

fullnode கமிட் c0878c3f (சங்கிலி 21) உடன் 2026-10-12 அன்று இறுதியாகச் சரிபார்க்கப்பட்டது. நிரலும் இந்தப் பக்கமும் முரண்படும் இடங்களில் நிரலே சரியானது; எங்களுக்குத் தெரிவியுங்கள்.