Rand Protocol
لاسوندونه
مرجع

د سپړونکي API

په randscan.org کې د RandScan REST API او WebSocket فيډ لنډيز - د يو پټ شوي ځنځير سپړونکی څه وړاندې کولای شي، پای ټکي، او د غوښتنو د اندازې حدونه - د بشپړ لارښود له لينک سره.

د explorer API وکاروئ ترڅو زنځیر 20 له یوه سکرېپټ، بوټ یا بک‌اېنډ څخه ولولئ، پرته له دې چې نوډ وچلوئ. بشپړ لارښود د ټولو فیلډونو سره د explorer په ریپازیټوري کې دی، randscan.org/docs/api.md؛ دا پاڼه یې لنډیز دی.

بنسټیز URLhttps://randscan.org/api/v1
WebSocketwss://randscan.org/ws
بې‌نومهپه هره دقیقه کې 60 غوښتنې د هر IP لپاره
د API کیلي سرهپه هره دقیقه کې 600 غوښتنې؛ کیلي له randscan.org/dashboard څخه، د Authorization: Bearer rsk_… یا X-API-Key په توګه لېږل کېږي

د یوه پټ زنځیر explorer څه ښودلی شي

په دې API کې هېڅ ځای حسابونه، بیلانسونه، لېږونکي یا ترلاسه کوونکي نشته، او له زنځیر 14 راهیسې په بنډل کې عامه شتمني هم نشته: د RAND لېږد او د هر RPL ټوکن لېږد یو شان بڼه لري. هغه څه چې وړاندې کوي دا دي: هر بلاک؛ د هرې راکړې ورکړې د پټې شتمنۍ بنډل لکه څنګه چې خپور شوی (anchor، څلور nullifierونه، څلور commitmentونه، فیس، burn_a، burn_r، burn_asset، وخت، د ثبوت او لفافې اندازې، او له زنځیر 17 راهیسې auth_commit او د اجازې ثبوت اندازه)؛ هغه عمل چې راکړې ورکړې لېږدولی و او د هغه عامه فیلډونه، په شمول د RPL ټوکن ثبت، مینټونه او سوځونې، د پل د ادارې عملونه او د RPL-2 invoke د حالت بدلون؛ د RPL ټوکنونو راجستر؛ د یوه پروګرام سیلونه او خزانه؛ د commitment ونه پاڼه په پاڼه؛ د nullifierونو ټولګه؛ د تاییدوونکو راجستر؛ د عرضې پلټنه؛ د پل عامه حالت، په شمول د هغه د مینټ درول او د PQ ساتونکو ټولګه. دا چې یو لېږد کومه شتمني لېږدولې، یوازې د لیدلو کیلي یا د راکړې ورکړې کیلي ته، په براوزر کې، ښودل کېږي. GET /accounts/:address په 410 { "error": "no_accounts" } ځواب ورکوي.

دودونه: مقدارونه د واحدونو لسیز سټرینګونه دي. هغه مقدار چې asset_index یې له RAND (شاخص 0) پرته بل ټوکن په ګوته کوي، د هماغه ټوکن په خپل تر ټولو کوچني واحد کې دی، نه د RAND په نهو لسیزو کې؛ له وېشلو مخکې شاخص د GET /tokens/:id له لارې معلوم کړئ. registration_fee او next_index هغه دوه فیلډونه دي چې explorer یې د ساده JSON شمېرو په توګه وړاندې کوي؛ هشونه، د پروګرام idګانې، commitmentونه او nullifierونه 64 کوچني hex توري دي؛ د تاییدوونکو پتې base58 دي؛ لوړوالي له 0 څخه پیلېدونکي لسیز بشپړ عددونه دي؛ یوازې ژمن شوي بلاکونه شاخص کېږي، نو په API کې هر بلاک وروستی دی. لېستونه page (له 1 څخه) او limit (له 1 تر 100، ډیفالټ 20) اخلي، { "data": [...], "pagination": { page, limit, total, total_pages, has_next, has_prev } } بېرته ورکوي، نوي لومړی. تېروتنې { "error", "message", "code" } دي د 400، 404، 410، 429 یا 500 سره.

پای‌ټکي

مېتود او لاربېرته ورکوي
GET /healthد explorer حالت او د indexer ځنډ
GET /statsد زنځیر id، لوړوالی، view، د ونې اندازه، د تاییدوونکو شمېر، ټوله ونډه، عرضه، د پروګرامونو شمېر، د بلاک منځنی وخت، epoch، د پیدایښت هش او د نوډ build؛ hc_bundle او hc_auth؛ limits (د پیدایښت پنځه سقفونه، بیا envelope_bytes، hardening_v6، hc_auth، د پیدایښت gas_price او byte_price، gas_metering، bundle_gas_limit، adjust_bps، او له v0.6.8 راهیسې په نوډ کې program_state)؛ gas_prices، د سر ژوندۍ بیې. limits د v0.6.8 نور نوي فیلډونه (binding_domain، proof_window_blocks، د بیو سقفونه، admission_by_vote، testnet) نه لري: هغه د نوډ له rand_getLimits څخه ولولئ
GET /supplyد نوډ د عرضې پلټنه لکه څنګه چې ده، په شمول د څلورو vesting_* شمېرونکو، چې په زنځیر 20 کې ټول "0" دي، ځکه د هغه پیدایښت د vesting برخه نه لري، او د RPL-2 program_rand_out او program_rand_held، هغه RAND چې د پروګرام له خزانو ورکړل شوی او هغه RAND چې لا هم یې ساتي
GET /bridgeد پل عامه حالت: emitter، emitters، guardian_set_index، guardians، pq_guardians، mint_paused، pause_nonce، list_nonce، pause_key، registration_fee، burn_sequence، next_index (له زنځیر 14 راهیسې null)، rotation_nonce، rules_v2 (د global_minted_in_window او global_mint_headroom سره)، min_inbound_sequence، assets، او endpoints، د هر emitter د explorer خپله وړاندې کونه هغسې چې د هغه سرچینه زنځیر یې چاپوي. دا د نوډ د v0.6.8 fees، rotation_rules یا pending_rotations نه وړاندې کوي: هغه له rand_getBridgeState څخه ولولئ
GET /bridge/assetsد هرې پشتېبانۍ لپاره یو قطار: د راجستر قطار (index، chain، token، asset_id، locked، minted_today، mint_cap_per_day، او په v0.6.8 نوډ کې minted_in_window، mint_window_secs او mint_headroom، تر ټولو لوی زېرمه چې سقفونه یې اوس منلی شي) د symbol، name، decimals او backings سره یوځای، او شاخص شوې شمېرنې. د هرې پشتېبانۍ لپاره: burns، burned، outstanding (د راجستر locked)، او deposits/deposited یوازې هغه وخت چې ټوکن یوه پشتېباني ولري (که نه نو null: زېرمه هغه ټوکن نوموي چې مینټ یې کړی، نه هغه سکه چې ورته قفل شوې). د هر ټوکن لپاره، د ورته index لرونکو ټولو قطارونو کې یو شان: token_deposits، token_deposited، token_burns، token_burned، first_height، last_height؛ د ټولولو پر مهال هر index یو ځل وشمېرئ
GET /bridge/tokensد ټوکنونو اجازه لېست، یو ثابت لېست: USDT او USDC په Ethereum، BSC، Tron او Solana کې، چې په Tron کې USDC بند شوی
GET /tokensد RPL ټوکنونو بشپړ راجستر لکه څنګه چې له نوډ څخه کېش شوی: enabled، registration_fee، next_index، tokens
GET /tokens/:idیو ټوکن د راجستر د شاخص، 64-hex id یا د rpl1… متني بڼې له مخې، سره د deploy_tx او supply_history؛ کله چې هېڅ برابر نه شي 404
GET /nodesد explorer نوډ او د هغه ملګري، د جغرافیایي موقعیت سره
GET /proversهغه سپارل شوي ثبوت جوړوونکي چې explorer یې پېژني (د هغه خپل لېست؛ زنځیر یې هېڅ ریکارډ نه ساتي): ایا هر یو خپل prover_info ته ځواب ورکوي، د هغه ظرفیت او فیس، او د هغه کوربه چېرې دي
GET /blocks?page&limit&proposer، GET /blocks/latest?limit، GET /blocks/:idبلاکونه، د لوړوالي یا هش له مخې
GET /transactions?page&limit&kind&height&validator&program، GET /transactions/latest، GET /transactions/:hashراکړې ورکړې؛ kind دا دي: transfer، mint، deploy، call، bond، unbond، withdraw، bridge_attest، bridge_burn، register_token، token_mint، set_authority، token_burn، pause_mints، unpause_mints، register_bridged_token، list_backing، invoke. هېڅ token_transfer نشته: د هر RPL ټوکن لېږد transfer دی
GET /transactions/:hash/envelopesهغه نوټونه چې یوې راکړې ورکړې د خپلو لفافو سره جوړ کړي: د بنډل څلور ځایونه، په شمول د ډمي ګانو، سره د هغو نوټونو چې زنځیر یې محاسبه کوي او د bridge_attest زېرمه، token_mint، د register_token لومړنی مینټ یا د invoke تادیات یې ورزیاتوي؛ د call لپاره، h_in او د ننوتو مهر شوی ټرانسکرېپټ
GET /envelopes?from_leaf&limitد لفافو لرونکې پاڼې، زړې لومړی، په هره پاڼه کې تر 1,000 پورې، د تاریخ د سکن لپاره
GET /notes?page&limit، GET /notes/:idد ونې پاڼې، د commitment یا د پاڼې د شاخص له مخې
GET /nullifiers/:nfهغه راکړه ورکړه چې یو nullifier یې خپور کړی
GET /validators، GET /validators/:addressراجستر، د share_percent، blocks_proposed او وروستي وړاندیز شوي لوړوالي سره
GET /programs?page&limit، GET /programs/:idځای پر ځای شوي پروګرامونه (base_pc، words_len، code_hash، public_words_len، public_digest) د call او invoke د شمېر سره؛ د یوه پروګرام وروستي callونه او invokeونه، او د هغه program_state، چې له نوډ څخه ژوندی لوستل کېږي: vault (د هرې شتمنۍ لپاره)، د کیلي په ترتیب لومړي 100 cells، او cells_next
GET /programs/:id/cells?after&limitد پروګرام د سیلونو یوه پاڼه د کیلي په ترتیب، له نوډ څخه ژوندۍ (limit له 1 تر 1,000، ډیفالټ 100): { "cells", "next" }؛ په هغه زنځیر کې چې د program_state برخه نه لري 404
GET /search?q=بلاکونه، راکړې ورکړې، پروګرامونه، نوټونه، nullifierونه او تاییدوونکي
curl -s https://randscan.org/api/v1/stats
curl -s https://randscan.org/api/v1/tokens/1
curl -s https://randscan.org/api/v1/transactions/8aa13d1f76d28f63a46c30bb09ef44b1ba35083ca80ba7301997f98e5f783666

د یوې راکړې ورکړې لنډیز (د 10 RAND د فاسیټ mint د زنځیر 18 په 102,197 لوړوالي کې):

{
  "hash": "a20b…feb5", "height": 102197, "block_hash": "f362…a06f", "tx_index": 0,
  "kind": "mint", "fee": "0", "timestamp_ms": 1790777106034,
  "has_bundle": false, "program": null, "validator": "EdrEC2QRQrQF64iRXxF9927jNj6RidiHHByzx5xD6F1e",
  "amount": "10000000000", "asset_index": null
}

amount یوازې د هغو ډولونو لپاره ډکېږي چې عامه مقدار لري — mint، bond، unbond، withdraw، bridge_attest، bridge_burn، token_mint، token_burn، او هغه register_token چې لومړنی مینټ ولري — او د لېږد لپاره null دی، چې asset_index یې هم تل null وي. has_bundle د mint، unbond، withdraw، pause_mints او unpause_mints لپاره false دی، چې هېڅ بنډل نه لېږدوي او هېڅ فیس نه ورکوي. تفصیل chain_id، bundle ورزیاتوي، او د هر ډول لپاره: د deploy words_len؛ د call call_proof_len، input_envelope_len او receipt (tx، program، tier، outputs، height، index، h_in، h_pub)؛ د bond registered؛ د unbond یا withdraw action_nonce؛ د پل د تصدیق attestation_len، recipient، note_time، deposit_r، commitment، pq_signers؛ د پل د سوځونې relayer_fee، to_chain، bridge_to، bridge_token؛ د RPL عمل token_action (د عمل خپل فیلډونه، د kind له مخې نښه شوي)، د مینټ شوي نوټ لپاره د recipient، note_time، deposit_r سره او د token_mint یا set_authority لپاره د action_nonce سره؛ د پل د ادارې عمل bridge_governance، چې پرته له pause_mints په ټولو کې pq_signers لري؛ د invoke call_proof_len، input_envelope_len، receipt او transition (د نوډ وړاندې کونه: لوستل شوي او لیکل شوي سیلونه، inflow، او هر pays او mints نوټ د خپل recipient، time، r او cm سره). د v0.6.8 هغه ډول چې دا explorer build یې نه پېژني (admit_validator، slash_equivocation، د _v2 بدلونونه، cancel_rotation) other دی.

په زنځیر 20 کې، د پل د فیسونو سره، د bridge_attest او bridge_burn amount ناخالص مقدار دی: هغه مقدار چې ساتونکو لاسلیک کړی، یا هغه مقدار چې بنډل سوځولی. explorer خالصه زېرمه، خوشې شوی مقدار یا د فیس نوټ نه وړاندې کوي؛ هغه د نوډ له rand_getTransaction (deposit_amount، release_amount، fee_note) او rand_getBridgeBurn څخه ولولئ. په 2,899 لوړوالي کې د 0.999 zUSD سوځونه دلته "amount": "99900000" ښيي؛ ساتونکو د 99800100 د خوشې کولو لاسلیک کړی.

د راکړې ورکړې په تفصیل کې بنډل د پټې شتمنۍ بنډل دی، چې د شتمنۍ فیلډ نه لري او په سوځونه کې دویم بنډل نه لري. دې بنډل د پورته curl بېلګې د call فیس ورکړی، د زنځیر 18 په 98,335 لوړوالي کې؛ هغه راکړه ورکړه په زنځیر 20 کې شتون نه لري، چېرې چې درېیم curl په 404 ځواب ورکوي:

"bundle": {
  "anchor": "b814…b1ed",
  "nullifiers": ["49d4…a766", "3363…61ea", "aac0…fcfc", "546c…3efd"],
  "commitments": ["b52b…4f7b", "9ddd…0448", "5fa7…1630", "2827…8343"],
  "fee": "6191437", "burn_a": "0", "burn_r": "0", "burn_asset": 0, "time": 98185,
  "proof_len": 1504260, "envelope_len": [1860, 1860, 1860, 1860],
  "auth_commit": "0bda…6512", "auth_proof_len": 1367303
}

auth_commit او auth_proof_len وېشلې اجازه ده (زنځیر 17 او وروسته، چېرې چې limits.hc_auth ټاکل شوی): د بنډل ثبوت د لیدلو له کیلي څخه جوړېږي او auth_commit خپروي، او دویم، کوچنی ثبوت د لګښت پر کیلي، چې له ورته راکړې ورکړې سره تړل شوی، باید ورسره برابر وي. دواړه ثبوتونه یوازې د اوږدوالي له مخې راپور کېږي. په زنځیر 20 کې هره لفافه 1,860 بایټه ده (limits.envelope_bytes) او یو کوډ شوی یادښت لېږدوي؛ تر 17 پورې زنځیرونو 1,348 بایټه مهر کول. د call اعلان شوی ګاز حد د هغه د ثبوت عامه ارزښت دی، نه د رسید فیلډ، نو explorer یې د هرې راکړې ورکړې لپاره نه ښيي؛ هغه فیس چې ورکړی یې دی په fee کې دی.

burn_a هغه خصوصي شتمني ده چې سوځول کېږي. دا یوازې په token_burn، bridge_burn یا هغه invoke کې له صفر پرته وي چې یو ټوکن زېرمه کوي یا یې سوځوي، او burn_asset د راجستر شاخص ښيي. burn_r هغه RAND دی چې سوځول کېږي، او یوازې په bond یا هغه invoke کې له صفر پرته وي چې RAND د پروګرام په زېرمتون (vault) کې زېرمه کوي.

په chain 20 کې zUSD (“Shielded USD”، اته اعشاریه) په شاخص 1 کې دی. په genesis کې د خپلو ټولو اوو ملاتړونو سره ثبت شوی (registered_at 0 دی، نو deploy_tx null دی)، او له chain 14 څخه د همغه asset id لاندې راوړل شوی. له همدې امله GET /bridge/assets د شاخص 1 لاندې اووه قطارونه راګرځوي. په chain 20 کې د هغه په لومړۍ ورځ پنځه نور ټوکنونه په 2 تر 6 شاخصونو کې ثبت شول، او په درېیو کې یې یو پروګرام د mint واک لري. GET /tokens یې لېست کوي. په chain 20 کې GET /bridge دا څه راپور کوي: rules_v2، چې د هرې 86,400 ثانیه‌يي کړکۍ لپاره د 4,000 zUSD ("400000000000") نړیوال mint حد ټاکي؛ rotation_nonce 0؛ په genesis کې burn_sequence 13؛ او min_inbound_sequence، چې د 2، 3 او 4 سرچینه chainونو لپاره 3 او د 5 سرچینه chain لپاره 7 دی (په chain 19 کې 1 او 4). دا د genesis د بیا لوبولو (replay) لاندینی حد دی، یعنې هغه ټیټه lock ترتیب شمېره چې د یوې سرچینه chain تصدیق باید ولري څو دلته mint شي. په chain 14 کې دا په 256 لوړوالي کې د یو register_bridged_token له لارې ثبت شو، او نور شپږ ملاتړونه د list_backing راکړو ورکړو له لارې ورزیات شول.

په براوزر کې د لفافو پرانیستل

لفافه عامه chain معلومات دي، او explorer هېڅ کیلي نه ساتي. د راکړې ورکړې پاڼه او د History پاڼه لفافې په براوزر کې د node د خپل کوډ (crates/randscan-viewing) د WebAssembly جوړښت له لارې پرانیزي. که د لیدو کیلي (nk، 64 hex) ورکړئ، هر هغه نوټ ښکاري چې هغه لوري لېږلی یا ترلاسه کړی دی. د راکړې ورکړې کیلي یوه تادیه پرانیزي، د call کیلي د یو call ننوتې پرانیزي، او د والټ د کیلي فایل څخه یوازې ترې استخراج شوې د لیدو کیلي ساتل کېږي. پرانیستل شوی نوټ د هغه د commitment په بیا محاسبه کولو تاییدېږي. د هغه افشا شوی asset د ټوکن د راجستر شاخص دی، چې سمبول او اعشاریه یې د GET /tokens له لارې معلومېږي. د لېږد لپاره یوازې همدا ځای دی چې مقدار له یوې شتمنۍ سره تړل کېږي. ډمي ځای (dummy slot) د هېڅ کیلي لپاره نه پرانیستل کېږي، او هغسې ښکاري لکه هغه نوټ چې ستاسو نه وي. د کیلي په اړه هېڅ شی شبکې ته نه ځي. د همدې وسیلې جوړولو لپاره /envelopes او /transactions/:hash/envelopes راواخلئ او دا crate وکاروئ.

د WebSocket فیډ

له wss://randscan.org/ws سره وصل شئ او په blocks، transactions یا stats کې ګډون وکړئ:

{ "type": "subscribe", "channel": "blocks" }
{ "type": "new_block", "block": { … BlockSummary … } }
{ "type": "new_transaction", "transaction": { … TransactionSummary … } }
{ "type": "stats_update", "stats": { … } }

د proxyګانو له لارې هرو 30 ثانیو کې { "type": "ping" } ولېږئ. فیډ بیا لوبول (replay) نه لري. که اړیکه پرې شي، بیا وصل شئ او تشه د GET /transactions?height= له لارې ډکه کړئ.

خپل explorer چلول

دلته هر څه د randprotocol/randscan.org په پرانیستې سرچینې explorer کې وړاندې کېږي. indexer یوازې د یو node rand_* JSON-RPC او یو PostgreSQL ډیټابېس ته اړتیا لري.

وروستی ځل د 2026-10-12 په نېټه د fullnode د c0878c3f کمېټ (زنځیره 21) پر وړاندې تایید شوی، او randscan commit fffa404 (docs/api.md), the live API at randscan.org, 2026-09-20, the live API at randscan.org on chain 18, 2026-09-30, the live API at randscan.org on chain 19, 2026-10-01, randscan commit 4390731 (docs/api.md: RPL-2, BRG-19 and `/provers`) and the live API at randscan.org on chain 20, 2026-10-01; `/stats` on chain 21, 2026-10-12. چېرې چې کوډ او دا پاڼه سره توپیر ولري، کوډ سم دی؛ موږ ته خبر راکړئ.