Rand Protocol
ஆவணமாக்கல்
வழிகாட்டிகள்

சரிபார்ப்பாளர் மற்றும் திரட்டியை இயக்குதல்

Rand-இல் உள்ள ஒவ்வொரு பங்கிற்குமான வன்பொருள் - சரிபார்ப்பாளர், கண்காணிப்பாளர், நிரூபிப்பாளர், திரட்டி ஆகியவை ஒவ்வொன்றும் செய்யும் பணி, ஒவ்வொன்றுக்கும் தேவையான RAM, CPU மற்றும் வட்டு, testnet இயங்கும் DigitalOcean அளவுகள், அளவிடப்பட்ட நிரூபண-நினைவக வரம்புகள், மற்றும் அமைவுக் கட்டளைகள்.

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

ஒவ்வொரு பங்கும் என்ன செய்கிறது

பங்குஎன்ன செய்கிறதுஇயக்குவதுசான்று உருவாக்குமா?
வேலிடேட்டர்பரிவர்த்தனைகளை வரிசைப்படுத்துகிறது, ஒவ்வொரு தொகுதியிலும் உள்ள ஒவ்வொரு சான்றையும் சரிபார்க்கிறது, HotStuff-இல் வாக்களிக்கிறதுrand-node run --validatorஇல்லை
கண்காணிப்புக் கணுஒத்திசைகிறது, ஒவ்வொரு சான்றையும் மீண்டும் சரிபார்க்கிறது, JSON-RPC சேவை வழங்குகிறது; வாக்கு இல்லைrand-node runஇல்லை
சான்று உருவாக்கி (ஒரு பணப்பை)தன் சொந்தத் தொகுப்புகளுக்கும் அழைப்புகளுக்குமான சான்றுகளை உள்ளூரில் உருவாக்கி, பின்னர் அவற்றைச் சமர்ப்பிக்கிறதுrand send, rand call, rand program deployஆம், ஒவ்வொரு பரிவர்த்தனைக்கும்
ஒப்படைக்கப்பட்ட சான்று உருவாக்கிதன்னுடன் இணைக்கப்பட்ட பணப்பைக்கான தொகுப்புச் சான்றை உருவாக்குகிறது; chain 20-இல் அதற்கு அந்தப் பணப்பையின் பார்வைச் சாவி அனுப்பப்படுகிறது, செலவுச் சாவி ஒருபோதும் அனுப்பப்படுவதில்லைrand-prover run, அல்லது rand-node run --proverஆம், தொகுப்புச் சான்றுகள் மட்டும்
திரட்டிஒரு முத்திரையிடும் தொகுதிக்காக, தொகுப்புச் சான்றுகளின் ஒரு சாளரத்தின் மீது ஒற்றை மீள்சுழல் சான்றை உருவாக்குகிறதுrand-node aggregate --watchஆம், மிகப் பெரிய சான்றுகள்
கட்டமைப்பு வழங்கிrand-node, rand ஆகியவற்றைத் தொகுத்து, இருமக் கோப்புகளைச் சிறிய கணுக்களுக்கு வழங்குகிறதுcargo build --releaseஇல்லை

வேலிடேட்டர்களும் கண்காணிப்புக் கணுக்களும் ஒருபோதும் சான்று உருவாக்குவதில்லை. மறைக்கப்பட்ட பரிமாற்றம் அல்லது அழைப்பு ஒன்றுக்கான சான்றை, அதை அனுப்பும் பணப்பையே உருவாக்குகிறது; அல்லது, தொகுப்புச் சான்றுக்கு மட்டும், அந்தப் பணப்பையுடன் இணைக்கப்பட்ட சான்று உருவாக்கி உருவாக்குகிறது (கணுவை இயக்குதல்). கணுக்குழுவின் வேலிடேட்டர்கள் இன்று எந்தச் சான்றையும் உருவாக்குவதில்லை.

தொகுதித் திரட்டல் கட்டமைக்கப்பட்டுள்ளது, ஆனால் செயலில் இல்லை. அதற்கு genesis-இல் ஒரு aggregation பகுதி தேவை. Chain 20-இல் அது இல்லை: chain 9 முதல் 19 வரை இருந்ததைப் போலவே திரட்டல் அணைக்கப்பட்டுள்ளது; அந்தப் பகுதியைக் கொண்ட genesis-இல் தொடங்க இந்தக் கட்டமைப்பு மறுக்கிறது.

அளவுகள் ஒரே பார்வையில்

பங்குRAMCPUவட்டு
வேலிடேட்டர் அல்லது கண்காணிப்புக் கணு2 GB (தொடக்கக் கணுக்குழு); வேலிடேட்டருக்கு ஒத்திசைக்கப்பட்ட கடிகாரமும் தேவை (கடிகாரம்)1 vCPU (தொடக்கக் கணுக்குழுவின் பெரும்பாலானவை)--prune-history 24h உடன், ஏறத்தாழ ஒரு நாளுக்கான தொகுதிகள்: chain 14-இல் தொகுதி அட்டவணைகள் 3.3–4.4 GB என அளவிடப்பட்டது; 4 GB-க்கு மேல் காலியிடம் வைத்திருங்கள் (வட்டு)
காப்பகக் கணு (முழு வரலாறு)வேலிடேட்டரைப் போலவேவேலிடேட்டரைப் போலவேசங்கிலியுடன் வளர்கிறது: 1.4 s தொகுதிகளில் chain 14-இன் 18-கையொப்ப QC-களுக்கு நாளொன்றுக்கு ஏறத்தாழ 3.6 GB என அளவிடப்பட்டது; chain 18 முதல் 20 வரை அதைவிட அதிகம், அவற்றின் QC-கள் 26 கையொப்பங்கள் வரை கொண்டவை, இது மீண்டும் அளவிடப்படவில்லை; testnet-இன் இரண்டு காப்பகக் கணுக்களும் 250 GiB தொகுதிகளில் இயங்குகின்றன
கட்டமைப்பு வழங்கி8 GB (node E)4 vCPU (node E)மூலக் குறிமுறை மரம், target/, குறைந்தது 20 GB காலியிடம்
சான்று உருவாக்கி, மறைக்கப்பட்ட பரிமாற்றம் (அடுக்கு 14)chain 18-இல் ஒரு பரிமாற்றத்துக்கு உச்சம் 6.1 GB; கட்டணம் செலுத்தும் தொகுப்புடன் கூடிய அழைப்புக்கு 6.1 முதல் 6.6 GB (2026-09-30)ஒரு core; chain 18-இல் இரண்டு சான்றுகள்: அடுக்கு-14 தொகுப்புச் சான்று 102 முதல் 134 s, அடுக்கு-10 அங்கீகாரச் சான்று 7 முதல் 23 s (Apple Silicon மடிக்கணினி, 2026-09-30); chain 14-இல் 4-உள்ளீடு-4-வெளியீடு மறைக்கப்பட்ட-சொத்துத் தொகுப்புக்கு மட்டும் ஏறத்தாழ 100 s; chain 13-இன் 2-உள்ளீடு-2-வெளியீடு தொகுப்புக்கு ஒரு மடிக்கணினியில் 92.2–96.0 s என அளவிடப்பட்டது (உற்பத்தி, 2026-09-19)சிறியது
ஒப்படைக்கப்பட்ட சான்று உருவாக்கிஒரே நேரத்தில் இயக்கும் ஒவ்வொரு சான்றுக்கும் 5.74 GB, கூடுதலாக 1 GiB இடைவெளி; இதைவிடக் குறைவாகக் கிடைத்தால் தொடங்க மறுக்கிறதுஒரு சான்றுக்கு ஒரு coreசிறியது
சான்று உருவாக்கி, அடுக்கு-18 அழைப்பு (ERC-20; v0.5.6 முதல் சங்கிலியில் மறுக்கப்படுகிறது, காண்க சான்றாக்க நினைவகம்)85.0 GB (மொழிபெயர்க்கப்பட்ட transfer) / 85.5 GB (விளக்கப்பட்டது), m-16vcpu-128gb-இல் அளவிடப்பட்டதுஒரு coreசிறியது
சான்று உருவாக்கி, அடுக்கு-20 அழைப்பு (SPL Token; v0.5.6 முதல் சங்கிலியில் மறுக்கப்படுகிறது)இன்னும் சான்று உருவாக்கப்படவில்லை; ஏறத்தாழ 330 GB எனப் புறவெளிக்கணிப்பு, DigitalOcean-இன் மிகப் பெரிய நினைவக டிராப்லெட்டை (m-32vcpu-256gb, 256 GB) விட அதிகம்ஒரு coreசிறியது
திரட்டி, N = 12026-09-28/29 ஓட்டங்களுக்கு முன் குறைந்தது 64 GB என்பதே வரம்பாக இருந்தது; காண்க திரட்டிகள்இன்று CPUவேலிடேட்டரைப் போலவே
திரட்டி, N = 2 / N = 3கட்டுப்பாட்டுத் தொகுப்பு 7-இன் கீழ் 133 GB / 221 GB என அளவிடப்பட்டது (2026-09-28/29)உற்பத்தியில் N ≥ 2-க்கு ஒரு GPU கணுவேலிடேட்டரைப் போலவே

சான்று உருவாக்கி இன்று ஒற்றை இழையில் இயங்குகிறது. 16-vCPU டிராப்லெட் ஒன்று ஒரு core-இன் 99%-இல் இயங்கியது. கூடுதல் core-கள் ஒரு சான்றை வேகமாக்குவதில்லை; அது முடிகிறதா என்பதைக் கூடுதல் RAM தீர்மானிக்கிறது.

வேலிடேட்டர்களும் கண்காணிப்புக் கணுக்களும்

நினைவகமும் CPU-வும்

தொடக்கப் பதினெட்டு வேலிடேட்டர்கள் 2 GB டிராப்லெட்டுகளில் இயங்குகின்றன. ஒரு சான்றைச் சரிபார்ப்பதற்கான செலவு குறைவு:

செயல்பாடுசெலவு
தொகுப்புச் சான்று ஒன்றைச் சரிபார்த்தல், சரிபார்ப்புச் சாவி ஏற்கெனவே ஏற்றப்பட்ட நிலையில்ஏறத்தாழ 16 ms
புதிய வடிவத்தில் முதல் சரிபார்ப்புஏறத்தாழ 230 ms
பயன்படுத்தப்பட்ட நிரல் ஒன்றின் சரிபார்ப்புச் சாவியைக் கட்டமைத்தல் (ஒருமுறை, பின்னணியில்)2-vCPU சேவையகத்தில் ஏறத்தாழ 7 s
ஒரு திரட்டுச் சான்றைச் சரிபார்த்தல் (திரட்டல் செயலில் இருக்கும்போது)முதல் முறை ஏறத்தாழ 0.8 s, ஏற்றப்பட்ட நிலையில் ஏறத்தாழ 16 ms (வடிவமைப்பு எண்கள்)

அடுக்கு-18 அல்லது அடுக்கு-20 அழைப்புச் சான்று ஒன்றைச் சரிபார்க்க ஒரு வேலிடேட்டருக்குத் தேவையான நினைவகம் இப்போது பகுதியளவு அளவிடப்பட்டுள்ளது; ஒவ்வொரு சான்றையும் உருவாக்கிய DigitalOcean டிராப்லெட்டைச் சாராமல், 48 GB Apple-silicon மடிக்கணினியில் அளவிடப்பட்டது: அடுக்கு-18 transfer சான்றைச் சரிபார்க்க 50.2 s, உச்ச RSS 3.66 GB (மொழிபெயர்க்கப்பட்டது) அல்லது 49.6 s (விளக்கி, RSS தனியாகப் பதிவு செய்யப்படவில்லை) ஆனது; அடுக்கு-16 approve சான்றைச் சரிபார்க்க 12.2 s ஆனது (RSS தனியாகப் பதிவு செய்யப்படவில்லை). அடுக்கு 20 அளவிடப்படவில்லை — சரிபார்ப்பதற்கு அடுக்கு-20 சான்று எதுவும் இன்னும் இல்லை. v0.5.6 முதல் ஒரு வேலிடேட்டர் அவ்வளவு பெரிய சாவியை ஒருபோதும் கட்டமைப்பதில்லை: எந்தச் சரிபார்ப்புச் சாவியும் கட்டமைக்கப்படுவதற்கு முன்பே அழைப்புச் சான்றின் தலைப்பு சோதிக்கப்படுகிறது; அடுக்கு 14-க்கு மேற்பட்ட அழைப்பு (அல்லது 2^12-க்கு மேற்பட்ட keccak அட்டவணை அல்லது 2^13-க்கு மேற்பட்ட sha256 அட்டவணை கொண்ட அழைப்பு) சேர்க்கையின்போதும் தொகுதிச் செல்லுபடி விதியாகவும் மறுக்கப்படுகிறது. ஏற்கத்தக்க மிக மோசமான அழைப்புத் தலைப்பைச் சரிபார்க்க 4.7 s, 312 MB என அளவிடப்பட்டது.

1-vCPU, 2 GB டிராப்லெட் ஒன்றால் இருமக் கோப்புகளைக் கட்டமைக்க முடியாது. பெரிய இயந்திரம் ஒன்றில் கட்டமைத்து அவற்றை நகலெடுங்கள் (காண்க அமைப்பு).

வட்டு

அளவீடுமதிப்புமூலம்
v0.5.5-க்கு முன், செயலற்ற chain-14 தொகுதி ஒன்றுblocks-இல் ஏறத்தாழ 60 KB, கூடுதலாக qcs-இல் ஏறத்தாழ 49 KB: 18-கையொப்ப Dilithium2 QC இருமுறை சேமிக்கப்பட்டது, 1.4 s தொகுதிகளில் நாளொன்றுக்கு ஏறத்தாழ 6.6 GB2026-09-24 வட்டுச் சம்பவம், AGENTS.md
v0.5.5 முதல் அதே தொகுதிஏறத்தாழ 60 KB: உறுதிசெய்யப்பட்ட தொகுதியின் QC ஒருமுறை மட்டும், அதன் சேய்த் தொகுதியின் justify-இல் சேமிக்கப்படுகிறது; 1.4 s தொகுதிகளில் நாளொன்றுக்கு ஏறத்தாழ 3.6 GBdocs/deploy.md, v0.5.5-க்கான வெளியீட்டுக் குறிப்பு
RocksDB முன்பதிவுப் பதிவேடு (write-ahead log)2026-09-24 திருத்தம் முதல் 256 MB-இல் வரம்பிடப்பட்டது; அதற்கு முன், ஒரு வேலிடேட்டருக்கு 13 GB அகற்றப்படாத பதிவேடுAGENTS.md
--prune-history 24h காலியாக்கிய பின் chain-14 வேலிடேட்டர் ஒன்று (2026-09-25)தொகுதி அட்டவணைகள் 19 GB-இலிருந்து 3.3–4.4 GB; வட்டுகள் 18–37% பயன்பாட்டில்AGENTS.md, v0.5.7
node A-இன் தரவுக் கோப்பகம், chain 12, உயரம் 62,276ஏறத்தாழ 10 GBdeploy/README.md, v0.3 வெளியீடு
நிரம்பிய தொகுதிகளை இயக்கும் சங்கிலிஒவ்வொரு 2 s-க்கும் 4 MiB, நாளொன்றுக்கு ஏறத்தாழ 170 GB (chain 12 வரையிலான சங்கிலிகளின் தொகுதி வரம்பு; chain 20-இன் வரம்பு 20 MiB)docs/block-space.md
கட்டமைப்புகளுக்காகக் கணுக்குழு வைத்திருக்கும் காலியிடம்குறைந்தது 20 GBdocs/block-space.md
மூன்று சங்கிலிகளின் தரவுக் கோப்பகங்களைக் கொண்ட 30 GB வட்டுநிரம்பியது; RocksDB No space left on device, தொடர் செயலிழப்புmkc1, mem1, deploy/README.md

Chain 19-இல் போலவே chain 20-இலும், 26 வேலிடேட்டர்களில் 24 --prune-history 24h உடன் இயங்கி ஏறத்தாழ ஒரு நாளுக்கான தொகுதிகளை வைத்திருக்கின்றன; பேரேடு (குறிப்புகள், nullifier-கள், நங்கூரங்கள், பதிவகம்) ஒருபோதும் கத்தரிக்கப்படுவதில்லை. காப்பகக் கணுக்களான obs1, rand-archive-2 (இரண்டும் வேலிடேட்டர்களும் கூட) இந்தக் கொடி இல்லாமல் இயங்குகின்றன. Mainnet கணு ஒன்று இதை ஒருபோதும் பயன்படுத்துவதில்லை. தன் தரவுக் கோப்பகத்தின் கோப்பு முறைமையில் --min-free-disk-mb (இயல்பாக 1,024 MB) அளவைவிடக் குறைவான காலியிடம் இருந்தால் கணு தொடங்க மறுக்கிறது; அதன் நான்கு மடங்குக்குக் கீழே rand_getHealth disk_low என்று பதிலளிக்கிறது; ok-க்காகக் காத்திருக்கும் வெளியீட்டுச் சுற்று, நிரம்பிக்கொண்டிருக்கும் கணுவில் நின்றுவிடுகிறது. கத்தரிக்கப்பட்ட கணு இன்னும் எவற்றுக்குப் பதிலளிக்கிறது என்பதற்கு வரலாற்றுக் கத்தரிப்பு பார்க்கவும்.

மூடப்பட்ட ஒரு சங்கிலியின் தரவு அடைவை மாற்றத்துக்குப் பிறகு நீக்குங்கள். தரவு அடைவுகள் genesis hash-ஐ அடிப்படையாகக் கொண்டு பெயரிடப்படுகின்றன (data-<name>-<hash8>: சங்கிலி 20-க்கு -6210cf07, சங்கிலி 19-க்கு -a3defc93; ஆறு பாதுகாவலர் ஹோஸ்ட்கள் /var/lib/randnode/data-20-ஐப் பயன்படுத்துகின்றன). எனவே பழைய அடைவுகள் நீங்கள் நீக்கும் வரை அப்படியே இருக்கும். சங்கிலி 20 மாற்றத்தின்போது ஒரு பிராந்திய சரிபார்ப்பாளர் (syd1) 3.9 GB காலியிடத்துடன் disk_low நிலையில் தொடங்கியது. அதனால் தொடக்கம் 26-இல் 25 என்ற நிலையில் நின்றது. காரணம், சங்கிலிகள் 14 முதல் 17 வரையிலான அடைவுகள் அதில் இன்னும் இருந்தன. அவற்றை நீக்கியதும் 22 GB விடுபட்டது. பின்வாங்கல் இலக்காக முந்தைய சங்கிலியின் அடைவை ஒரு நாள் வைத்திருந்து, பிறகு நீக்குங்கள். முழுத் தொகுதிகளில், சங்கிலி 14 முதல் ஒவ்வொரு மூலத் தொகுப்பு நிரூபணமும் சுமார் 1.42 MB ஆகும் (சங்கிலி 13 வரை சுமார் 1.3 MB). சங்கிலி 17 முதல் ஒவ்வொரு தொகுப்பும் ஓர் அங்கீகார நிரூபணத்தையும் கொண்டுள்ளது. எனவே ஒரு பரிமாற்றம் சுமார் 2.85 MB நிரூபணங்கள் ஆகும்: தொகுப்பு நிரூபணத்துக்குச் சுமார் 1.49 MB, அங்கீகார நிரூபணத்துக்குச் சுமார் 1.36 MB (உற்பத்தி சுயவிவரம், 2026-09-29 அன்று அளவிடப்பட்டது). திரட்டல் செயல்பாட்டுக்கு வந்ததும், முத்திரையிடப்பட்ட தொகுப்பின் நிரூபணத்தை அது சுமார் 3 KB-க்குக் குறைக்கிறது. கணு --keep-raw-proofs உடன் இயங்கினால் இந்தக் குறைப்பு நடக்காது. அங்கீகார நிரூபணத்துக்குத் திரட்டல் பொருந்தாது; அது முழு அளவிலேயே இருக்கும்.

வலையமைப்பு

பொதுக் கணுவில் உள்வரும் TCP 30303-ஐத் திறந்து வையுங்கள். NAT-க்குப் பின்னால் உள்ள கணுக்கள் --bootstrap மூலம் வெளிநோக்கி இணைகின்றன. முழு 4 MiB தொகுதிகளில் ஒரு சரிபார்ப்பாளர் இணைப்பு சுமார் 2 MB/s தரவைக் கடத்துகிறது.

கடிகாரம்

சரிபார்ப்பாளருக்கு NTP தேவை. சுவர்க்கடிகார நேரம் ஒருமித்த கருத்தின் பகுதியாகும் முதல் சங்கிலி சங்கிலி 14 ஆகும் (பாலம் வலுப்படுத்தல் B2):

விதிவரம்புவகை
ஒரு தொகுதியின் நேரமுத்திரை அதன் பெற்றோர் தொகுதியின் நேரமுத்திரையை விட இதற்கு மேல் முன்னால் இருக்கக் கூடாது60 s (MAX_TIMESTAMP_STEP_MS)செல்லுபடி விதி; அந்தத் தொகுதி செல்லாது (BlockError::TimestampLeap)
தனது கடிகாரத்தை விட இதற்கு மேல் முன்னால் உள்ள நேரமுத்திரை கொண்ட தொகுதிக்குச் சரிபார்ப்பாளர் வாக்களிப்பதில்லை15 s (MAX_CLOCK_DRIFT_MS)வாக்கு விதி

கடிகாரம் 20 s பின்தங்கியுள்ள சரிபார்ப்பாளர் எந்த அறிவிப்பும் இன்றி வாக்களிப்பதை நிறுத்திவிடும். நேர்மையான ஒவ்வொரு தொகுதியும் தனது கடிகாரத்தை விட முன்னால் இருப்பதாக அது காண்பதால் வாக்கை நிறுத்தி வைக்கிறது. ஆனால் எதுவும் தோல்வியடைவதில்லை. சங்கிலி 20-இல் எதையும் உறுதிசெய்ய இருபத்தாறில் பதினெட்டு சரிபார்ப்பாளர்கள் வாக்களிக்க வேண்டும். ஒவ்வொரு சரிபார்ப்பாளரையும் சரிபாருங்கள். கடிகாரம் ஒத்திசைக்கப்படாத இடங்களில் chrony-ஐ நிறுவுங்கள்:

timedatectl                     # want "System clock synchronized: yes" and "NTP service: active"
chronyc tracking 2>/dev/null || timedatectl show-timesync --all 2>/dev/null
apt-get install -y chrony && systemctl enable --now chrony

இதே 15 s வரம்பு genesis-க்கும் பொருந்தும். timestamp_ms-ஐத் தொடக்க நேரத்துக்கு அருகில் அமையுங்கள்; அதற்கு முன்னால் ஒருபோதும் அமைக்காதீர்கள். 15 s-க்கு மேல் எதிர்காலத்தில் உள்ள genesis, சுவர் நேரம் அதை அடையும் வரை தொகுதி 1-ஐ உறுதிசெய்யாது. வெகு கடந்த காலத்தில் உள்ள genesis, தொகுதி நேரத்தைச் சுவர்க்கடிகாரத்துக்குப் பின்னால் விட்டுவிடும். அது ஒரு தொகுதிக்கு 60 s-க்கு மிகாமல் மட்டுமே ஈடுசெய்யும் (docs/deploy.md). பார்வையாளர் கணு வாக்களிப்பதில்லை; எனவே வாக்கு விதி அதற்குப் பொருந்தாது.

testnet இயங்கும் DigitalOcean அளவுகள்

அளவுRAM, vCPU, வட்டுகணுக்கள்குறிப்புகள்
s-1vcpu-2gb2 GB, 1பெரும்பாலான பிராந்தியச் சரிபார்ப்பாளர்கள் (ams3, nyc1, nyc2, sfo2 உட்பட)இவற்றில் build செய்ய இயலாது; இருமக் கோப்புகள் நகலெடுத்து வைக்கப்படுகின்றன
s-1vcpu-2gb-amd2 GB, 1atl1மேலே உள்ளது போலவே
s-2vcpu-2gb-intel2 GB, 2D (ric1)
s5-1vcpu-2gb-30gb2 GB, 1, 30 GBmkc1, mem1 (அங்கு கிடைக்கும் ஒரே சிறிய அளவு)சங்கிலி 13 மாற்றத்தின்போது வட்டுகள் நிரம்பியிருந்தன (29 GB); செயலிழந்த சங்கிலி 11 தரவு அடைவுகளை நீக்கிய பின் 7 GB காலியானது; அளவை அதிகரிக்க வேண்டும்
4 vCPU, 8 GB8 GB, 4E (sgp1)சரிபார்ப்பாளர், build ஹோஸ்ட் மற்றும் தேடுபொறி (explorer)

இந்த அட்டவணை தொடக்கத்தில் இருந்த பதினெட்டு சரிபார்ப்பாளர்களை மட்டுமே உள்ளடக்குகிறது. 2026-09-27 முதல் சரிபார்ப்பாளர் A-வும் மடிக்கணினியில் அல்லாமல் ஒரு droplet-இல் (sgp1) இயங்குகிறது. சங்கிலி 15-இல் (2026-09-27) மேலும் எட்டு சரிபார்ப்பாளர்கள் பிணைக்கப்பட்டன: இரண்டு காப்பகக் கணுக்கள் (obs1 மற்றும் rand-archive-2 (fra1)), ஆறு பாதுகாவலர் ஹோஸ்ட்கள். இவற்றின் droplet அளவுகள் இங்கு பதிவு செய்யப்படவில்லை. mkc1, mem1 ஆகியவற்றின் அளவு அதிகரிக்கப்பட்டதா என்பதும் பதிவில் இல்லை. சங்கிலி 19-இல் போலவே சங்கிலி 20-இலும் 26 சரிபார்ப்பாளர்களும் genesis சரிபார்ப்பாளர்கள்; ஒவ்வொன்றுக்கும் 1,000 RAND பிணைக்கப்பட்டுள்ளது. 2026-09-30 நிலவரப்படி 26 சாவிகளும் ஒரே இயக்குநரிடம் உள்ளன.

நிரூபிப்பதற்கான நினைவகம்

பணப்பை தான் அனுப்பும் ஒவ்வொரு பரிவர்த்தனையையும் தானே நிரூபிக்கிறது. எனவே ஒரு நிரலை அழைப்பவருக்கு அந்த நிரலின் அடுக்குக்கு உரிய நினைவகம் தேவை. கீழே உள்ளவை அளவிடப்பட்ட வரம்புகள். அடுக்கு 18 ஓட்டங்கள் DigitalOcean-இல் முடிந்து, நிரூபிக்கப்பட்டு, சரிபார்க்கப்பட்டுவிட்டன; அடுக்கு 20 இன்னும் இல்லை. v0.5.6 முதல் அடுக்கு 14-க்கு மேற்பட்ட அழைப்பு நிரூபணத்தைச் சங்கிலி ஏற்க மறுக்கிறது (MAX_CALL_TIER). எனவே கீழே உள்ள அடுக்கு 16, 18, 20 வரிசைகள் அளவீடுகள் மட்டுமே; சங்கிலி 20 ஏற்கும் அழைப்புகள் அல்ல. சங்கிலி 14-இல் உறுதிசெய்யப்பட்ட அழைப்புகள் அனைத்தும் அடுக்கு 10 ஆகும்.

பணிச்சுமைஅடுக்குசுழற்சிகள்அளவிடப்பட்டதுதேவை
shielded பரிமாற்றம் (bundle விருந்தினர் நிரல்)14சங்கிலி 13-இல் சுமார் 9,160 (2-உள்ளீடு-2-வெளியீடு விருந்தினர் நிரல்)Apple Silicon மடிக்கணினியில் 92.2–96.0 s (உற்பத்தி, சங்கிலி 13, 2026-09-19); உச்ச நினைவகம் பதிவு செய்யப்படவில்லை. சங்கிலி 14-இன் 4-உள்ளீடு-4-வெளியீடு மறைக்கப்பட்ட-சொத்து விருந்தினர் நிரலும் இதே அடுக்கில் நிலைநிறுத்தப்பட்டுள்ளது: சுமார் 100 s, சுமார் 1.42 MB நிரூபணம். சங்கிலி 20-இல் ஒரு பரிமாற்றம் இரண்டு நிரூபணங்கள் ஆகும் (சங்கிலி 17 முதல் பிரிக்கப்பட்ட அங்கீகாரம்): அடுக்கு 14 தொகுப்பு நிரூபணம், 102 முதல் 134 s, சுமார் 1.49 MB; அடுக்கு 10 அங்கீகார நிரூபணம், 7 முதல் 23 s, சுமார் 1.36 MB. ஒரு முழுப் பரிவர்த்தனைக்கான உச்ச நினைவகம் 6.1 முதல் 6.6 GB (Apple Silicon மடிக்கணினி, சங்கிலி 18, 2026-09-30)மேம்பாட்டு மடிக்கணினியிலேயே இயங்குகிறது
ERC-20 approve (உற்பத்தி, சங்கிலி 13-இல், 2026-09-19)1648,119அழைப்பு நிரூபணம் 388.7 s, 3,412,405 பைட்டுகள்; 48 GB M-series மடிக்கணினியில் முழு rand call 622.8 s, உச்ச RSS 22.9 GB48 GB மடிக்கணினி
ERC-20 அழைப்புகள்18சுமார் 66k முதல் 162kமுதல் கட்ட transfer (79,203 சுழற்சிகள், குறியீட்டுக் காப்புக்கு முன்) 48 GB மடிக்கணினியில் 1,016 s-க்குப் பிறகு 24.7 GB-இல் SIGKILL செய்யப்பட்டது; 64 GB droplet ஓட்டம் 25 நிமிடங்களில் 47 GB-ஐத் தாண்டியிருந்ததுஉச்ச RSS 85.0 GB (மொழிபெயர்க்கப்பட்டது) / 85.5 GB (விளக்கப்பட்டது), நிரூபண நேரம் 3,230.5 s / 3,143.3 s, நிரூபணங்கள் 811,600 / 805,108 பைட்டுகள். m-16vcpu-128gb-இல் அளவிடப்பட்டது, 2026-09-19
SPL Token திசையன்கள்20சுமார் 700k முதல் 770kமொழிபெயர்க்கப்பட்ட Transfer (692,854 சுழற்சிகள், ELF காப்புக்கு முன்) 48 GB மடிக்கணினியில் 225 s-க்குப் பிறகு, நிரூபித்துக்கொண்டிருந்த நிலையிலேயே, 30.77 GB-இல் நிறுத்தப்பட்டது; அடுக்கு 20 ஓட்டம் ஒன்று 64 GB droplet-இல் 10 m 41 s-க்குப் பிறகு 65.1 GB-இல் OOM காரணமாக நிறுத்தப்பட்டதுஇன்னும் நிரூபிக்கப்படவில்லை; ஊகிக்கப்பட்ட மதிப்பு சுமார் 330 GB, சுமார் 3.6 h (அளவிடப்பட்ட அடுக்கு 16/18 அளவீட்டு விகிதம்: ஒவ்வொரு +2 அடுக்குக்கும் நினைவகம் சுமார் ×3.9, நேரம் சுமார் ×4.1). இது DigitalOcean-இன் மிகப்பெரிய நினைவக droplet-ஐ (m-32vcpu-256gb, 256 GB) விட அதிகம்
rVM அடுக்கு 21 உற்பத்தி வெளியேற்ற நிரூபணம் (சுழல்நிலை VM-க்குள் சரிபார்க்கப்பட்ட ஒரு தொகுப்பு நிரூபணம்)211,968,619 வரிசைகள்இயக்கும் முன் கணக்கிட்ட தேவை 48.6 GB; கட்டுப்பாட்டுத் தொகுப்பு 7-இன் கீழ் 256 GB droplet-இல் இருந்ததை விட அதிகம் தேவைப்பட்டது (2026-09-28/29)256 GB-க்கு மேல்; கட்டுப்பாட்டுத் தொகுப்பு 8-இன் கீழ் மீண்டும் அளவிடப்படவில்லை

ERC-20 அழைப்புகள் அடுக்குகள் 16, 18-இலும் SPL Token அடுக்கு 20-இலும் அமைகின்றன (Ethereum, Solana). அடுக்கு 18 அல்லது 20-இல் எந்த நிரூபணமும் 48 GB கணினியில் உருவாக்கப்படவில்லை.

திரட்டிகள்

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

genesis-இல் aggregation பிரிவு உள்ள சங்கிலியில் மட்டுமே திரட்டல் உள்ளது. சங்கிலி 20-இல் அந்தப் பிரிவு இல்லை. அதன் build, அப்பிரிவு உள்ள genesis-இல் தொடங்க மறுக்கிறது.

வன்பொருள்

திரட்டுஹோஸ்ட் RAMபின்தளம்
N = 1 தொகுப்புகுறைந்தது 64 GBCPU; சுமையேற்றப்பட்ட மடிக்கணினியில் சோதனை சுயவிவரம் ஒன்றைச் சுமார் 26 நிமிடங்களில் நிரூபித்தது (327,035 பைட்டுகள்)
N = 2அளவிடப்பட்டது 133 GB; முந்தைய வரம்பு குறைந்தது 128 GBஉற்பத்திக்கு GPU பின்தளம்
N = 3அளவிடப்பட்டது 221 GB; முந்தைய வரம்பு குறைந்தது 160 GBஉற்பத்திக்கு GPU பின்தளம்
தொகுப்பின் GPU கணுஹோஸ்ட் குறைந்தது 160 GB, 80 GB சாதனம் (H100 அல்லது A100-80G)Linux, R580+ இயக்கி, CUDA 13, LLVM 21, sm_80+; இதுவரை எதுவும் இல்லை

N = 2, N = 3 மதிப்புகள் 2026-09-28/29 அன்று கட்டுப்பாட்டுத் தொகுப்பு 7-இன் கீழ் 256 GB DigitalOcean droplet-இல் அளவிடப்பட்டன. உற்பத்தி வெளியேற்ற நிரூபணத்துக்கு அந்தக் கணினியின் 256 GB-க்கு மேல் தேவைப்பட்டது. சங்கிலிகள் 18 முதல் 20 வரை இயங்கும் கட்டுப்பாட்டுத் தொகுப்பு 8-இன் கீழ் இவற்றில் எதுவும் மீண்டும் அளவிடப்படவில்லை. எனவே N = 1 வரிசையைக் கீழ் வரம்பாகக் கொள்ளுங்கள். CUDA பின்தளம் முதன்முதலில் 2026-09-28 அன்று ஒரு NVIDIA H100-இல் உண்மையான வன்பொருளில் இயங்கியது. அதன் கெர்னல்கள் sm_80, sm_90 ஆகியவற்றுக்கு PTX-ஆக build ஆகின்றன; CPU குறிப்பு முடிவுகளுடன் ஒத்துப்போகின்றன. தொகுப்பின் GPU கணுவில் உற்பத்தி அளவீடு இன்னும் செய்யப்படவில்லை. ஒவ்வொரு கணுவும் திரட்டு நிரலுக்காக ஒருமுறை தொடக்கச் சாவி-உருவாக்கச் செலவையும் ஏற்கிறது: சோதனை சுயவிவரத்தில் (2¹⁹) 13.0 முதல் 13.4 s, உற்பத்தியில் (2²¹) எதிர்பார்க்கப்படுவது 30 முதல் 70 s.

கட்டளைகள்

# print a signed registration; the bond burns out of a wallet bundle as the register bundle's burn
rand-node aggregator register --key agg.key.json --bond <RAND> --payout rand1… --rpc http://127.0.0.1:8545

# the daemon: poll rand_getUnsealed, fetch the raw bundles, prove, seal the payment note, submit
rand-node aggregate --key agg.key.json --rpc http://127.0.0.1:8545 --watch

# leave, then withdraw the released bond into a note at the payout address
rand-node aggregator unbond --key agg.key.json --rpc http://127.0.0.1:8545
rand-node aggregator withdraw --key agg.key.json --rpc http://127.0.0.1:8545
aggregate கொடிஇயல்புநிலைபொருள்
--keyகட்டாயம்பதிவேட்டுக்குத் தெரிந்த திரட்டி (aggregator) சாவி; ஒவ்வொரு திரட்டலிலும் கையொப்பமிடுகிறது
--rpchttp://127.0.0.1:8545வினவவும் சமர்ப்பிக்கவும் வேண்டிய கணு
--watchமுடக்கம்ஒருமுறை சமர்ப்பிப்பதற்குப் பதிலாகத் தொடர்ந்து வினவுகிறது
--interval-secs15--watch உடன் வினவல் இடைவெளி
--no-waitமுடக்கம்கணு திரட்டலை ஏற்றவுடன் திரும்புகிறது

அத்தகைய சங்கிலியில் rand status ஒரு aggregation பகுதியைக் காட்டுகிறது: பதிவுசெய்யப்பட்ட திரட்டிகள், முத்திரையிடப்படாத தொகுதிகள், மானிய அட்டவணைக் குறியெண். rand_getUnsealed என்பதே பணிப் பட்டியல்.

அமைப்பு

இந்தப் படிகள் testnet பயன்படுத்தும் ஸ்கிரிப்டுகளைப் (deploy/vps-setup.sh, deploy/update-droplet.sh) பின்பற்றுகின்றன. இவை ஒரு Linux சரிபார்ப்பாளர் (validator) கணுவையோ கண்காணிப்புக் கணுவையோ உருவாக்குகின்றன.

1. கட்டமைப்புக் கணினியில் கட்டமைத்தல்

கட்டமைப்புக்கு build-essential clang cmake pkg-config libssl-dev, Rust 1.98.1 (rust-toolchain.toml நிலைநிறுத்துகிறது), fullnode நகலுக்கு அருகில் circuits நகல் ஒன்று ஆகியவை தேவை. முதல் கட்டமைப்புக்கு 10 முதல் 20 நிமிடங்கள் ஆகும்.

git clone https://github.com/randprotocol/fullnode
git clone https://github.com/randprotocol/zkp-circuits circuits
cd fullnode
git checkout v0.6.8                       # c9c9bd3c, the build chain 20 runs
git -C ../circuits checkout "$(sed -n 's/^circuits: //p' crates/randprotocol-zkvm/guests-compiled/PROVENANCE.md)"   # aeacf31 for v0.6.8
git show origin/main:deploy/genesis-chain20.json > deploy/genesis-chain20.json   # committed after the tag
cargo build --release -p randprotocol-node -p randprotocol-client
sha256sum target/release/rand-node         # compare on every node you copy it to

init-க்கு முன் ஒவ்வொரு கணுவிலும் சங்கிலி 20-க்கு v0.6.8 தேவை. அதன் genesis, முந்தைய எந்தக் கட்டமைப்பும் படிக்காத புலங்களைக் கொண்டுள்ளது (testnet, binding_domain, proof_window_blocks, program_state, பாலத்தின் rotation, fees குழுக்கள், gas உச்சவரம்புகள், வாக்கெடுப்பு மூலம் ஸ்டேக்கிங் அனுமதி). v0.6.8, தணிக்கை v6-இன் CON-4, CH-1 ஒருமித்த (consensus) மாற்றங்களையும் கொண்டுள்ளது. சங்கிலிகள் 18, 19 போலவே நிரூபணங்கள் இன்னும் கட்டுப்பாட்டுத் தொகுப்பு 8-இன் கீழ் உருவாக்கப்படுகின்றன; ஒவ்வொரு தொகுப்பு நிரூபணத்துடனும் ஓர் அங்கீகார நிரூபணம் (hc_auth) இருக்கும். v0.6.8 கட்டமைப்பு, சங்கிலிகள் 14 முதல் 17 வரையிலான genesis-ஐ run, verify நிலைகளில் மறுக்கிறது. கணுத்தொகுதி இயக்கும் அதே கட்டமைப்பையே இயக்குங்கள். genesis கோப்பு fullnode-இன் main-இல் (commit 74cfaca0) உள்ளது, v0.6.8 tag-இல் இல்லை; அதனால்தான் மூன்றாவது git வரி. வெளியீடு எந்த commit-இலிருந்து vendor செய்யப்பட்டதோ அதே commit-இல் circuits நகல் இருக்க வேண்டும்; மேலே உள்ள இரண்டாவது git வரி அதை fullnode மரத்திலிருந்து படிக்கிறது. rand-prover-ஐயும் கட்டமைக்க -p randprotocol-prover சேர்க்கவும்.

2. கணுவில் இருமக் கோப்புகளை நிறுவுதல்

scp target/release/rand-node target/release/rand deploy/genesis-chain20.json root@<node>:/root/
ssh root@<node> 'install -m 755 /root/rand-node /root/rand /usr/local/bin/'

3. சாவி, genesis, தீச்சுவர்

கணுவில்:

install -d -m 700 /root/keys
test -e /root/keys/node.key.json || rand-node keygen --out /root/keys/node.key.json   # prints the address; keep the seed secret
rand-node init --datadir /root/data-6210cf07 --genesis /root/genesis-chain20.json
timedatectl                                        # "System clock synchronized: yes" (see Clock)
ufw allow 22/tcp && ufw allow 30303/tcp && ufw enable

மேலே உள்ளபடி சாவியைக் கணுவிலேயே உருவாக்கி, எந்த நகலுக்கும் வெளியே வைத்திருங்கள். fullnode களஞ்சியத்தில் இப்போது எந்தச் சாவியும் கண்காணிக்கப்படுவதில்லை (தணிக்கை v3, OPS-1). சங்கிலிகள் 8 முதல் 13 வரைக்குக் commit செய்யப்பட்ட deploy/node-*.key.json கோப்புகள் பொதுவில் வெளியிடப்பட்ட விதைகள். சங்கிலி 20-இன் சரிபார்ப்பாளர் சாவிகள் (சங்கிலி 14-க்கு உருவாக்கப்பட்ட பதினெட்டு, சங்கிலி 15-இல் பிணையம் வைக்கப்பட்ட எட்டு) களஞ்சியத்துக்கு வெளியே உருவாக்கப்பட்டன. கணுத்தொகுதி ஒவ்வொரு droplet-இன் சாவியையும் மூல மரத்துக்கு வெளியே /root/keys/node-<name>.key.json-இல் வைத்திருக்கிறது. கணுத்தொகுதியின் ஸ்கிரிப்டுகளால் அமைக்கப்பட்ட கணுவில் இந்த இடம் முக்கியம்: deploy/rebuild-vps.sh, deploy/push-to-vps.sh இரண்டும் /root/fullnode-ஐ --delete உடன் rsync செய்கின்றன; எனவே அந்த மரத்துக்குள் வைக்கப்பட்ட சாவி அடுத்த மறுகட்டமைப்பில் நீக்கப்பட்டு, பின்னர் unit மறுதொடக்கம் தோல்வியடையும். v0.6.8 முதல், keygen ஏற்கெனவே உள்ள கோப்பை மேலெழுத மறுக்கிறது (v0.6.7 கேட்காமலேயே மேலெழுதியது); எப்படியிருந்தாலும் test -e அந்த வரியை மீண்டும் இயக்குவதைப் பாதுகாப்பானதாக வைக்கிறது. சாவிக்குப் பிணையம் வைப்பதற்கு முன் அதன் காப்புநகலைக் கணினிக்கு வெளியே எடுத்து வையுங்கள்.

init genesis hash-ஐ அச்சிடுகிறது. அது 6210cf071a390d7ac61d8cbea5dd9d139d1a493a862b54a45a498f36af2d5135 (சங்கிலி 20) என இருக்க வேண்டும். genesis கோப்பு fullnode களஞ்சியத்தின் main-இல் deploy/-இல் உள்ள genesis-chain20.json. கணுத்தொகுதி செய்வதுபோல் தரவுக் கோப்பகத்துக்கு hash-இன் முதல் எட்டு எழுத்துகளைக் கொண்டு பெயரிடுங்கள் (data-<name>-6210cf07); அப்போது அது சங்கிலி 19-இன் (-a3defc93) அல்லது பிந்தைய சங்கிலியின் கோப்பகத்துடன் ஒருபோதும் மோதாது. genesis இந்த வரம்புகளை அமைக்கிறது. நிரூபண உச்சவரம்பு சங்கிலிகள் 13 முதல் 16 வரை 8 MiB ஆக இருந்தது; ஒரு பரிவர்த்தனை மூன்று நிரூபணங்கள் வரை கொண்டுசெல்லத் தொடங்கிய சங்கிலி 17 முதல் அது 4 MiB:

வரம்புசங்கிலி 20
max_program_words65,535
max_proof_bytes4,194,304 (4 MiB)
max_block_bytes20,971,520 (20 MiB)
max_call_envelope_bytes65,536
max_program_public_words32,768
envelope_bytes1,860 (ஒவ்வொரு குறிப்பு (note) உறையும், அதன் மறையாக்கப்பட்ட memo புலத்துடன்)
proof_window_blocks1,024 (சங்கிலி 19-இல் 256)
program_stateசெல் கட்டணம் 0.1 RAND (10,000,000 அலகுகள்); ஓர் அழைப்புக்கு அதிகபட்சம் 8 வாசிப்புகள், 8 எழுதுதல்கள், 4 கொடுப்பனவுகள்
aggregation பகுதிஇல்லை (திரட்டல் முடக்கம்)

சங்கிலி 20-இன் genesis, consensus_domain: 1, binding_domain: 1, testnet: true, வாக்கெடுப்பு மூலம் அனுமதியுடன் கூடிய staking பகுதி, விலை உச்சவரம்புகளுடன் கூடிய gas பகுதி, பாலத்தின் rotation, fees குழுக்கள், hardening_v6, hc_bundle, hc_auth ஆகிய இரண்டு guest பிணைப்புகள் ஆகியவற்றையும் கொண்டுள்ளது; அவை எதை அமைக்கின்றன என்பதை ஒரு கணுவை இயக்குதல் பட்டியலிடுகிறது.

4. ஒரு systemd unit

மேலே உள்ள பாதைகளுடன், deploy/vps-setup.sh எழுதும் unit இது:

[Unit]
Description=RAND full node
After=network-online.target
[Service]
Environment=RUST_LOG=info,libp2p=warn,libp2p_mdns=off
ExecStart=/usr/local/bin/rand-node run --datadir /root/data-6210cf07 --key /root/keys/node.key.json --validator --listen /ip4/0.0.0.0/tcp/30303 --rpc 127.0.0.1:8545 --no-mdns --prune-history 24h --bootstrap <multiaddr> --bootstrap <multiaddr>
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target

கண்காணிப்புக் கணுவுக்கு --validator-ஐ நீக்குங்கள். காப்பகக் கணுக்கள் தவிர testnet-இன் சரிபார்ப்பாளர்கள் --prune-history 24h உடன் இயங்குகின்றன; முழு வரலாற்றையும் வைத்திருக்கும் கணுவுக்கு அதை நீக்குங்கள், mainnet-இல் அதை ஒருபோதும் கொடுக்காதீர்கள். சங்கிலி 20-க்கான bootstrap multiaddr-கள் C (fra1), D (ric1), E (sgp1) கணுக்கள்; சங்கிலி 19-இலிருந்து மாற்றமில்லை. சங்கிலி 20, சங்கிலி 14-க்கு உருவாக்கப்பட்ட சரிபார்ப்பாளர் சாவிகளில் இயங்குகிறது; p2p அடையாளம் சரிபார்ப்பாளர் சாவியிலிருந்து பெறப்படுவதால், இந்த peer id-கள் சங்கிலி 14 பயன்படுத்தியவையே. genesis-இலிருந்து ஒத்திசைக்கும் புதிய கணுவுக்கு முழு வரலாறு கொண்ட peer ஒன்றும் தேவை; எனவே இரண்டு காப்பகக் கணுக்களில் ஒன்றைச் சேர்க்கவும் (obs1, பின்னர் rand-archive-2):

/ip4/164.90.239.200/tcp/30303/p2p/12D3KooWEQEbUwZRgqhDPXhW7vNBmcRcnhUDGUADe81VFdv3ALYe
/ip4/165.245.173.74/tcp/30303/p2p/12D3KooWJyc5oDHggAr89e9QrRFBy9Tg8TxXh18yzrb1SM6KKLYw
/ip4/188.166.235.187/tcp/30303/p2p/12D3KooWSyX84P1DAbWByLHpRBMLRWD53r3Jj4aqVt6tHoF8B2ZQ
/ip4/168.144.46.203/tcp/30303/p2p/12D3KooWS5usdMPvsbaWSaT2xtKndHvDYurwmueoNvaRRarb2wRf
/ip4/206.81.29.236/tcp/30303/p2p/12D3KooWPocyZGcNB9Vp68VSfgVvNXhSzBBoJa4h9R1yMkp71XHh

தீச்சுவர் பாதுகாக்காவிட்டால் RPC-ஐ 127.0.0.1-இலேயே வைத்திருங்கள். பொதுமக்களுக்குச் சேவை செய்ய வேண்டிய கணு, அதன் அருகில் v0.6.8 பொதுக் கேட்பானைத் (--public-rpc <ADDR>) திறந்து, அதன் முன் ஒரு ப்ராக்ஸியை வைக்கிறது; --rpc-இன் முன் ஒருபோதும் வைப்பதில்லை (JSON-RPC). v0.6.7-இலிருந்து கொண்டுவரப்பட்ட unit, --prover-accept-spend-key-ஐக் கொடுக்கக் கூடாது; v0.6.8 தொடக்கத்திலேயே அதை மறுக்கிறது.

systemctl daemon-reload && systemctl enable --now rand-node
journalctl -u rand-node -f
rand status                       # height climbing, peer_count rising

5. சரிபார்ப்பாளர் தொகுப்பில் சேருதல்

புதிய சாவி எந்தக் காலகட்டத்தின் (epoch) தொகுப்பிலும் இல்லை. சங்கிலி 20-இல் அது முதலில் வாக்கெடுப்பு மூலம் சேர்க்கப்பட வேண்டும்: அதன் genesis staking.admission_by_vote-ஐ அமைக்கிறது; எனவே வாக்கு எடையில் மூன்றில் இரண்டு பங்குக்கு மேல் கொண்ட சரிபார்ப்பாளர்கள் ஒவ்வொருவரும் rand-node admit sign --candidate <key or registration> --key <validator key> --genesis-hash <chain 20's hash> மூலம் அதில் கையொப்பமிடுகின்றனர்; ஒருவர் rand-node admit submit மூலம் வாக்குகளைச் சமர்ப்பிக்கிறார்; பின்னர் rand_getAdmitted அதைப் பட்டியலிடுகிறது. அதன் பிறகு அதற்குக் குறைந்தது 1,000 RAND பிணையம் வையுங்கள்: rand-node register --key /root/keys/node.key.json --payout rand1… --v2 மூலம் ஒரு பதிவை அச்சிடுங்கள் (சங்கிலி 20 v1 பதிவை மறுக்கிறது), பின்னர் ஒரு பணப்பையிலிருந்து rand bond <address> 1000 --registration <hex> மூலம் பிணையம் வையுங்கள். பிணையம் அதன் செயல்படுத்தல் காலகட்டத்துக்காகக் காத்திருக்கிறது, இது commit ஆன பிறகு குறைந்தபட்சம் மூன்று 1,000-தொகுதி எல்லைகளுக்குப் பின் வரும்; ஒவ்வொரு எல்லையிலும் செயலில் உள்ள எடையில் அதிகபட்சம் 2,500 bps மட்டுமே புதிய எடையாகிறது (சங்கிலி 19 அதை நிலையான 10,000 RAND-இல் கட்டுப்படுத்தியது). ஸ்டேக்கிங் இதைப் படிப்படியாக விளக்குகிறது.

6. புதுப்பித்தல்

இது அதே சங்கிலியை இயக்கும் கட்டமைப்புக்குப் பொருந்தும். முந்தைய சங்கிலியிலிருந்து சங்கிலி 20-க்கு மாறுவது புதுப்பித்தல் அல்ல: அதற்குப் புதிய இருமக் கோப்பு, புதிய genesis, புதிய தரவுக் கோப்பகம் தேவை; பழைய சங்கிலியின் தரவுக் கோப்பகத்தைப் பின்னர் நீக்கலாம் (deploy/retire-chain-dirs.sh; பின்வாங்கலுக்காகக் கணுத்தொகுதி அதை ஒரு நாள் வைத்திருக்கிறது). சங்கிலி வெட்டு இல்லாமல் புதிய கட்டமைப்பை வெளியிட, ஒருமுறை கட்டமைத்து, rand-node, rand இரண்டின் sha256-ஐயும் ஒப்பிட்டு, சேவையை நிறுத்தி, நிறுவி, மறுதொடக்கம் செய்யுங்கள்; ஒரு நேரத்தில் ஒரு கணு. சில வெளியீடுகள் அதற்குப் பதிலாக அனைத்தையும் நிறுத்தி, அனைத்தையும் தொடங்கும் முறையில் வெளியிடப்படுகின்றன (v0.5.6-இன் அழைப்பு-அடுக்கு விதி, v0.5.7-இன் Status wire மாற்றம், v0.6-இன் கடுமையான நிரூபணச் சரிபார்ப்பு); எது என்பதை ஒவ்வொரு வெளியீட்டுக் குறிப்பும் கூறுகிறது. v0.6.7 சங்கிலி 18-இல் ஒரு நேரத்தில் ஒரு கணுவாக வெளியிடப்பட்டது; v0.6.8 சங்கிலி 20-உடன், அனைத்தையும் நிறுத்தி அனைத்தையும் தொடங்கும் முறையில் வந்தது, ஏனெனில் அதன் CON-4, CH-1 ஒருமித்த மாற்றங்களை ஒருபோதும் கணு கணுவாக வெளியிடக் கூடாது. அடுத்த கணுவுக்கு முன் ஒவ்வொரு கணுவும் மீண்டும் இணையும்வரை காத்திருங்கள்; அப்போது கோரத்தில் ஒன்றுக்கு மேல் குறைவு ஏற்படாது. deploy/update-droplet.sh <ip> [build-host] SSH வழியாக இதைத் துல்லியமாகச் செய்கிறது.

v0.6.8 வரையிலான வெளியீடுகள் ஒரே கணினியில் கைமுறையாகக் கட்டமைக்கப்பட்டவை, கையொப்பமிடப்படாதவை. v0.6.8 GitHub வெளியீடு, E கணுவில் கட்டமைக்கப்பட்ட rand-node, rand, rand-prover, SHA256SUMS ஆகியவற்றைக் கொண்டுள்ளது; அந்தச் சரிபார்ப்புத்தொகை சிதைந்த பதிவிறக்கத்தைக் கண்டறியும், ஆனால் கட்டமைப்புக் கணினிக்கு உத்தரவாதம் அளிக்காது. v0.6.8, tag-இலிருந்து இருமக் கோப்புகளைக் கட்டமைக்கும் வெளியீட்டுப் பணிப்பாய்வை வழங்குகிறது; ALLOW_UNSIGNED=1 அமைக்கப்படாவிட்டால், கையொப்பமிட்ட SHA256SUMS இல்லாத நிறுவலை deploy/update-droplet.sh மறுக்கிறது. deploy/release-signers இதுவரை எந்தச் சாவியையும் பட்டியலிடவில்லை; எனவே கையொப்பமிட்ட வழி இன்னும் பயன்படுத்தப்படவில்லை.

சங்கிலிகள் 15, 16, 17, 18 ஆகியவை 2.7 நாட்களுக்குள் (2026-09-26 முதல் 2026-09-29 வரை) இயக்கத்துக்கு வந்தன; ஒவ்வொன்றும் கணுத்தொகுதி முழுவதையும் நிறுத்தியே நடந்தது. சங்கிலி 19, 2026-10-01 அன்று 03:43 UTC-க்குத் தொடர்ந்தது; அது அதே கட்டமைப்பில் சங்கிலி 18-இன் மறு-genesis. சங்கிலி 20 அதே நாள் 06:17 UTC-க்கு, v0.6.8 hard fork-இல் சங்கிலி 19-இன் நிலைப்படத்திலிருந்து வெட்டப்பட்டது; ஒவ்வொரு கணுவும் சங்கிலி-19 உயரம் 7,700-இல் நின்றது. எழுதப்பட்ட வெட்டுக் கொள்கை (2026-09-30) சங்கிலி 20 முதல் பொருந்துகிறது; ஒரே இயக்குநர் எல்லாச் சாவிகளையும் வைத்திருப்பதால், சங்கிலி 20-இன் வெட்டுப் பதிவு இரண்டாவது இயக்குநரின் மறுகட்டமைப்பைத் தள்ளுபடி செய்தது. ஒரு வெட்டுக்குத் தேவையானவை: சுழற்சிமுறைப் புதுப்பிப்பால் நிறைவேற்ற முடியாத காரணம், அது எதைக் கொண்டுசெல்கிறது, எதைக் கைவிடுகிறது என்பதன் வெளியிடப்பட்ட பட்டியல், முன்கூட்டியே முடிக்கப்பட்ட கிளையன்ட் மறுகட்டமைப்புச் சரிபார்ப்புப் பட்டியல், genesis-ஐ அதே hash-க்கு மறுகட்டமைக்கும் இரண்டாவது இயக்குநர், பின்வாங்கல் திட்டம், இதுவரை பயன்படுத்தப்படாத சங்கிலி id.

fullnode கமிட் c0878c3f (சங்கிலி 21), மற்றும் fullnode v0.8.0 `c0878c3f` (`docs/deploy.md`, `docs/cli.md`, `docs/staking.md`, `docs/node-hardware.md`, `deploy/cutover-fleet-chain21.sh`, `CHANGELOG.md`) and `main` `246cb5f9` (`deploy/genesis-chain21.json`, `deploy/cut-records/chain21.record`); the live chain-21 RPC, 2026-10-12, fullnode `90e7716` (v0.6.7 `86941a1` and `main` after it, 2026-09-30: `deploy/nodes.env`, `deploy/genesis-chain18.json`, `deploy/README.md`, `deploy/vps-setup.sh`, `docs/deploy.md`, `docs/node-hardware.md`, `docs/prover.md`, `docs/cli.md`, `docs/staking.md`, `README.md`, `CHANGELOG.md`, `AGENTS.md`), fullnode `8abf85e` (v0.5.9: `docs/rpc.md`), fullnode `ed88241` (`deploy/README.md`, `deploy/nodes.env`, `deploy/genesis-chain14.json`, `deploy/run-a.sh`, `deploy/vps-setup.sh`, `deploy/update-droplet.sh`, `docs/deploy.md`, `docs/superpowers/handoffs/2026-09-20-chain14-cut-runbook.md`, `docs/aggregation.md`, `docs/block-space.md`, `docs/zkvm-m4-m5-progress.md`, `docs/cli.md`) உடன் 2026-10-12 அன்று இறுதியாகச் சரிபார்க்கப்பட்டது. நிரலும் இந்தப் பக்கமும் முரண்படும் இடங்களில் நிரலே சரியானது; எங்களுக்குத் தெரிவியுங்கள்.