په دې پاڼه کې هغه معلومات دي چې پرې پرېکړه وکړئ چې د څه پر بنسټ جوړونه وکړئ او له کومه پیل کړئ: د ځنځیر ماډل په څو پاراګرافونو کې، د ژوندي testnet پارامترونه، د ازموینې RAND ترلاسه کولو لاره، او د پاتې اسنادو نقشه.
Rand Protocol څه شی دی
Rand یو له کوانټم وروسته پټ شوی ځنځیر دی. د دې اصلي سکه RAND ده، او RAND په یو بشپړ پټ شوي حوض کې ساتل کېږي: په ځنځیر کې نه حسابونه شته او نه بیلانسونه، یوازې د یادښتونو ژمنې او باطلوونکي، او یوه لېږد د صفر-پوهې یو ثبوت دی چې څلور یادښتونه په څلورو نورو یادښتونو بدل شول (ناکارول شوي ځایونه ډمي یادښتونه ډکوي)، پرته له دې چې وښيي کومه شتمني خوځېدلې ده. RAND او د ځنځیر د خپل معیار، RPL، هر توکن همدا یو حوض شریکوي. همدا سکه د محرمانه پروګرامونو لګښت ورکوي: RISC-V پروګرامونه چې له ځنځیر بهر د صفر-پوهې په یوه مجازي ماشین کې چلېږي او په ځنځیر کې د خپلو ورودیو پر ځای د یوه ثبوت په مرسته تصفیه کېږي.
هر بنسټیز عنصر داسې ټاکل شوی چې د کوانټم مخالف پر وړاندې ټینګ پاتې شي:
| طبقه | څه چلېږي |
|---|---|
| لاسلیکونه | Dilithium2 (پر شبکه ولاړ). تاییدوونکي بلاکونه او رایې پرې لاسلیکوي؛ فاسیټ، د سټیکینګ کړنې او د پل ثبتونه پرې لاسلیک کېږي. بټوه هېڅکله لېږد نه لاسلیکوي: یوه بنډل ځان د خپل ثبوت له لارې اجازه ورکوي. |
| د یادښتونو کوډ کول | د ML-KEM-768 کیلي پوښښ جمع ChaCha20-Poly1305. په ځنځیر کې هر یادښت له یوه پاکټ سره مل دی چې یوازې خاوند یې (او لېږونکی یې) پرانیستلای شي. |
| هش کول | BLAKE3 د ډومېن له جلا کولو سره د پتو، د لېږد پېژندنو، د حالت رېښې او د ثبوت له سیسټم بهر د هر بل شي لپاره؛ Poseidon2 د Goldilocks په ساحه کې د یادښتونو، باطلوونکو، د ژمنو ونې او د ثبوت دننه د هر شي لپاره. |
| ثبوتونه | یو Plonky3 ډلهییز STARK له پټوونکي FRI سره (80 پوښتنې، blowup 8، د کار-ثبوت 20 بیټه). روڼ: هېڅ باوري تنظیم نشته، هېڅ جوړه منحني نشته، او فرضیه یو د ټکر پر وړاندې مقاوم هش دی. |
| محرمانه محاسبه | د Rand zkVM، یو RV32IM ماشین چې د همدې STARK لاندې ثابتېږي. پروګرام د سرکټ دننه د یوه لنډیز له مخې پېژندل کېږي، او تصدیقوونکی هېڅکله د لارښوونې یوه کلمه هم نه ویني. |
| اجماع | زنځیري HotStuff BFT: د ونډې پر بنسټ وزن شوي نصابونه چې له دوو پر دریو ډېر دي، په نوبت سره مشران، او د درېیو پرلپسې لیدونو د ژمنې قاعده. |
| زېرمه او شبکه | په هر نوډ کې یو RocksDB له fsync شویو ژمنو او د پیل پر وخت د بشپړتیا له ازموینې سره؛ libp2p (TCP، Noise، Yamux، gossipsub، Kademlia، او په LAN شبکو کې mDNS). |
مرجع پلي کونه randprotocol/fullnode ده، په Rust کې: rand-node باینري نوډ دی، rand باینري بټوه ده، او د JSON-RPC میتودونه په rand_ پیلېږي. لټوونکی randscan.org دی.
testnet: ځنځیر 20
عامه ډله ځنځیر 20 چلوي، چې له 2026-10-01 06:17 UTC راهیسې د fullnode v0.6.8 پر بنسټ ژوندی دی. له 15 تر 19 پورې ځنځیرونه تقاعد شوي دي. په څلورو ورځو کې څلور ځنځیرونه پرې شول، هر یو د داسې بدلون لپاره چې هر ثبوت یا د لېږد بڼه بدلوي:
- ځنځیر 16 (2026-09-28، fullnode v0.6.1) zkVM د محدودیتونو 7م سېټ ته ولېږداوه، چې هغه څه پټوي چې ثبوت به مخکې د کوچنیو خصوصي ورودیو په اړه ښکاره کول، او د
hardening_v6قواعد یې فعال کړل. - ځنځیر 17 (2026-09-29، v0.6.3) د لېږد اجازه یې له ثبوت څخه جلا کړه: هره بنډل دویم، کوچنی ثبوت لري چې د لګښت په کیلي جوړ شوی، نو لوی ثبوت داسې ماشین جوړولای شي چې یوازې د لید کیلي لري.
- ځنځیر 18 (2026-09-29، v0.6.7) محرمانه غوښتنې په ګاز کې اندازه کوي (د محدودیتونو 8م سېټ) او د هر یادښت په پاکټ کې کوډ شوی یادونه فعالوي.
- ځنځیر 20 (2026-10-01، v0.6.8) هر ثبوت او هر لاسلیک شوی پیغام د genesis له هش سره تړي، د پروګرام حالت (RPL-2) زیاتوي، د zUSD د پل پر جوړولو او سوځولو فیس اخلي، او د audit-v6 هغه قواعد فعالوي چې لاندې جدول کې راغلي دي.
ځنځیر 19 (2026-10-01 03:43 UTC، v0.6.7) د همدې جوړښت پر بنسټ د ځنځیر 18 بیا-genesis و او هېڅ قاعده یې بدله نه کړه. ځنځیر 18 په 143,776 لوړوالي کې ودرول شو، او ځنځیر 19 په 141,935 لوړوالي کې له یوه انځور څخه پرې شو. د هغه genesis له ځنځیر 18 سره یوازې د ځنځیر په پېژند، د وخت په نښه، لېږدول شویو یادښتونو او د پل په برخه کې توپیر درلود: د Ethereum، Binance Smart Chain او Tron د پای ټکو لپاره نوي خپرونکي، او د ترتیب شمېرونکي هم ولېږدول شول.
ځنځیر 20 د ځنځیر 19 سخت فورک دی: genesis یې په 7,258 لوړوالي کې د ځنځیر 19 له یوه انځور څخه پرې شو، ځنځیر 19 په 7,700 لوړوالي کې ودرول شو، او ټول 26 تاییدوونکي په ګډه پر ځنځیر 20 بیا پیل شول، په همغو کیلیو، د همتایانو په همغو پېژندو او همغو bootstrap نوډونو. ځنځیر 19 او ځنځیر 18 تقاعد شوي دي. بټوه په ځنځیر 20 کې د لېږلو لپاره v0.6.8 ته اړتیا لري: د زړې بټوې ثبوتونه او لاسلیکونه د genesis تړاو نه لري، او ځنځیر یې ردوي.
هر یو نوی ځنځیر دی. د چلوونکي په بټوو کې د RAND بیلانسونه او په دوران کې zUSD راتلونکي genesis ته ولېږدول شول، او بل هېڅ نه: په یوه ځنځیر کې ځای پر ځای شوی پروګرام په بل کې شتون نه لري. دا ازمېښتي سافټوېر دی: پلټنه یې نه ده شوې، او پر هغه RAND هېڅ ارزښت نه لري.
پروګرامونه په ځنځیر 20 کې حالت ساتلای شي: د RPL-2 د پروګرام حجرې، د پروګرام خزانې او Invoke کړنه ژوندۍ دي.
| د زنځیر پېژندنه (chain id) | 20 (rand_chainId) |
| د جینیسیس هش | 6210cf071a390d7ac61d8cbea5dd9d139d1a493a862b54a45a498f36af2d5135 |
| د جینیسیس فایل | deploy/genesis-chain20.json د fullnode په ذخیره کې |
| جوړښت | fullnode v0.6.8 (ټګ c9c9bd3c)؛ هر نوډ خپل جوړښت په rand_getVersion کې راپوروي. دا جوړښت له ۱۴ تر ۱۷ زنځیرونه ردوي، او له v0.6.8 څخه زوړ والټ په ۲۰ زنځیر کې لېږد نشي کولی |
| جینیسیس ته تړنه | binding_domain 1: د هر بنډل د ثبوت تړنه او د هر لاسلیک شوي عمل پیغام د جینیسیس هش لري، نو هر څه چې د یوه زنځیر لپاره ثابت یا لاسلیک شوي وي، په بل زنځیر کې نه تاییدېږي |
| د testnet نښه | testnet true: جینیسیس ځان د ازمېښتي شبکې په توګه اعلانوي، او همدا ده چې فاسیټ ته اجازه ورکوي چې د پل تر څنګ وچلېږي |
| تاییدوونکي | 26، هر یو په 1,000 RAND سټیک شوی، چې د سټیکنګ لږترلږه کچه ده |
| کورم | له 26 څخه 18: د سټیک له دوو پر دریو څخه په کلکه ډېر |
| د بلاک واټن | تلواله --block-interval-ms 1000؛ په هره ثانیه کې نږدې یو بلاک |
| د بلاک وخت | هغه مهالنښه چې د خپل مور بلاک له مهالنښې 60 s ډېره وروسته وي، ناسمه ده، او یو تاییدوونکی هغه بلاک ته رایه نه ورکوي چې د هغه له خپل ساعت څخه 15 s ډېر مخکې وي، نو تاییدوونکي NTP چلوي |
| د ثبوت کړکۍ | proof_window_blocks 1,024: د بنډل لنګر باید د وروستیو 1,024 بلاکونو د پای له ریښو څخه یوه وي، او د هغه time له دې څخه زوړ نه وي (په 18 او 19 زنځیرونو کې 256 بلاکونه) |
| دورې | 1,000 بلاکونه؛ نوې تړنه د حسابېدو مخکې دوه اضافي دورې انتظار باسي (bond_activation_epochs 2، په e + 3 دوره کې فعالېږي)، او خلاص شوی سټیک دوه دورې وروسته آزادېږي |
| سټیکنګ | نومليکنې v2 دي (rand-node register --v2)، او نوې کیلي یوازې هغه وخت نوملیکنه کوي چې هغه تاییدوونکي یې په رایه ومني چې د وزن له دوو پر دریو څخه ډېر لري (admission_by_vote)؛ د یوه تاییدوونکي وزن په 33.33 % محدود دی؛ هغه نوی سټیک چې د دورې په پوله کې ننوځي، د فعال وزن په 25 % محدود دی (max_stake_entry_bps_per_epoch 2,500)؛ سلیشنګ نشته |
| zkVM | د محدودیتونو ټولګه 8، د تولید FRI پروفایل (80 پوښتنې) |
| د بنډل ګیسټ | hc_bundle 60af094acfe65d85fdb18fb3d06cf9085dcf28c96e59e87f1ee527226e6e3fce: د پټې شتمنۍ 4-ننوتنې 4-وتنې بنډل، نسخه 3، کچه 14 |
| د اجازې ګیسټ | hc_auth 1e4e347f44cf86750b30a9a4bdf9ec9256efe353d4ff8017451eca7d195639c1: د لګښت اجازه چې هر بنډل یې لېږدوي، کچه 10 |
| ګاز | یوه غوښتنه د ګاز یوه حد اعلانوي چې سرکټ یې پلي کوي، او د هغه لپاره gas_price ورکوي: په ټیټه کچه کې د هر ګاز لپاره 100 واحدونه او د هر KiB لپاره 800 واحدونه، چې دواړه په هر بلاک کې د 262,144 ګاز او 10,485,760 بایټونو هدف ته ښوري، او هېڅکله د هر ګاز لپاره له 10,000 او د هر KiB لپاره له 80,000 لوړو حدونو نه اوړي. یوازې هغه بایټونه چې د بایټ بیه پرې اخیستل کېږي (د غوښتنې ثبوت او د ننوتنې لفافه) د بایټ په بار کې حسابېږي (byte_load: "paying")، نو د لېږدونو یو بلاک هغه نه لوړوي. هر بنډل ټاکلی حد 20,479 اعلانوي او ثابت 0.001 RAND ورکوي |
| د پروګرام حالت | RPL-2 فعال دی: د پروګرام حجرې، د پروګرام خزانې او Invoke (Action 33)؛ هره جوړه شوې حجره 0.01 RAND لګښت لري (cell_fee 10,000,000 واحدونه)؛ یو invoke تر ډېره 8 حجرې لولي، تر ډېره 8 لیکي او تر ډېره 4 تادیې کوي (rand_getLimits.program_state) |
| د نوټ لفافه | envelope_bytes 1860: د هر نوټ لفافه 1,860 بایټه ده او یو کوډ شوی یادښت لېږدوي |
| د پروګرام حد | max_program_words 65,535، خو د hardening_v6 لاندې هغه ځایپرځای کول ردېږي چې هېڅ کچه-14 غوښتنه یې نشي ساتلی (ProgramUncallable): د هغه پروګرام لپاره چې عامه برخه نه لري، 8,180 کلمې |
| د ثبوت حد | max_proof_bytes 4,194,304 (4 MiB)؛ له 13 تر 16 زنځیرونو کې 8 MiB و |
| د بلاک حد | max_block_bytes 20,971,520 (20 MiB) |
| د غوښتنې د لفافې حد | max_call_envelope_bytes 65,536 |
| د هر پروګرام عامه ننوتنه | max_program_public_words 32,768، د ځایپرځای کولو پر مهال ټاکل کېږي |
| فاسیټ | فعال دی، خو یوازې د جینیسیس د اجازې په لېست کې د 16 والټونو لپاره (staking.faucet_recipients)، او یوازې له هغو 18 تاییدوونکو څخه چې جینیسیس یې د مینټ کوونکو په توګه نوموي (staking.faucet_minters): په هره غوښتنه کې تر 100 RAND پورې، او په هره دوره کې ټول ټال 10,000 RAND |
| محرمانه محاسبه | فعاله ده؛ د غوښتنې ثبوت په کچه 14 محدود دی. پروګرامونه له یوې پرې کونې څخه بلې ته نه لېږدېږي؛ د بېلګې پروګرامونه وايي چې هر یو په کوم زنځیر کې ځایپرځای شوی |
| ټوکنونه | د RPL ثبتنامه فعاله ده: د نوملیکنې فیس 1 RAND، چې سوځول کېږي؛ تر ډېره 4,096 ټوکنونه؛ د هر نوټ ارزښت له 2⁶³ څخه کم. zUSD په جینیسیس کې په 1 شاخص لېست شوی |
| پل | فعال دی: د ساتونکو ټولګه 1 له اتو ساتونکو سره، اته Dilithium2 PQ ساتونکي، د درولو یوه کیلي، د څلورو سرچینې زنځیرونو لپاره خپروونکي، د هرې ملاتړې شتمنۍ لپاره د 100,000 zUSD ورځنی مینټ حد، او په ټولو ملاتړو شتمنیو کې په هرو ګرځنده 24 ساعتونو کې د 4,000 zUSD نړیوال حد. zUSD اوه ملاتړې شتمنۍ لري؛ د هغه عرضه هر هغه څه دي چې تړل شوي وي، او په ژوندۍ بڼه له rand_getTokenSupply څخه لوستل کېږي. له 20 زنځیر راهیسې په هر مینټ او هر سوځولو باندې د 10 bps فیس اخیستل کېږي، په zUSD کې، د یوه نوټ په توګه یوې خزانې پتې ته (bridge.fees): زېرمه ناخالص مقدار منهای فیس کریډیټ کوي، او سوځول په سرچینې زنځیر کې amount − fee آزادوي. د PQ ساتونکو یا د درولو د کیلي بدلون د هرې نوې کیلي خپل لاسلیک لېږدوي او د منل کېدو 86,400 s وروسته اغېزمن کېږي (bridge.rotation) |
| تاریخچه | 24 تاییدوونکي د 24 ساعتونو بلاکونه ساتي (--prune-history 24h) او له هغه لاندې -32010 ځواب ورکوي؛ دوه آرشیف نوډونه هر بلاک ساتي، او عامه RPC https://rpc.randprotocol.org یو آرشیف ته لېږدوي |
| د بلاکونو راټولونه | غیر فعاله (په جینیسیس کې aggregation برخه نشته؛ جوړښت په داسې جینیسیس پیلېدو ته نه پرېږدي چې دا برخه ولري) |
| د جینیسیس ارزښت | د تاییدوونکو په ثبت کې 26,000 RAND سټیک شوي، جمع اوه د زېرمې نوټونه چې ټول ټال 5,184.243719258 RAND کېږي او د 19 زنځیر کې د چلوونکي له والټونو راوړل شوي: 31,184.243719258 RAND، د فاسیټ له مینټونو مخکې (rand_getSupply genesis_staked او genesis_deposited راپوروي)؛ جمع دوه جینیسیس نوټونه چې ټول ټال 99 zUSD کېږي، او په خپلو ملاتړو شتمنیو کې د تړل شویو 99 zUSD سره سمون لري |
د پیل نوډونه (deploy/nodes.env):
/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
20 زنځیر په هغو تاییدوونکو کیلیو چلېږي چې له 14 تر 19 زنځیرونو کارولې وې، نو دا د ملګرو پېژندنې د 14 زنځیر د کیلیو له بدلون راهیسې نه دي بدلې شوې.
په randscan.org کې سپړونکی 20 زنځیر انډکس کوي او په https://randscan.org/api/v1 کې REST API وړاندې کوي (د سپړونکي API). د بشپړ نوډ JSON-RPC په تلواله ډول 127.0.0.1:8545 ته تړل کېږي؛ یو نوډ وچلوئ (د نوډ چلول)، هغه یو وکاروئ چې پرې باور لرئ، یا عامه پایټکی https://rpc.randprotocol.org وکاروئ (rand --rpc https://rpc.randprotocol.org …). عامه پایټکی هر هغه څه وړاندې کوي چې یو والټ ورته اړتیا لري، د هغه لومړۍ همغږي او د راکړو ورکړو لېږل په کې شامل دي، د هرې پتې لپاره په یوه دقیقه کې د 1,200 لوستنو او 6 لېږدونو تر حد لاندې. دا فاسیټ نه وړاندې کوي.
له فاسیټ څخه RAND ترلاسه کول
فاسیټ د راکړې ورکړې یو ډول دی: یو تاییدوونکی د عامه مقدار یو نوټ یوې پټې پتې ته مینټ کوي، او نوټ یوازې د پتې خاوند پرانیستلی شي. په 20 زنځیر کې دا یوازې د جینیسیس د اجازې په لېست کې 16 پتو ته تادیه کوي: بلې هرې پتې ته مینټ د the faucet may not mint to this recipient (not in staking.faucet_recipients) په پیغام ردېږي، نو هغه والټ چې په لېست کې نه وي، ازمېښتي RAND هغه وخت ترلاسه کوي چې څوک یې ورته ولېږي. لاندې درې لارې هره یوه له یوه تاییدوونکي نوډ څخه د مینټ غوښتنه کوي؛ څارونکي نوډونه faucet mints are signed by validators; ask a validator node ځواب ورکوي، او عامه RPC پایټکی rand_mint هېڅ نه لېږدوي.
د rand والټ سره، چې د یوه تاییدوونکي RPC ته متوجه وي:
rand keygen # writes wallet.key.json; refuses to overwrite
rand address # the rand1… address on stdout (about 1,665 characters), its fingerprint on stderr
rand faucet # an allowlisted wallet: 100 RAND into a note only it can open
rand balance # scans the tree with this key; prints 100 RAND
rand faucet [ADDRESS] --amount <RAND> بلې پتې ته یا کم مقدار مینټ کوي؛ 100 RAND هم تلواله مقدار دی او هم د هرې غوښتنې حد. د JSON-RPC له لارې همدا غوښتنه rand_mint ده:
curl -s http://127.0.0.1:8545 -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"rand_mint","params":["rand1…", "100000000000"]}'
پایله د مینټ د راکړې ورکړې هش دی؛ rand_getTransaction تر هغه وپوښتئ چې یو بلاک بېرته راکړي. مقدارونه د واحدونو تارونه دي، او 1 RAND له 10⁹ واحدونو سره برابر دی. د والټ اپلیکېشنونه همدا فاسیټ د یوې ټکولو په بڼه لري؛ له هغو څخه د Rand Wallet v0.6.8 یا وروسته نسخې سره لېږد وکړئ، چې د 20 زنځیر لپاره لومړۍ خپرونه ده. په دې سایټ کې د فاسیټ پاڼه د devnet د مرستو لپاره د انتظار لېست غوښتنې مني.
د مینټ مقدار په زنځیر کې عامه دی: هماغه یو-ګامه ښکارهوالی چې هره له روڼ څخه پټ ته زېرمه یې لري. وروسته دا چې نوټ چا ته څومره ارزښت لري، د نورو ټولو نوټونو په څېر پټ پاتې کېږي.
بیا چېرته لاړ شئ
- حسابونه او پتې: د کلیډونو دوه ډولونه، یوه
rand1…پته څه ده، او ولې د chain 11 هغه 54-توريزه پته بېرته واخيستل شوه. - Notes او د ژمنې ونه، معاملې او کړنې، فیسونه، اجماع او نهايي توب، عرضه: ماډل.
- کرېپټوګرافي او ثبوتونه: بنسټيز توکي، د STARK پاراميټرونه، او دا چې یوه بنډل څنګه ثابتېږي او تاييدېږي.
- ټوکنونه او یو RPL ټوکن ځای پر ځای کړئ: د RPL معيار، ټوکن د داسې ثبتليک د یوه ننوتنې په توګه چې
rpl1…پېژند لري، او له والټ څخه د یوه ټوکن جوړول. - پروګرامونه: د یوه محرم پروګرام ځای پر ځای کول او بلل، او هغه څه چې لا ممکن نه دي.
- پُل، جوړول او سوځول، سټېکنګ، د نوډ چلول.
- په Rust یا C کې پروګرام وليکئ: بشپړ لارښود، د یوه پروګرام د ننوتو او وتو له ډيزاين څخه نیولې د مهر شوې داوطلبۍ تر لیلام پورې چې په دواړو ژبو ليکل شوی، د ثبوت بودیجه، ځای پر ځای کول او د یوه بلنې کتنه.
- څلور بېلګه پروګرامونه: بشپړ اپلیکېشنونه چې هر یو یې په testnet کې چلول شوی: یوه ناپېژندل شوې رایه د Keccak د اجازې لېست پر سر، د پورونو ثبوت د SHA-256 د مجموعې ونې پر سر، یو له ځنځير بهر دفتر چې حالت یې د بلنو ترمنځ لېږدول کېږي، او یوه محرمه کریډټ پرېکړه له یوه خپاره شوي ماډل څخه.
- د RISC-V ISA، یو Rust پروګرام ځای پر ځای کړئ، یو RISC-V پروګرام ځای پر ځای کړئ: د
rand-guestتوکچین په مرسته د خپلو پروګرامونو جوړول او ځای پر ځای کول. - د Solana ژباړونکی او د Ethereum ژباړونکی: SPL Token او یو ERC-20، چې RISC-V ته ژباړل شوي او له مفسرونو سره کلمه په کلمه پرتله شوي.
- د validator او aggregator چلول: د هر رول لپاره RAM، CPU او ډیسک، او د ثبوت د حافظې اندازه شوې پولې.
- پراختیاکوونکي: زېرمتونونه، سټک، د zkVM مهمې مرحلې، هغه څه چې مشخص شوي خو نه دي خپاره شوي، او دا چې څنګه جوړول، ازمويل او ونډه اخیستل کېږي.
- JSON-RPC، کمانډ لاین، د Explorer API: مرجعې.
د fullnode زېرمتون خپل docs/ لارليک هغه سرچينه ده چې دا پاڼې ورسره پرتله کېږي، او مقالې کرېپټوګرافيک شاليد وړاندې کوي.