Rand Protocol
ஆவணமாக்கல்
எடுத்துக்காட்டு நிரல்கள்

chain 20 இல் நான்கு நிரல்கள்

testnet இல் வரிசைப்படுத்தப்பட்ட நான்கு முழுமையான ரகசிய நிரல்கள் - ஓர் அநாமதேய வாக்கெடுப்பு, ஒரு பொறுப்புகளின் சான்று, ஒரு off-chain பேரேடு மற்றும் ஒரு தனிப்பட்ட கடன் முடிவு - அவற்றின் நிரல் அடையாளங்கள், அவை பகிர்ந்துகொள்ளும் அமைப்பு, chain 18 ஒரு நிரல் ஆசிரியருக்கு எதை மாற்றியது, அவற்றை நீங்களே எவ்வாறு அழைப்பது ஆகியவற்றுடன்.

இந்த நான்கு நிரல்கள் ஒவ்வொன்றும் ஒரு ரகசிய அழைப்பின் முழுமையான பயன்பாடு: ஒரு சிக்கல், ஒரு இடைமுகம், ஒரு Rust விருந்தினர் நிரல், புரவலன் பக்கக் கருவிகள், இயங்கும் testnet-இல் ஒரு நிறுவுதலும் ஓர் அழைப்பும். இவை பயிற்சிகளைவிட நீளமானவை; ஒவ்வொன்றும் இயந்திரத்தின் வெவ்வேறு பகுதியைச் சார்ந்துள்ளது. இவை அனைத்தும் பயன்படுத்தும் மாதிரிக்கான வழிகாட்டி Rust அல்லது C-இல் ஒரு நிரலை எழுதுதல். read_input, பொதுப் பகுதி அல்லது எட்டு வெளியீட்டு இடங்கள் உங்களுக்குப் புதியவை என்றால் முதலில் அதைப் படியுங்கள்.

இங்குள்ள அனைத்தும் முதலில் 2026-09-30 அன்று fullnode v0.6.7 உடன் சங்கிலி 18-இல் இயக்கப்பட்டன; இப்பக்கங்களில் உள்ள ஒவ்வொரு வெளியீடும் அந்த இயக்கங்களிலிருந்து அப்படியே எடுக்கப்பட்டது. ஒரு சங்கிலி வெட்டைத் தாண்டி நிரல்கள் தொடர்வதில்லை; எனவே 2026-10-01 அன்று இந்த நான்கும் மாற்றமின்றி சங்கிலி 19-இலும் பின்னர் சங்கிலி 20-இலும் (fullnode v0.6.8) மீண்டும் நிறுவப்பட்டன; ஒவ்வொரு முறையும் அழைப்புகள் மீண்டும் செய்யப்பட்டன. ஒரு நிரல் அடையாளம் என்பது குறியீட்டின் மற்றும் பொதுப் பகுதியின் ஹாஷ், சங்கிலியின் ஹாஷ் அல்ல; எனவே ஒவ்வொரு அடையாளமும் மாறாமல் உள்ளது. பதிவுகளில் உள்ள பரிவர்த்தனை ஹாஷ்கள் சங்கிலி 18-க்குரியவை; கீழே உள்ள அட்டவணை சங்கிலி 20-க்குரியவற்றுக்கு இணைப்பு தருகிறது. சங்கிலி 20-இல் ஒரு நிரல் அழைப்புகளுக்கு இடையே நிலையையும் வைத்திருக்க முடியும் (RPL-2); இந்த நான்கும் அதைப் பயன்படுத்துவதில்லை. அதைப் பயன்படுத்தும் நிரல்களை நிரல் நிலை பக்கமும் எடுத்துக்காட்டு நிரல்களின் களஞ்சியமும் விளக்குகின்றன.

நான்கு நிரல்கள்

நிரல்ஓர் அழைப்பு நிரூபிப்பதுசார்ந்திருப்பதுசொற்கள்அடுக்கு
ஓர் அநாமதேய வாக்குஅழைப்பவர் வெளியிடப்பட்ட ஒரு பட்டியலின் உறுப்பினர், எவர் என்று சொல்லாமல்; அவர் இதற்கு முன் வாக்களிக்கவில்லைKeccak-256, ஒரு பொதுப் பகுதி42712
பொறுப்புகளின் நிரூபணம்தனிப்பட்ட வாடிக்கையாளர் இருப்புகளின் கூட்டுத்தொகை, ஒவ்வொரு வாடிக்கையாளரும் சரிபார்க்கக்கூடிய ஒரு வேரின் கீழ், வெளியிடப்பட்ட இருப்பை விட அதிகமில்லைSHA-256, நிரலுக்குள் கட்டப்படும் ஒரு மரம்99414
சங்கிலிக்கு வெளியிலான பேரேடுஒரு தொகுதி இடமாற்றங்கள் ஒரு பேரேட்டை ஒரு நிலையிலிருந்து அடுத்த நிலைக்குக் கொண்டுசெல்கின்றன; ஒவ்வொரு அனுப்புநரும் அங்கீகரிக்கப்பட்டவர், எதுவும் புதிதாக உருவாக்கப்படவில்லைPoseidon2, அழைப்புகளுக்கு இடையே கொண்டுசெல்லப்படும் நிலை77314
ஒரு தனிப்பட்ட கடன் முடிவுஒரு சான்றளிப்பவர் உறுதிப்படுத்திய தனிப்பட்ட விண்ணப்பதாரர் தரவை, வெளியிடப்பட்ட ஒரு மாதிரி ஏற்கிறது அல்லது நிராகரிக்கிறதுமுழு எண் கணிதம், பொதுப் பகுதியில் ஒரு மாதிரி46212

நான்கும் சங்கிலி 20-இல் இயங்குகின்றன. அட்டவணையில் உள்ள ஒவ்வோர் அழைப்பும், அந்த நிரலின் பக்கத்தில் காட்டப்பட்டுள்ள சங்கிலி 18 அழைப்பை அதே உள்ளீடுகளுடன் மீண்டும் செய்கிறது:

நிரல்நிரல் அடையாளம்சங்கிலி 20-இல் நிறுவப்பட்ட பரிவர்த்தனைசங்கிலி 20-இல் முதல் அழைப்பு
அநாமதேய வாக்குad2f719f12d01c9f3c0962092b9898b75b0914bbb817031d51be13e54c05b970f6ae5528…0f823a304e7a…427b
பொறுப்புகளின் நிரூபணம்fce8474dfdf80b9733e04fb72d4d8d19c40ba5ab646b3d867322daf4b9b599c0a8bc281b…17d96116c15f…d62a
சங்கிலிக்கு வெளியிலான பேரேடுc4ddd388f2d94299610c7c3409dfdfb4dcb4ae3e0bc9ec78d0c45f51d8231cab72cc95f2…3d519c9998bb…66eb
தனிப்பட்ட கடன் முடிவு7bbec14289f4446231b3a9a5ac18cb0613a373ca8a14fe4f046f3fde7ae6c73c413e6658…e42bd3ceb306…124a

எக்ஸ்ப்ளோரர் ஒவ்வொரு நிரலையும் அதன் அழைப்புகளையும் randscan.org/programs-இல் பட்டியலிடுகிறது. ஒரு testnet சங்கிலி அவ்வப்போது மாற்றப்படுகிறது; நிரல்கள் அதைத் தாண்டித் தொடர்வதில்லை: அடுத்த வெட்டுக்குப் பின் இந்த அடையாளங்கள் இல்லாமல் போகும்; நிரல்களை மீண்டும் நிறுவ வேண்டியிருக்கும்.

அமைப்பு

கருவித்தொடர். விருந்தினர் நிரல்கள் circuits களஞ்சியத்திலுள்ள rand-guest மூலம் கட்டப்படுகின்றன; fullnode v0.6.7, v0.6.8 இரண்டும் உள்ளடக்கியுள்ள அதே கமிட்டில்:

git clone https://github.com/randprotocol/zkp-circuits circuits
cd circuits
git checkout aeacf31                      # branch feat/v067-circuits
rustup toolchain install 1.98.1
rustup target add riscv32im-unknown-none-elf --toolchain 1.98.1
(cd rand-guest && cargo +1.98.1 build --release)
alias rand-guest="$PWD/rand-guest/target/release/rand-guest"

கமிட் இரண்டு காரணங்களுக்காக முக்கியமானது. hc என்பது மூலக் குறியீட்டையும் கருவித்தொடரையும் சார்ந்த ஒரு சார்பு; எனவே guest-sdk-இன் வேறொரு கமிட்டில் மீண்டும் கட்டப்படும் விருந்தினர் நிரல் வேறொரு hc-ஐப் பெறக்கூடும். மேலும் SDK-இன் கையொப்பங்கள் மாறியுள்ளன: aeacf31-இல் keccak, sha256_compress ஆகியவை வரிசைக் குறிப்புகளை ஏற்கின்றன; பழைய கமிட்டுகளில் அவை நேரடிச் சுட்டிகளை ஏற்றன.

மூலக் கோப்புகள். நான்கு விருந்தினர் நிரல்களும், அவற்றின் புரவலன் ஸ்கிரிப்டுகளும், செயல்விளக்கத் தரவும் ஒரே பதிவிறக்கம். அவற்றை checkout-க்குள்ளேயே பிரித்தெடுங்கள், ஏனெனில் rand-guest build விருந்தினர் நிரலின் கோப்பகத்திலிருந்து மேல்நோக்கித் தேடி guest-sdk-ஐக் கண்டறிகிறது:

mkdir -p my-guests
curl -sSf https://randprotocol.org/examples/rand-example-programs.tar.gz | tar -xz --strip-components=1 -C my-guests
ls my-guests
# allowlist  ledger  ledger-host  score  solvency

இக்கோப்புகளை https://randprotocol.org/examples/programs/-இன் கீழ் ஒவ்வொன்றாகவும் பார்க்கலாம், எடுத்துக்காட்டாக allowlist/src/main.rs.

வாலட். நிறுவுவதற்கும் அழைப்பதற்கும் fullnode v0.6.8-இன் rand வாலட் (v0.6.8 குறிச்சொல்லில் உள்ள fullnode checkout-இல் cargo build --release -p randprotocol-client, அல்லது v0.6.8 வெளியீட்டுடன் இணைக்கப்பட்ட rand), ஒரு சாவி, RAND ஆகியவை தேவை. பழைய வாலட் சங்கிலி 20-இல் பரிவர்த்தனை செய்ய இயலாது: சங்கிலி 20 ஒவ்வொரு நிரூபணத்தையும் கையொப்பமிட்ட செய்தியையும் தன் தொடக்கத் தொகுதியுடன் பிணைக்கிறது; v0.6.7 வாலட் அவ்வாறு செய்வதில்லை.

ஒரு RPC. இப்பக்கங்களில் உள்ள அனைத்திற்கும் பொது முனைப்புள்ளியான https://rpc.randprotocol.org போதுமானது: நிரல்களையும் ரசீதுகளையும் படித்தல், ஒரு வாலட்டை ஒத்திசைத்தல், நிறுவுதல், அழைத்தல். ஒரு வாலட்டின் முதல் ஒத்திசைவு ஒவ்வொரு தொகுதித் தலைப்பையும், ஒரு குறிப்பைக் கொண்ட ஒவ்வொரு தொகுதியையும் படிக்கிறது; 2026-09-30 அன்று சங்கிலி 18-இன் உயரத்தில் இது 645 கோரிக்கைகள்; முனைப்புள்ளி வழியாக ஏறத்தாழ மூன்று நிமிடங்கள் ஆனது. முனைப்புள்ளி ஒவ்வொரு முகவரிக்கும் நிமிடத்திற்கு 1,200 வாசிப்புகளையும் 6 அனுப்புதல்களையும் அனுமதிக்கிறது. உங்கள் சொந்த முனைக்கு (ஒரு முனையை இயக்குதல்) அத்தகைய வரம்புகள் இல்லை.

export RAND_RPC=https://rpc.randprotocol.org
export RAND_KEY=$HOME/wallet.key.json

சங்கிலி 18-இல், அநாமதேய வாக்குப் பக்கத்தில் எண்ணப்பட்ட வாக்குகளில் ஒன்றான fdbcc960…fc2b, ஒரு மடிக்கணினியில் நிரூபிக்கப்பட்டு பொது முனைப்புள்ளி வழியாக மட்டுமே அனுப்பப்பட்டது. சங்கிலிகள் 19, 20 இரண்டிலும், ஒவ்வொரு முறையும் பதின்மூன்று பரிவர்த்தனைகளும், அதாவது நான்கு நிறுவுதல்களும் ஒன்பது அழைப்புகளும், அவ்வழியே சென்றன.

சங்கிலி 18 ஒரு நிரலுக்கு மாற்றியவை

ஓர் அழைப்பு ஒரு கேஸ் வரம்பை அறிவிக்கிறது, அதற்குக் கட்டணம் செலுத்துகிறது. கட்டுப்பாட்டுத் தொகுப்பு 8 ஒவ்வோர் இயக்கத்தையும் அளவிடுகிறது. ஒரு சாதாரணச் சுழற்சி 1 கேஸ். ஹாஷ் கணினி அழைப்புகள் விதிவிலக்குகள்:

அறிவுறுத்தல்கேஸ்
எந்த RV32IM அறிவுறுத்தலும், HALT, WRITE_OUTPUT, READ_INPUT, READ_PUBLIC1
n சொற்களின் மீது POSEIDON23 + 3 × ⌈n / 4⌉
SHA256, ஒரு சுருக்கம்64
KECCAK, ஒரு வரிசைமாற்றம்192

நிரூபணம் ஒரு புதிய பொது மதிப்பைக் கொண்டுள்ளது, அதுவே அறிவிக்கப்பட்ட வரம்பு; இயக்கத்தின் கேஸ் அதற்குச் சமமாகவோ குறைவாகவோ இருப்பதைச் சுற்று உறுதிசெய்கிறது. சரியான கேஸ் தனிப்பட்டதாகவே இருக்கும். rand call முதலில் நிரலை எமுலேட்டரில் இயக்கி இரண்டையும் அச்சிடுகிறது:

gas: 5636 (declaring 6144, tier 12)

இயல்பாக, வாலட் சரியான கேஸை 2^(tier − 2)-இன் மடங்குக்கு மேல்நோக்கி முழுமையாக்குகிறது; இது அடுக்கு 12-இல் 1,024, அடுக்கு 14-இல் 4,096; எனவே அறிவிக்கப்பட்ட வரம்பு இயக்கத்தைப் பற்றிச் சிறிதளவே வெளிப்படுத்துகிறது. --gas-limit max அடுக்கின் உச்சவரம்பை அறிவிக்கிறது; அடுக்கைத் தாண்டி எதையும் வெளிப்படுத்துவதில்லை. --gas-limit N ஒரு சரியான எண்ணை அறிவிக்கிறது.

கட்டணம் அறிவிக்கப்பட்ட வரம்பையும் பைட்டுகளையும் பின்பற்றுகிறது.

floor = 0.001 RAND  +  gas price × declared limit  +  byte price × ⌈bytes / 1024⌉

விலைகள் ஒரு கேஸுக்கு 100 அலகுகள், ஒரு KiB-க்கு 800 அலகுகள் எனத் தொடங்கின (ஓர் அலகு 10⁻⁹ RAND); ஒவ்வொரு தொகுதியிலும் ஓர் இலக்கை நோக்கிச் சிறிது நகர்கின்றன. rand_getLimits நடப்பு விலைகளை வழங்குகிறது. ஓர் அழைப்பு விலையிடப்பட்டு இரண்டு அல்லது மூன்று தொகுதிகளுக்குப் பின் சேர்வதால், வாலட் இரண்டு விலைப் படிகள் அளவிலான இடைவெளியை, அதாவது 1.125² காரணியைச் சேர்க்கிறது.

ஒரு விவரமே கட்டணத்தின் பெரும்பகுதியைத் தீர்மானிக்கிறது. சங்கிலி 18 முதல் ஓர் அழைப்பின் நிரூபணம் அதன் சொந்தப் பரிவர்த்தனையுடன் பிணைக்கப்பட்டுள்ளது; எனவே நிரூபணம் உருவாவதற்கு முன்பே வாலட் கட்டணத்தை நிர்ணயிக்க வேண்டும்; அது நிரூபணத்தை அதன் உண்மையான அளவில் அல்லாமல் சங்கிலியின் 4 MiB உச்சவரம்பில் விலையிடுகிறது. அநாமதேய வாக்குக்கு இது (1,000,000 + 100 × 6,144 + 800 × 4,097) × 1.125² = 6,191,437 அலகுகள், 0.0062 RAND; இதில் கேஸ் ஏறத்தாழ எட்டில் ஒரு பங்கு. இப்பக்கங்களில் உள்ள நான்கு அழைப்புகள் ஒவ்வொன்றும் 0.0057 முதல் 0.0075 RAND வரை செலவாயின. --fee இயல்பு மதிப்பை மீறுகிறது.

ஒவ்வொரு தொகுப்பும் இரண்டு நிரூபணங்கள். சங்கிலி 18 பிரிக்கப்பட்ட அங்கீகாரத்தை இயக்குகிறது: கட்டணம் செலுத்தும் தொகுப்பு, அடுக்கு 14 தொகுப்பு நிரூபணத்துடன் ஒரு சிறிய அடுக்கு 10 அங்கீகார நிரூபணத்தையும் கொண்டுள்ளது. வாலட் இரண்டையும் உருவாக்கி ஒவ்வொன்றுக்கும் ஒரு வரியை அச்சிடுகிறது. எனவே ஓர் அழைப்பு மூன்று நிரூபணங்கள்: அழைப்பு, அங்கீகாரம், தொகுப்பு. ஒரு Apple Silicon மடிக்கணினியில் இங்குள்ள நான்கு அழைப்புகள் ஒவ்வொன்றும் மூன்று முதல் ஐந்தரை நிமிடங்கள் வரை எடுத்தன; உச்ச நினைவகப் பயன்பாடு 6.1 முதல் 6.6 GB. அதில் தொகுப்பு நிரூபணம் ஒவ்வொரு முறையும் ஏறத்தாழ இரண்டு நிமிடங்கள். அடுக்கு 12 அழைப்பு நிரூபணம் அரை நிமிடத்தையும், அடுக்கு 14 நிரூபணம் இரண்டு நிமிடங்களையும் சேர்க்கிறது.

ஓர் அழைப்பு பொருந்த வேண்டிய உச்சவரம்புகள்.

வரம்புசங்கிலிகள் 18 முதல் 20 வரை
அடுக்குஅதிகபட்சம் 14: 16,383 சுழற்சிகள், டைஜெஸ்ட் வரிசைகள் உட்பட
Poseidon2 வரிசைமாற்றங்கள்அடுக்கு 14-இல் 2,048, நிரல், உள்ளீடு, பொது டைஜெஸ்ட்கள் உட்பட
Keccak வரிசைமாற்றங்கள்128
SHA-256 சுருக்கங்கள்128
அழைப்பு நிரூபணம்4,194,304 பைட்டுகள் (4 MiB)
நிரல்பொதுப் பகுதி இல்லாவிட்டால் 8,180 சொற்கள், ஒன்று இருந்தால் சற்றுக் குறைவு: சங்கிலிகள் 18, 19 போலவே சங்கிலி 20-உம், max_program_words (65,535) எதை அனுமதித்தாலும், எந்த அடுக்கு 14 அழைப்பும் தாங்க இயலாத நிறுவுதலை மறுக்கிறது (ProgramUncallable)
பொதுப் பகுதி32,768 சொற்கள், நிறுவும்போது நிர்ணயிக்கப்படுகிறது
முத்திரையிடப்பட்ட டிரான்ஸ்கிரிப்டுடன் தனிப்பட்ட உள்ளீடு16,071 சொற்கள்

நீங்கள் நிறுவுவதற்கு முன் rand-guest run --tier 14 முதல் இரண்டையும் சரிபார்க்கிறது. ஒரு ஹாஷ் அட்டவணை நிரூபணத்தைப் பெரிதாக்குகிறது. ஹாஷ் அட்டவணை இல்லாத பேரேட்டின் அடுக்கு 14 நிரூபணம் 1.50 MB. SHA-256 அட்டவணை பொறுப்புகள் நிரூபணத்தை 1.91 MB-க்குக் கொண்டுசெல்கிறது; Keccak அட்டவணை வாக்கின் நிரூபணத்தை 3.35 MB-க்குக் கொண்டுசெல்கிறது, இது 4 MiB உச்சவரம்பின் பெரும்பகுதி.

நான்கும் பகிரும் மரபுகள்

  • ஸ்லாட் 0 ஒரு நிலைக் குறியீடு; 0 ஒருபோதும் செல்லுபடியான நிலை அல்ல. தோல்விகள் உட்பட ஒவ்வொரு விளைவுக்கும் 1 முதல் தொடங்கும் ஓர் எண் உண்டு. தோல்வி நேர்ந்தால் நிரல் முறையாக நிறுத்தப்படுகிறது; அதனால் அதையும் நிரூபிக்க முடியும். முழுவதும் பூஜ்ஜியமான ஒரு ரசீதை ஒரு முடிவாகத் தவறாகக் கருத இயலாது.
  • ஸ்லாட் 7 பயன்படுத்தப்படுவதில்லை. பேனிக் ஆகும் Rust விருந்தினர் நிரல் அங்கே 0xdeadbeef (3,735,928,559) என்பதை எழுதுகிறது. ரசீதைப் படிப்பவர் முதலில் ஸ்லாட் 7-ஐச் சரிபார்க்கிறார்.
  • ஸ்லாட்கள் 2 முதல் 6 வரை 160-பிட் மதிப்பைக் கொண்டுள்ளன: ஒரு நல்லிஃபையர், ஒரு ரூட், ஓர் இணைப்பு, ஒரு கமிட்மென்ட். முழு 256-பிட் ஹாஷ் எட்டு சொற்களை எடுத்துக்கொள்ளும்; நிலைக் குறியீட்டுக்கு இடமே இருக்காது. ஐந்து சொற்களாகச் சுருக்கினால் 80 பிட் மோதல் எதிர்ப்புத்திறன் கிடைக்கிறது. அது எதைப் பாதுகாக்கிறது என்பதை ஒவ்வொரு பக்கமும் குறிப்பிடுகிறது.
  • பைட் வரிசை ஹாஷைப் பின்பற்றுகிறது. Keccak மதிப்புகள் லிட்டில்-எண்டியன் சொற்கள், SHA-256 மதிப்புகள் பிக்-எண்டியன் சொற்கள்; ஒவ்வொரு சிஸ்காலும் தன் தொகுதியைப் படிக்கும் விதம் அதுதான். இதில் ஒத்துப்போகாத ஹோஸ்ட் ஸ்கிரிப்ட்டும் விருந்தினர் நிரலும் ஒருபோதும் பொருந்தாத டைஜெஸ்ட்களையே உருவாக்கும்.
  • ஒவ்வொரு நிகழ்வுக்கும் மாறுபடுவது பொதுப் பிரிவில் இருக்கும்; ஒவ்வொரு அழைப்புக்கும் மாறுபடுவது தனிப்பட்ட உள்ளீடாக இருக்கும். ஒரு வாக்கெடுப்பின் ரூட், ஒரு கையிருப்பு எண்ணிக்கை, ஒரு மாதிரியின் எடைகள் ஆகியவை பதிவேற்றத்தின்போதே நிலைநிறுத்தப்பட்டு நிரல் அடையாளத்துடன் பிணைக்கப்படுகின்றன. ஓர் அழைப்பு தனக்கென எந்தப் பொதுச் சொற்களையும் கொண்டிருப்பதில்லை.
  • கட்டளை வரியில் உள்ளீட்டுச் சொற்கள் தசம எண்களாகத் தரப்படுகின்றன. பக்கங்கள் $(sed 's/[0-9][0-9]*/--input &/g' witness.txt) மூலம் ஒரு சாட்சிக் கோப்பை ஃபிளாக்குகளாக மாற்றுகின்றன.

நீங்களே ஒன்றை அழைத்துப் பாருங்கள்

மூலக் கோப்புகள் பிரித்தெடுக்கப்பட்டு, கருவித்தொகுப்பு உருவாக்கப்பட்டு, நிதியூட்டப்பட்ட v0.6.8 வாலட் ஒன்று இருந்தால், மாதிரி உறுப்பினர்களில் ஒருவராக வாக்களிக்க நான்கு கட்டளைகள் போதும்:

cd my-guests/allowlist
python3 allowlist.py witness 10 1 demo-secrets.txt 6 1 > witness.txt    # member 6, choice 1
rand-guest build . --max-words 65535      # only needed to run it in the emulator first
rand call ad2f719f12d01c9f3c0962092b9898b75b0914bbb817031d51be13e54c05b970 \
    $(sed 's/[0-9][0-9]*/--input &/g' witness.txt)

அழைப்பதற்கு இமேஜ் தேவையில்லை: rand call நிரலின் குறியீட்டையும் பொதுப் பிரிவையும் நோடிலிருந்து பெற்று, அவற்றின் ஹாஷ் அடையாளத்துடன் பொருந்துகிறதா எனச் சரிபார்த்து, அவற்றின் மீது நிரூபணத்தை உருவாக்குகிறது.

ஒரு முடிவைப் படிக்க வாலட்டும் தேவையில்லை, நோடும் தேவையில்லை. எந்த ரசீதையும் பொது முனையத்துக்கு அனுப்பும் ஒரே கோரிக்கையில் பெறலாம்:

$ curl -s https://rpc.randprotocol.org -H 'content-type: application/json' \
    -d '{"jsonrpc":"2.0","id":1,"method":"rand_getReceipt","params":["8aa13d1f76d28f63a46c30bb09ef44b1ba35083ca80ba7301997f98e5f783666"]}'
{"id":1,"jsonrpc":"2.0","result":{"h_in":"ea71e7701e62d49cac37b239bef132178f481835027d62b34da45fd6cf2667c6","h_pub":"2296cfca8db9d38bd0b7579056c9dea3c8d8005df7b42e2b1e954a75fed67510","height":98335,"index":0,"outputs":[1,2,392974773,873526743,1921224601,3950868247,2248722827,0],"program":"ad2f719f12d01c9f3c0962092b9898b75b0914bbb817031d51be13e54c05b970","tier":12,"tx":"8aa13d1f76d28f63a46c30bb09ef44b1ba35083ca80ba7301997f98e5f783666"}}

ஒரு நிரலின் அழைப்புகளை எக்ஸ்ப்ளோரரின் API ஒரே கோரிக்கையில் தருகிறது: https://randscan.org/api/v1/programs/<program id> என்பது call_count, recent_calls ஆகியவற்றைத் திருப்பி அனுப்புகிறது (எக்ஸ்ப்ளோரர் API).

இவற்றில் எதுவும் செய்யாதவை

Rand-இல் ஒரு நிரல் என்பது ஒரு கணக்கீட்டைப் பற்றிய நிரூபணம்; அதன் வெளியீடுகள் எதன் மீதும் செயின் செயல்படுவதில்லை. இந்த நிரல்களில் எதுவும் RAND-ஐயோ ஒரு டோக்கனையோ நகர்த்துவதில்லை, இருப்பை வைத்திருப்பதில்லை, முந்தைய அழைப்பை நினைவில் கொள்வதுமில்லை. ரசீதுகளைப் படிப்பவர்தான் வாக்குகளை எண்ணுகிறார். பொறுப்புகள் ஒப்பிடப்படும் கையிருப்புகளுக்குத் தனியான சான்று தேவை. லெட்ஜரின் இருப்புகள் ஆஃப்-செயின் மரத்தில் உள்ள எண்கள் மட்டுமே. கடன் முடிவு என்பது ஒரு கடன் வழங்குநர் மதித்து நடக்கத் தேர்ந்தெடுக்கும் ஒரு பிட் மட்டுமே. ஒவ்வொரு பக்கமும் அதன் நிரூபணம் பயன்படுத்துபவர்களிடமே விட்டுவிடுவனவற்றின் பட்டியலுடன் முடிகிறது.

fullnode கமிட் 48dc04b (சங்கிலி 18), மற்றும் circuits `aeacf31` (`guest-sdk/src/lib.rs`, `rand-guest`), the commit fullnode v0.6.7 vendors; `docs/fees.md`, `docs/zkvm.md`, `docs/cli.md` and `crates/randprotocol-client/src/main.rs` at fullnode `48dc04b`; the four deploys and the four calls were made on chain 18 on 2026-09-30, and every receipt was read back from `https://rpc.randprotocol.org` உடன் 2026-09-30 அன்று இறுதியாகச் சரிபார்க்கப்பட்டது. நிரலும் இந்தப் பக்கமும் முரண்படும் இடங்களில் நிரலே சரியானது; எங்களுக்குத் தெரிவியுங்கள்.