கணு --rpc இல் (இயல்புநிலை 127.0.0.1:8545) HTTP வழியாக JSON-RPC 2.0 சேவையை வழங்குகிறது. சந்தாக்களுக்காக அதே போர்ட்டில் ஒரு WebSocket இணைப்பையும் வழங்குகிறது. v0.6.8 முதல் அது இரண்டாவது, பொதுக் கேட்பானையும் (--public-rpc, கீழே) திறக்க முடியும். கீழே உள்ள ஒவ்வொரு முறையையும் randprotocol_client::RpcClient (Rust) உள்ளடக்குகிறது. chain 20 இயங்கும் உருவாக்கமான v0.6.8 (c9c9bd3c) வழங்கும் முறைகளின் பட்டியல் இந்தப் பக்கம். ஒரு முறை குறியீட்டில் இருந்தும் chain 20 இல் செயலற்றதாக இருந்தால், அது அவ்வாறே குறிப்பிடப்படுகிறது.
curl -s http://127.0.0.1:8545 -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"rand_getHead","params":[]}'
பொது முனையம்
https://rpc.randprotocol.org (இதே பதிலாள் https://randprotocol.org/api/rpc இலும் உள்ளது) கோரிக்கைகளை chain-20 காப்பகக் கணு ஒன்றுக்கு அனுப்புகிறது. அந்தக் கணு ஒவ்வொரு தொகுதியையும் வைத்திருக்கிறது. சொந்தக் கணு இல்லாத பணப்பைகளுக்கும் பக்கங்களுக்கும் இது உதவுகிறது (rand --rpc https://rpc.randprotocol.org …). இது HTTP POST மட்டுமே ஏற்கிறது. CORS திறந்துள்ளது, WebSocket இல்லை. ஒரு கணுவை விட இது குறுகலானது:
- ஓர் அழைப்புக்கு ஒரு கோரிக்கை மட்டுமே. தொகுப்பு அனுப்பினால்
-32600உடன் மறுக்கப்படும். - முறைகளின் அனுமதிப் பட்டியல் உண்டு. 2026-10-01 முதல் இது கணுவின் சொந்தப் பொதுக் கேட்பான் வழங்கும் அதே தொகுப்பு (v0.6.8 இல்
rpc::PUBLIC_METHODS). ஆகவேrand program invokeக்குத் தேவையான நிரல்-நிலை வாசிப்புகள்,rand_getAdmitted, திரட்டல் வாசிப்புகள், படிப்படியான உரிமையளிப்பு வாசிப்புகள் ஆகியவைrand_checkTransaction,rand_sendTransactionஉடன் இப்பட்டியலில் உள்ளன.rand_mint,rand_importViewingKey,rand_getViewingNotes,rand_removeViewingKey,rand_getPeersஆகியவை பட்டியலில் இல்லை. அவை கணுவை அடையாமலேயே-32601method not allowed hereஎனப் பதிலளிக்கின்றன. காரணம், பொதுக் குழாய் துஷ்பிரயோகத்துக்கு வழி திறக்கும்; பார்வைச் சாவியோ நீங்களே இயக்கும் கணுவுக்கு மட்டுமே செல்ல வேண்டும். - கோரிக்கை உடல் அதிகபட்சம் 12 MiB. எந்தப் பரிமாற்றமும், டோக்கன் செயலும், பயன்படுத்தலும் இதில் அடங்கும். சுமார் 3.4 MB வரையிலான நிரூபணம் கொண்ட அழைப்பும் அடங்கும் (பரிவர்த்தனை hex ஆகக் குறியாக்கப்படுகிறது; அழைப்பின் நிரூபணம் சேர்வதற்கு முன்பே அதன் கட்டு, அங்கீகார நிரூபணங்கள் சுமார் 2.85 MB எடுக்கின்றன). இதை விடப் பெரிய அழைப்பை உங்கள் சொந்தக் கணுவுக்கு அனுப்ப வேண்டும். வரம்பை மீறினால் HTTP 413 உம்
-32600உம் கிடைக்கும். - ஒவ்வொரு முகவரிக்கும் நிமிடத்துக்கு 1,200 கோரிக்கைகள்,
rand_sendTransactionக்கு நிமிடத்துக்கு 6. வரம்பை மீறினால் HTTP 429 உம்-32005உம் கிடைக்கும். ஒரு பணப்பையின் முதல் ஒத்திசைவுக்கு ஏற்ப வாசிப்பு வரம்பு அமைக்கப்பட்டுள்ளது. அந்த ஒத்திசைவு ஒரே வெடிப்பில் பல நூறு கோரிக்கைகளை அனுப்புகிறது (chain 18 இன் 99,000 உயரத்தில் 645). - பின்னால் உள்ள கணு பதிலளிக்காதபோது
-32000upstream unavailableகிடைக்கும்.
இந்தப் பக்கத்தின் மற்ற அனைத்தும் கணுவையே விவரிக்கின்றன.
கணுவின் இரண்டு கேட்பான்கள்
v0.6.8 (audit v6) முதல் ஒரு கணுவுக்கு இரண்டு JSON-RPC கேட்பான்கள் உள்ளன.
--rpc <ADDR>, இயக்குநரின் கேட்பான். எல்லா முறைகளும், தொகுப்புகளும், WebSocket உம் இதில் கிடைக்கும். அழைப்பாளரை அதன் socket முகவரியால் அடையாளம் காண்கிறது, லூப்பேக்கை நம்புகிறது. பார்வைச் சாவி முறைகள் லூப்பேக்குக்கு மட்டுமே பதிலளிக்கின்றன, லூப்பேக் அளவிடப்படுவதில்லை. இதை127.0.0.1இலேயே வைத்திருங்கள். எதிர்ப் பதிலாளோ SSH முன்னனுப்பலோ லூப்பேக்கில்தான் வந்து சேர்கிறது. ஆகவே அவற்றுக்குப் பின்னால் ஒவ்வொரு பார்வையாளரும் இயக்குநராகவே தெரிவார். பொது முனையம் எதையும் இந்தப் போர்ட்டுக்குச் சுட்டாதீர்கள்.--public-rpc <ADDR>, பொதுக் கேட்பான், சரியாக அந்த இணைப்புப் படிக்கானது. இது ஒரு நிலையான முறைத் தொகுப்பை வழங்குகிறது: ஒரு பணப்பைக்கோ, உலாவிக்கோ, பக்கத்துக்கோ தேவையான வாசிப்புகளும்rand_sendTransactionஉம் (rpc::PUBLIC_METHODS).rand_importViewingKey,rand_getViewingNotes,rand_removeViewingKey,rand_mint,rand_getPeersஆகியவை அங்கு ஒருபோதும் வழங்கப்படுவதில்லை. பின்னர் சேர்க்கப்படும் எந்த முறையும் பட்டியலிடப்படும் வரை வழங்கப்படாது. அத்தகைய அழைப்பு-32000<method> is not served on this node's public listenerஎனப் பதிலளிக்கிறது. தொகுப்பு அனுப்பினால்-32600கிடைக்கும், WebSocket வழியும் இல்லை. ஒரே அளவி எல்லா அழைப்பாளர்களையும் சேர்த்து அளவிடுகிறது: ஒரு வெடிப்பில் 600 கோரிக்கைகள், வினாடிக்கு 150. அதை மீறினால்-32000உடலுடன் HTTP 429 கிடைக்கும். பார்வையாளர் வாரியான வரம்புகள் பதிலாளுக்கே உரியவை, ஏனெனில் பார்வையாளர்களைக் காண்பது அதுதான். பொதுக் கேட்பானின் அழைப்பாளர்கள் கணுவின் தடுக்கும்-வாசிப்பு இடங்களில் அதிகபட்சம் பாதியையே பிடிக்க முடியும். ஆகவே இயக்குநரின் கேட்பானுக்கு இடம் ஒருபோதும் தீர்ந்துபோவதில்லை.
இரண்டு கேட்பான்களும் இரண்டு வாசிப்பு வரம்புகளைப் பகிர்கின்றன. 30 s இற்குள் திரும்பாத தடுக்கும் வாசிப்புக்கு -32000 this read took longer than 30 s on this node; retry with a smaller range எனப் பதில் வரும். rand_getBlocks 64 MiB தொகுதிகளை வாசித்தவுடன் தன் பக்கத்தை முடிக்கிறது.
--rpc-viewing-token-file <PATH>, --rpc இன் பார்வைச் சாவி முறைகளுக்கு ஒரு தாங்கி டோக்கனை விதிக்கிறது. டோக்கன் என்பது கோப்பின் முதல் வரி, குறைந்தது 32 எழுத்துகள் கொண்டது. அது Authorization: Bearer <token> ஆக அனுப்பப்படுகிறது. இது அமைக்கப்பட்டால் லூப்பேக் மட்டும் போதாது. அதேவேளை, டோக்கனைக் காட்டும் அழைப்பாளர் எங்கிருந்தாலும் சேவை பெறுவார்.
மரபுகள்
- சரிபார்ப்பாளர் முகவரிகள் base58 சரங்கள் (32 பைட்டுகள்). ஹாஷ்கள் 64 hex எழுத்துகள்,
0xஉடனோ இல்லாமலோ. மறைக்கப்பட்ட மதிப்புகள்Word8வடிவில் உள்ளன: உறுதிமொழிகள், செல்லாக்கிகள், நங்கூரங்கள், மர வேர்கள், சாட்சி நிலைகள்.Word8என்பது 64 சிற்றெழுத்து hex எழுத்துகளாக எழுதப்படும் எட்டு little-endianu32சொற்கள். - மறைக்கப்பட்ட முகவரிகள்
rand1+ base58 வடிவில் 1,667 எழுத்துகள் கொண்டவை. 2,000 எழுத்துகளை விட நீளமான அளவுரு பகுக்கப்படும் முன்பே அதன் நீளத்தின் காரணமாக மறுக்கப்படுகிறது. - ஒவ்வொரு
u64தொகையும் ஒரு தசம சரம் ("1500000000"= 1.5 RAND; 1 RAND = 10⁹ அலகுகள்). இது RAND அலகுகளுக்கும் டோக்கன் அலகுகளுக்கும் பொருந்தும்; சங்கிலி நிலைக்கும், குறிவிலக்கப்பட்ட பரிவர்த்தனையின் சொந்தப் புலத்துக்கும் பொருந்தும். 2⁵³ ஐத் தாண்டிய JSON எண் துல்லியமான முழு எண் அல்ல. 9-தசம டோக்கனின் வழங்கல் சில பத்து மில்லியன் அலகுகளிலேயே அந்த எல்லையைத் தாண்டுகிறது. இதனால் என்ன மாறியது என்பதைக் கீழே உள்ள தேதியிட்ட குறிப்பில் காண்க. - குறியீட்டெண்கள், nonce கள், உயரங்கள், இலைக் குறியீட்டெண்கள், பார்வைகள், நீளங்கள், தசம இடங்கள், நாள் எண்ணிகள் (
mint_day) ஆகியவை ஒருபோதும் தொகைகள் அல்ல. அவை எங்கும் JSON முழு எண்களாகவே இருக்கும். - ஒவ்வொரு கோரிக்கையிலும் ஒரு
idஉறுப்பு இருக்க வேண்டும். அது இல்லாத பொருள் அறிவிப்பாகக் கருதப்பட்டு-32600உடன் மறுக்கப்படும். வெளிப்படையான"id": nullசாதாரணக் கோரிக்கையே. - இருப்பு முறையோ கணக்கு முறையோ இல்லை. பணப்பை தன் பார்வைச் சாவியைக் கொண்டு
rand_getCommitments,rand_getNullifiersஆகியவற்றை வருடி இருப்பைக் கணக்கிடுகிறது.rand_getBalance,rand_getAccount,rand_getAssetBalanceஆகியவை-32601எனப் பதிலளிக்கின்றன.
உடைக்கும் மாற்றம், 2026-09-20 (chain 14): ஒவ்வொரு தொகையும் தசம சரம்
chain 14 இற்கு முன், குறிவிலக்கப்பட்ட பரிவர்த்தனைக்குள் இருந்த தொகைகள் JSON முழு எண்களாக இருந்தன. அந்த விதிவிலக்கு இப்போது இல்லை. பின்வரும் புலங்கள் JSON எண்களிலிருந்து தசம சரங்களாக மாறின. அவற்றின் பொருளிலும் இடத்திலும் வேறு மாற்றம் இல்லை:
bundle.fee:rand_getTransactionஇன்txஇலும்,rand_getBlockByHeight/rand_getBlockByHashஇன்transactions[]இலும்;kind=mint,bond,unbond,withdraw,bridge_attestஆக இருக்கும்போதுaction.amount(அதே மூன்று முறைகள்);kind=bridge_burnஆக இருக்கும்போதுaction.amount,action.relayer_fee(அதே மூன்று முறைகள்);rand_getAssetsஇன் வரிசைகளிலும்rand_getBridgeState.assets[]இன் வரிசைகளிலும் உள்ளlocked.
இவற்றில் எதையாவது எண்ணாக வாசிக்கும் கிளையன்ட் இனி சரத்தைப் பகுக்க வேண்டும். rand_status இன் aggregation.subsidy_base (திரட்டல் சங்கிலிகளில் மட்டும்) இதே மாற்றத்தில் சரமாக மாறியது. மற்ற ஒவ்வொரு தொகையும் ஏற்கெனவே சரமாகவே இருந்தது: rand_getSupply, rand_getEmission, rand_getValidators, பார்வைக் குறிப்புகள், chain 14 உடன் அறிமுகமான ஒவ்வொரு புலமும். அந்தப் புலங்கள்: கட்டின் burn_a, burn_r; டோக்கன் வழங்கல்கள்; ஒவ்வொரு பின்னணி ஆதாரத்தின் locked, mint_cap_per_day, minted_today; registration_fee; token_mint, token_burn, register_token ஆகியவற்றின் amount (initial_amount, initial.amount).
தொகுப்புகள்
POST உடல் அதிகபட்சம் 20 கோரிக்கைப் பொருள்கள் கொண்ட அணியாக இருக்கலாம். அதற்கு அதே நீளமுள்ள அணி கோரிக்கை வரிசையிலேயே பதிலாக வரும், பிழைகள் உட்பட. கோரிக்கைகள் ஒன்றன்பின் ஒன்றாக இயங்குகின்றன. வெற்று அணி, 20 ஐத் தாண்டிய அணி, அல்லது பொருளும் அணியும் அல்லாத உடல் ஆகியவற்றுக்கு null id உடன் ஒற்றை -32600 கிடைக்கும். முழு உடலும் கணுவின் கோரிக்கை-உடல் வரம்புக்கு உட்பட்டதே. அந்த வரம்பு நிரூபணம் சுமக்கும் ஒரு பரிவர்த்தனைக்கு ஏற்ப அமைக்கப்பட்டுள்ளது. ஆகவே நிரூபணம் சுமக்கும் இரண்டு rand_sendTransaction அழைப்புகள் கொண்ட தொகுப்பு 413 உடன் மறுக்கப்படும். வாசிப்புகளைத் தொகுப்பாக அனுப்புங்கள், நிரூபிக்கப்பட்ட சமர்ப்பிப்புகளை அல்ல.
சங்கிலியும் கணுவும்
rand_chainId
அளவுருக்கள் []. முடிவு: சங்கிலி அடையாளம் (முழு எண்); testnet இல் 20.
rand_tokenInfo
அளவுருக்கள் []. முடிவு { "symbol": "RAND", "decimals": 9 }.
rand_getHead
அளவுருக்கள் []. முடிவு { "height": 1998, "hash": "…", "view": 2251 }. view என்பது கணுவின் தற்போதைய ஒருமித்தப் பார்வை. பார்வைகள் காலாவதியாகும்போது அது உயரத்தை விட முன்னே செல்கிறது.
rand_status (மாற்றுப்பெயர் rand_syncStatus)
அளவுருக்கள் []. முடிவு:
{
"height": 1998, "head_hash": "…", "view": 2251, "high_qc_view": 2250,
"syncing": false, "sync_target": 1998,
"sync_inflight_age_ms": null, "sync_failures": 0, "sync_late_batches": 0,
"peer_count": 26, "connected_peers": 26, "reserved_peers": 25, "ws_clients": 0, "refused_cache": 0,
"verify_queue": 0, "mempool_size": 0,
"is_validator": true, "active_validator": true, "faucet": true, "confidential": true,
"testnet": true, "fri_profile": "production", "programs": 10, "viewing_keys": 0,
"notes": 197, "nullifiers": 160, "tree_root": "72b9…1197", "hc_bundle": "60af…3fce", "hc_auth": "1e4e…39c1",
"binding_domain": 1,
"address": "5TAofR…", "peer_id": "12D3KooW…",
"gas_prices": { "gas_price": "100", "byte_price": "800" }
}
is_validator: இந்தக் கணு ஒரு சரிபார்ப்பாளர் சாவியை வைத்திருக்கிறது. active_validator: அந்தச் சாவி தற்போதைய காலகட்டத்தை இயக்கும் தொகுப்பில் உள்ளது. reserved_peers (v0.6.8) உள்வரும் இணைப்பு வரம்பைத் தாண்டி அனுமதிக்கப்பட்ட சக கணுக்களை எண்ணுகிறது: தொடக்கக் கணுக்கள், ஏதேனும் --reserved-peer, கையொப்பமிட்ட சக-கணு பிணைப்பிலிருந்து அறியப்பட்ட ஒவ்வொரு சரிபார்ப்பாளர் அடையாளமும். ஒவ்வொன்றும் ஒருமுறை மட்டுமே எண்ணப்படுகிறது. கணுக்குழுவின் கணு ஒன்றில், தொடங்கிய ஒரு நிமிடத்துக்குள் இது சரிபார்ப்பாளர் எண்ணிக்கையை எட்ட வேண்டும். viewing_keys என்பது கணு-பக்க வருடலுக்காகக் கணு நினைவகத்தில் வைத்திருக்கும் பார்வைச் சாவிகளின் எண்ணிக்கை. verify_queue என்பது நான்கு நிரூபண-சரிபார்ப்புப் பணியாளர்களில் ஒன்றுக்காகக் காத்திருக்கும் பரிவர்த்தனைகளின் எண்ணிக்கை (அதிகபட்ச ஆழம் 64). hc_bundle என்பது இந்தச் சங்கிலியின் நிரூபணங்கள் எந்தக் கட்டு விருந்தினர் நிரலுக்கு எதிராக உள்ளனவோ அது. hc_auth என்பது இதன் genesis நிலைநிறுத்தும் அங்கீகார விருந்தினர் நிரல் (பிரிக்கப்பட்ட அங்கீகாரம், chain 17 முதல்); அது இல்லாத சங்கிலியில் null. இவற்றில் எதனுடனாவது தன் உருவாக்கம் முரண்படும் கணு தொடங்க மறுக்கிறது. testnet, binding_domain ஆகியவை அதே பெயர்களைக் கொண்ட genesis புலங்கள், rand_getLimits வழங்குவது போலவே. gas_prices என்பது முனைப் பேரேட்டின் தற்போதைய கேஸ் விலைகள், ஒவ்வொரு commit இலும் புதுப்பிக்கப்படுபவை, தசம சரங்களாக. gas பகுதி இல்லாத சங்கிலியில் null. chain 20 இன் விலைகள் மாறும் தன்மை கொண்டவை, தொகுதி நிறைவைப் பொறுத்து ஒவ்வொரு தொகுதியிலும் நகர்கின்றன. அவை 100, 800 என்ற கீழ் வரம்புகளுக்குக் கீழோ 10,000, 80,000 என்ற மேல் வரம்புகளுக்கு மேலோ ஒருபோதும் செல்வதில்லை. ஆகவே அவற்றை இங்கோ rand_getLimits இலோ வாசியுங்கள், குறியீட்டில் நிலையாக எழுதாதீர்கள். இந்தப் பொருளில் ஒரு aggregation பொருளும் உள்ளது (அதன் subsidy_base தசம சரம், மீதி முழு எண்கள்). chain 20 போல aggregation பகுதி இல்லாத சங்கிலியில் அது முழுவதும் பூஜ்ஜியங்களைக் காட்டுகிறது.
இந்தப் பொருளில் disk_free_bytes (ஓர் எண்), disk_low ஆகியவையும், தக்கவைப்பு இணையும் உள்ளன. prune_floor என்பது இந்தக் கணு இன்னும் வைத்திருக்கும் மிகக் குறைந்த உயரம் (காப்பகத்தில் 0). prune_history_secs என்பது --prune-history உடன் தொடங்கிய கணு வைத்திருக்கும் கால அளவு (அனைத்தையும் வைத்திருக்கும்போது null). chain 19 இல் போலவே chain 20 இலும், 26 சரிபார்ப்பாளர்களில் 24 பேர் 24 மணிநேரத் தொகுதிகளை வைத்திருக்கின்றனர். இரண்டு காப்பகங்களும் எல்லாத் தொகுதிகளையும் வைத்திருக்கின்றன. கத்தரிக்கப்பட்ட கணுக்கள் காண்க.
rand_getPeers
அளவுருக்கள் []. முடிவு: { "peer_id": "12D3KooW…", "addrs": ["/ip4/…/tcp/30303"], "connected_secs": 1241 } பொருள்களின் அணி.
rand_getBlockByHeight / rand_getBlockByHash
அளவுருக்கள் [height] அல்லது [hash]. தெரியாவிட்டால் முடிவு null, இல்லையெனில்:
{
"hash": "647b…", "height": 50, "view": 92, "parent": "2d41…",
"proposer": "3v3VBJ…", "timestamp_ms": 1788000123456,
"tx_root": "0000…", "state_root": "a1b2…", "justify_view": 91,
"tx_count": 0, "transactions": [ ]
}
மட்டுமே செயல்படுத்தப்பட்ட (committed) தொகுதிகள் மட்டுமே வழங்கப்படுகின்றன. transactions என்பது rand_getTransaction இன் tx கொண்டுள்ள அதே வடிவத்தைக் கொண்டுள்ளது. ஒரு தொகுதி sealed ஐயும், அதன் ஒவ்வொரு பரிவர்த்தனையும் sealed_by ஐயும் கொண்டுள்ளன; ஒருங்கிணைப்பு இல்லாத சங்கிலியில் அவை முறையே false, null எனக் காட்டுகின்றன.
rand_getBlocks
அளவுருக்கள் [from_height, to_height]. முடிவு: தொகுதித் தலைப்புகள், பழையது முதலில், from_height இலிருந்து அதிகபட்சம் 1,024 (2026-09-24 க்கு முந்தைய முனையில் 128): transactions இல்லாத rand_getBlockByHeight இன் புலங்கள். வரம்பை விட அகலமான அல்லது சங்கிலியின் முனையைத் தாண்டிய வீச்சு மறுக்கப்படுவதில்லை, சுருக்கப்படுகிறது; v0.6.8 முதல் 64 MiB தொகுதிகளைப் படித்தவுடனும் ஒரு பக்கம் முடிவடைகிறது; திருப்பி அனுப்பப்பட்ட கடைசி உயரத்திலிருந்து முன்னேறுங்கள். to_height ஆனது from_height ஐ விடக் குறைவாக இருந்தால் -32602.
v0.6.8 முதல் ஒவ்வொரு தலைப்பும் public_notes ஐயும் கொண்டுள்ளது: தொகுதியின் bridge_attest, token_mint, register_token பரிவர்த்தனைகள், மேலும் பாலக் கட்டணங்கள் உள்ள சங்கிலியில் அதன் bridge_burn பரிவர்த்தனைகள், [{ "hash", "raw" }] வடிவில் (rand_getRawTransaction வழங்கும் குறியாக்கம்); மற்ற எல்லாத் தொகுதிகளுக்கும் இது காலியாக இருக்கும். ஓர் எரிப்பு அதன் நிரூபணங்கள் நீக்கப்பட்டு "proofs_stripped": true உடன் வழங்கப்படுகிறது; அதன் hash உண்மையான பரிவர்த்தனை அடையாளம் ஆகும். ஒரு பணப்பையின் முதல் ஒத்திசைவு இந்தப் பக்கங்களைப் படிக்கிறது; பொதுக் குறிப்புகளை மீண்டும் கட்டமைக்க அதற்கு வேறு எதுவும் தேவையில்லை.
rand_getFinality
அளவுருக்கள் [height] அல்லது [hash]. முடிவு, பின்வருவனவற்றில் ஒன்று: { "status": "committed", "height", "hash" }, { "status": "certified", "height", "hash", "qc_view" }, { "status": "proposed", "height", "hash" }, { "status": "unknown" }. ஓர் உயரம் எப்போதும் செயல்படுத்தப்பட்ட சங்கிலிக்கு எதிராக மட்டுமே சரிபார்க்கப்படுகிறது, எனவே அது committed அல்லது unknown எனப் பதிலளிக்கும்; ஒரு ஹாஷ் certified (கோரம் சான்றிதழுடன் பிரதியின் செயல்படுத்தப்படாத மரத்தில் உள்ளது) அல்லது proposed (சான்றிதழ் இல்லாமல் மரத்தில் உள்ளது) எனவும் காட்டலாம்.
rand_getProposer
அளவுருக்கள் [view] அல்லது [from_view, to_view], அதிகபட்சம் 64 பார்வைகள். முடிவு { "epoch": 3, "proposers": [ { "view": 2251, "proposer": "2nRdFC…" } ] }: தற்போதைய சரிபார்ப்பாளர் தொகுப்பின் கீழ் ஒவ்வொரு பார்வையின் தலைவர்; வரலாற்றில் அந்தப் பார்வையில் இயங்கிய தொகுப்பு அல்ல. பின்னோக்கிய வீச்சுக்கோ 64 க்கு மேற்பட்ட பார்வைகளுக்கோ -32602.
rand_getVersion
அளவுருக்கள் []. முடிவு { "version", "git_sha", "chain_id", "hc_bundle", "hc_auth", "fri_profile" }. version என்பது பணியிட crate பதிப்பு; git_sha என்பது உருவாக்க நேரத்தில் பதிவுசெய்யப்பட்ட commit ஹாஷ், கண்காணிக்கப்படும் கோப்புகள் வேறுபட்டிருந்தால் -dirty சேர்க்கப்பட்டிருக்கும், அல்லது "unknown". hc_auth என்பது rand_status இல் உள்ளது போலவே ஜெனிசிஸ் அங்கீகார விருந்தினர் நிரல், அல்லது null. 2026-10-01 அன்று chain 20 இல் பொது முனையம்:
{ "version": "0.6.8", "git_sha": "c9c9bd3c1903aa4cc5833b7ab8c62fc3e6942017", "chain_id": 20,
"hc_bundle": "60af094acfe65d85fdb18fb3d06cf9085dcf28c96e59e87f1ee527226e6e3fce",
"hc_auth": "1e4e347f44cf86750b30a9a4bdf9ec9256efe353d4ff8017451eca7d195639c1",
"fri_profile": "production" }
rand_getGenesisHash
அளவுருக்கள் []. முடிவு: பதினாறடிமான (hex) வடிவில் ஜெனிசிஸ் ஹாஷ்; chain 20 இல் "6210cf071a390d7ac61d8cbea5dd9d139d1a493a862b54a45a498f36af2d5135" (chain 19 இல் a3defc93…228a). சங்கிலி அடையாளம் மட்டும் இரண்டு சங்கிலி வெட்டுகளை வேறுபடுத்திக் காட்டாது; இது காட்டும். chain 20 இல் இது ஒவ்வொரு பரிவர்த்தனைப் பிணைப்பிலும், கையொப்பமிடப்பட்ட ஒவ்வொரு செயல் செய்தியிலும் ஒரு பகுதியாகும் (binding_domain: 1, காண்க rand_getLimits).
rand_getHealth
அளவுருக்கள் []. முடிவு, பின்வருவனவற்றில் ஒன்று: { "status": "disk_low", "free_bytes": "3221225472" }, { "status": "ok" }, { "status": "syncing", "behind": 412 }, { "status": "behind", "behind": 30 }. தரவு அடைவின் கோப்பு முறைமையில் உள்ள காலி இடம் முனையின் --min-free-disk-mb இன் நான்கு மடங்கிற்குக் கீழ் இருக்கும்போது (இயல்புநிலை 1024, எனவே 4 GB க்குக் கீழ்) disk_low மற்ற எல்லாவற்றுக்கும் முன்னுரிமை பெறுகிறது; free_bytes ஒரு பதின்ம எண் சரம். sync_target - height அதிகபட்சம் 2 ஆகவும் நிலுவையில் உள்ள ஒத்திசைவுத் தொகுதிக் கோரிக்கை ஏதும் இல்லாமலும் இருக்கும்போது ok; அப்படி ஒன்று நிலுவையில் இருக்கும்போது syncing; முனை ஒத்திசைக்காமல் இருந்தும் பின்தங்கல் 2 க்கு மேல் இருக்கும்போது behind.
rand_getMempoolInfo
அளவுருக்கள் []. முடிவு { "count": 2, "bytes": 2611200, "oldest_ms": 1450, "max_count": 10000 }. bytes என்பது குளத்தில் உள்ள ஒவ்வொரு பரிவர்த்தனையின் குறியாக்க நீளத்தின் கூட்டுத்தொகை; குளம் காலியாக இருக்கும்போது oldest_ms ஆனது null. v0.6.8 முதல் குளம் பைட்டுகளிலும் வரம்பிடப்படுகிறது, ஜெனிசிஸ் max_block_bytes இன் எட்டு மடங்கு (chain 20 இல் 160 MiB): அதைத் தாண்டினால், KiB ஒன்றுக்குத் தன் குறைந்தபட்ச வரம்பிற்கு மேல் அதிகம் செலுத்தும் பரிவர்த்தனை மலிவானதை இடம்பெயர்க்கிறது; குறைவாகவோ சமமாகவோ செலுத்துவது mempool full என மறுக்கப்படுகிறது. ஆளுகைச் செயல்கள் இரண்டு வரம்புகளையும் கடந்து செல்கின்றன.
சமர்ப்பித்தல்
rand_sendTransaction
அளவுருக்கள் [hex], இங்கு hex என்பது bincode(Transaction). முடிவு: பரிவர்த்தனை ஹாஷ். முனை ஏற்பு வரிசையில் சரிபார்த்து (பரிவர்த்தனைகள்), அதைக் குளத்தில் சேர்த்துப் பரப்புகிறது. பிழைகள் காரணத்துடன் -32000: nullifier already spent, anchor is not one of the last 1024 roots, time 12 is outside [1500, 2524] (இரண்டு சாளரங்களும் ஜெனிசிஸ் proof_window_blocks, chain 20 இல் 1,024; chain 19 வரையிலான சங்கிலிகளில் 256), fee 1000000 below minimum 2000000, the bundle's digest is not what its proof published, invalid bundle proof: …, unknown program …, already in mempool, conflicts with a pending transaction over <nullifier>, faucet is disabled on this chain; ஓர் invoke க்கு, cell <key> is no longer what this transition read (ஒரு நிலைத் தீர்ப்பு: கலத்தை மீண்டும் படித்து மீண்டும் நிரூபியுங்கள்) அல்லது the vault holds … of asset … and the transition pays …; வாக்கெடுப்பு மூலம் ஏற்பின் கீழ் பதிவுசெய்யும் Bond க்கு, validator … has not been admitted by the validator set's vote (staking.admission_by_vote); ask the validators for an AdmitValidator first; chain 20 இன் ஜெனிசிஸுக்குப் பொருந்தாத தொகுப்புக்கு, envelope is 1348 bytes, this chain requires exactly 1860, this chain requires an auth proof on every bundle (genesis hc_auth), the auth proof publishes a different commitment than the bundle's auth_commit, auth proof: …, bundle proof declares gas limit …, this chain requires exactly 20479, non-canonical proof: … — re-prove with an up-to-date wallet; பாலச் செயல்களுக்கு bridge: attestation already consumed, the attestation names a different recipient, the attestation deposits under asset 2, and the transaction names 1, the bundle burns 399, not the 400 the action declares; தன் செயல் கொண்டிருக்கக் கூடாத எரிப்பைக் கொண்ட தொகுப்புக்கு, the bundle burns asset 2 on an action that burns no token, a burn of 5 is not allowed on this action அல்லது RAND burned through burn_a (5); a RAND burn goes through burn_r; பாலத்தின் நிலைக்கு, bridge minting is paused, mint cap … per backing per day, already paused, not paused, wrong pause nonce, wrong list nonce, chain N has no registered emitter; டோக்கன் பதிவேட்டுக்கு, wrong mint nonce, wrong token index. ஏற்கப்படுதல் செயல்படுத்தப்படுதல் ஆகாது: rand_getTransaction அல்லது rand_getTransactionStatus ஐ மீண்டும் மீண்டும் வினவுங்கள்.
சங்கிலியின் தொகுதி வரம்பை (rand_getLimits இலிருந்து max_block_bytes) விடப் பெரிய பரிவர்த்தனை, mempool ஐ அடைவதற்கு முன்பே இரண்டு அளவுகளையும் குறிப்பிட்டு -32000 உடன் மறுக்கப்படுகிறது. கோரிக்கை உடல் 2 × (2 × max_proof_bytes + 4 × 2048 + max_call_envelope_bytes + 16,384 + 64 KiB) + 256 KiB என வரம்பிடப்படுகிறது, இது தொடக்கத்தில் ஜெனிசிஸிலிருந்து கணக்கிடப்படுகிறது: இயல்புநிலைச் சங்கிலியில் 8,867,840 பைட்டுகள், chain 20 இன் வரம்புகளில் 17,350,656, chain 17 முதல் 19 வரை உள்ளதைப் போலவே (நிரூபண வரம்பு 8 MiB ஆக இருந்த chain 13 முதல் 15 வரையில் 34,127,872). 4 × 2048 என்பது உறை வரம்பில் உள்ள தொகுப்பின் நான்கு உறைகள். இதைத் தாண்டும் உடல் வரம்பைக் குறிப்பிட்டு -32600 ஆகிறது.
-32000 (ஏற்பு அதை மறுத்தது), -32602 (அதைக் குறிவிலக்க முடியவில்லை) ஆகியவை மட்டுமே பரிவர்த்தனை மீதான தீர்ப்பாகும். -32603 உட்பட வேறு எந்தத் தோல்வியும் அதன் கதியை அறியப்படாததாக விடுகிறது: முனை பதிலளிப்பதற்கு முன்பே பரிவர்த்தனையைக் குளத்தில் சேர்த்துப் பரப்புகிறது, எனவே அந்த இடைவெளியில் நின்றுவிடும் முனை தான் ஒருபோதும் பதிலளிக்காத ஒன்றை ஏற்றிருக்கக்கூடும். randprotocol_client அந்த இரண்டு குறியீடுகளில் மட்டுமே ஓர் அனுப்புதலை மறுக்கப்பட்டதாகக் கருதுகிறது.
rand_getTransactionStatus
அளவுருக்கள் [[hash, …]], 1 முதல் 64 ஹாஷ்கள். முடிவு: ஒவ்வொரு ஹாஷுக்கும் ஒரு பதிவு, வரிசைப்படி:
[ { "hash": "…", "status": "committed", "height": 1998, "index": 0 },
{ "hash": "…", "status": "pending" },
{ "hash": "…", "status": "rejected", "reason": "bad mint signature" },
{ "hash": "…", "status": "unknown" } ]
ஒவ்வொரு ஹாஷுக்குமான தேடல் வரிசை: செயல்படுத்தப்பட்டது (சேமிப்பகம்), நிலுவையில் உள்ளது (mempool), நிராகரிக்கப்பட்டது (rand_status இன் refused_cache எண்ணும் மறுப்புத் தற்காலிகச் சேமிப்பு), இல்லையெனில் unknown. rejected என்பது பரிவர்த்தனையின் சொந்தப் பைட்டுகள் பற்றிய, எந்தப் பிந்தைய தொகுதியும் மாற்ற முடியாத மறுப்புகளை மட்டுமே உள்ளடக்குகிறது: செல்லாத நிரூபணம், தன் நிரூபணம் வெளியிட்டதாக இல்லாத தொகுப்புச் சுருக்கம், தவறான அச்சிடல் கையொப்பம், தவறான சங்கிலி அடையாளம், அளவுக்கு மீறிய பகுதி, பரிவர்த்தனைக்குள் மீண்டும் வரும் nullifier அல்லது commitment, தவறான அளவிலான உறை, இல்லாத அல்லது பொருந்தாத அங்கீகார நிரூபணம், தவறான gas வரம்பை அறிவிக்கும் தொகுப்பு அல்லது அங்கீகார நிரூபணம். அந்தக் கணத்தில் முனையின் நிலையைச் சார்ந்த மறுப்பு — செலவழிக்கப்பட்ட nullifier, சாளரத்திற்கு வெளியே உள்ள anchor அல்லது time, குறைந்தபட்ச வரம்பிற்குக் கீழ் உள்ள கட்டணம் (chain 20 இல் இது gas விலைகளுடன் மாறுகிறது), அறியப்படாத நிரல், பதிவு nonce, காலாவதியான invoke வாசிப்பு — நினைவில் வைக்கப்படுவதில்லை, அது unknown எனக் காட்டும். காலிப் பட்டியலுக்கோ 64 க்கு மேற்பட்ட ஹாஷ்களுக்கோ -32602.
rand_mint (testnet ஃபாசெட்)
அளவுருக்கள் [address] அல்லது [address, amount]; address ஒரு rand1… முகவரி, amount அதிகபட்சம் 100000000000 (100 RAND, இயல்புநிலை) அலகுகளைக் கொண்ட சரம். முடிவு: அச்சிடல் பரிவர்த்தனை ஹாஷ். ஜெனிசிஸில் "faucet": true உள்ள சங்கிலியில் மட்டுமே; இல்லையெனில் -32000 faucet is disabled on this chain. ஒரு கண்காணிப்பு முனை faucet mints are signed by validators; ask a validator node எனப் பதிலளிக்கிறது.
chain 20 போல (16 பணப்பைகள்) ஜெனிசிஸ் staking.faucet_recipients ஐ அமைக்கும் சங்கிலியில், பட்டியலிடப்பட்ட பணப்பைகளுக்கு மட்டுமே செலுத்த முடியும்: வேறு எந்த முகவரிக்குமான அச்சிடல் the faucet may not mint to this recipient (not in staking.faucet_recipients) என மறுக்கப்படுகிறது. chain 20 இன் ஜெனிசிஸ் staking.faucet_minters (18 சரிபார்ப்பாளர் விசைகள்) ஐயும் அமைக்கிறது: பட்டியலிடப்பட்ட விசை மட்டுமே அச்சிடலில் கையொப்பமிட முடியும். ஃபாசெட்டுக்கு ஒரு காலகட்டத்திற்கான வரவுசெலவும் உண்டு, staking.faucet_budget_per_epoch (chain 20 இல் 1,000 தொகுதிக் காலகட்டத்திற்கு 10,000 RAND); அதைத் தாண்டும் அச்சிடல் FaucetBudgetExhausted என மறுக்கப்படுகிறது, இது ஒரு நிலைத் தீர்ப்பு, குளத்தை விட்டு வெளியேறியதும் unknown எனக் காட்டும்.
கட்டண மதிப்பீட்டு வரம்பு ஒவ்வொரு node செயல்முறைக்கும் தனியாகப் பொருந்தும் வகையில் faucet அமைக்கப்பட்டுள்ளது: தொடர்ச்சியாக எட்டு mint-கள், பின்னர் வினாடிக்கு ஒன்று என்ற வீதத்தில் மீள்நிரப்பல். அதைத் தாண்டினால் அழைப்பு faucet is rate limited on this node (8 mints back to back, refilling at 1/s); try again shortly என்று பதிலளிக்கிறது. ஆகவே faucet வெள்ளம் ஒரு பால PauseMints-க்கு முன்பாகக் குளத்தை நிரப்ப முடியாது; அது, மற்ற மூன்று பால-ஆளுகைச் செயல்களைப் போலவே, குளத்தின் mempool full மறுப்பிலிருந்தும் விலக்கு பெற்று, ஒரு தொகுதியில் முதலாவதாக வரிசைப்படுத்தப்படுகிறது.
chain 14 முதல் ஒரு mint திறக்கப்பட்டது: Mint செயல் cm, amount ஆகியவற்றுடன் நோட்டின் pk, time, r ஆகியவற்றையும் கொண்டுசெல்கிறது; அனுமதிச் சோதனை உறுதிப்பாட்டை மீளக் கணக்கிட்டு, அவற்றுக்குத் திறக்காத cm-ஐ மறுக்கிறது (the mint's commitment does not open to its published note and amount); mint செய்பவர் ஏழு புலங்களையும் rand-mint-2 களத்தின் கீழ் கையொப்பமிடுகிறார்; chain 20-இல் (binding_domain: 1) genesis hash-ஐ முதலில் வைத்து rand-mint-3-இன் கீழ். ஆகவே, ஒரு withdraw-இன் செலுத்துகையைப் போலவே, faucet நோட்டின் உரிமையாளரும் தொகையும் பொதுவில் தெரிபவை. rand_mint-இன் அளவுருக்கள் மாறவில்லை.
rand_estimateFee
அளவுருக்கள் [spec]; இது {"kind":"bundle"}, {"kind":"deploy","words":n,"public_words":m}, {"kind":"call","tier":t,"bytes":b,"gas":g} ஆகியவற்றில் ஒன்று; t என்பது 10, 12, 14, 16, 18, 20 ஆகியவற்றில் ஒன்று. முடிவு: அலகுகளில் குறைந்தபட்சக் கட்டணம், ஒரு string ஆக. {"kind":"bundle"} என்பது "1000000". public_words (விருப்பத்தேர்வு, இயல்புநிலை 0) குறியீட்டைப் போலவே ஒவ்வொரு word-க்கும் கட்டணம் செலுத்தப்படுகிறது; ஆகவே கட்டணம் n + m words-இன் deploy கட்டணம் ஆகும். bytes (விருப்பத்தேர்வு, இயல்புநிலை 0) என்பது அழைப்பின் நிரூபண நீளமும் அதன் உள்ளீட்டு உறையின் நீளமும் சேர்ந்த தொகை.
ஓர் அழைப்பின் விலை rand_getLimits-இன் gas_metering-ஐப் பொறுத்தது:
"circuit", chain 20-ஐப் போலத் தனக்கெனgasபிரிவைக் கொண்ட chain.gasஎன்பது அழைப்பின் நிரூபணம் அறிவிக்கும் gas வரம்பு; அது கட்டாயம்: அது இல்லாவிட்டால் அழைப்பு-32602under the gas section a call estimate needs its gasஎன்று பதிலளிக்கிறது. பதில், முனையின் (tip) தற்போதைய விலைகளில், அதாவதுrand_getLimitsவழங்கும் விலைகளில்,1,000,000 + gas_price × gas + byte_price × ⌈bytes / 1024⌉ஆகும். chain 20-இன் அடிநிலை விலைகளான 100, 800-இல், 20,479 gas-ஐ அறிவித்து, நிரூபணமும் உறையும் சேர்ந்து 1,300,000 bytes கொண்ட அழைப்பு"4063900"ஆகும். விலைகள் ஒவ்வொரு தொகுதிக்கும் மாறுகின்றன; ஆகவே அனுப்புவதற்குச் சற்று முன்பு மதிப்பிடுங்கள்."header", அந்தப் பிரிவு இல்லாத chain-இல் node-நிலை gas கொள்கை. அழைப்பு speckeccak_log_height,sha256_log_heightஆகியவற்றை ஏற்கிறது (விருப்பத்தேர்வு, இயல்புநிலை 0, ஒவ்வொன்றும் 0 முதல் 40 வரை, இல்லையெனில்-32602); இவை நிரூபணத் தலைப்பு அறிவிக்கும் hash-அட்டவணை உயரங்கள். பதில், லெட்ஜரின் அடுக்கு அடிநிலைக் கட்டணம், அந்தத் தலைப்பின் gas அடிநிலைக் கட்டணம் ஆகிய இரண்டில் பெரியது.gasபிரிவின் கீழ் இந்த இரண்டு உயரங்களும் ஏற்கப்படுகின்றன, ஆனால் பயன்படுத்தப்படுவதில்லை.null, இரண்டும் இல்லை. லெட்ஜரின் அடுக்கு அட்டவணை மட்டும்: இலவச வரம்புக்குள் (2,097,152 + 18,432 bytes) உள்ள அழைப்புக்கு அதன் அடுக்கின் கட்டணம்; அதைத் தாண்டும் ஒவ்வொரு KiB-க்கும் 1,000 அலகுகள் சேர்க்கப்படுகின்றன; பகுதி KiB முழு KiB-ஆகக் கணக்கிடப்படுகிறது.
v0.6.8 முதல், {"kind":"invoke", …, "created_cells": c} ஒரு RPL-2 invoke-க்கு விலை நிர்ணயிக்கிறது: அழைப்பு spec-இன் ஒவ்வொரு புலமும், கூடவே created_cells (விருப்பத்தேர்வு, இயல்புநிலை 0, அதிகபட்சம் max_writes, இல்லையெனில் -32602), அதாவது அந்த நிலைமாற்றம் உருவாக்கும் செல்கள். ஒவ்வொன்றும் chain-இன் cell_fee-ஐச் (rand_getLimits.program_state) சேர்க்கிறது. அழைப்பவரே அவற்றை எண்ணுகிறார்: rand_getProgramCell பூஜ்யங்களாகப் படிக்கும் ஒரு செல்லில் பூஜ்யமல்லாத மதிப்பை எழுதுவது. chain 20-இல், இரண்டு உருவாக்கப்பட்ட செல்களுடன் மேலே உள்ள அழைப்பு "24063900" ஆகும். program_state பிரிவு இல்லாத chain-இல் இந்த kind -32602 ஆகும்.
கட்டணங்கள் பக்கத்தில் அட்டவணை உள்ளது.
குளம்
rand_getTreeInfo
அளவுருக்கள் []. முடிவு { "next_index": 41, "root": "6b1d…c4", "nullifiers": 12 }: இலைகளின் எண்ணிக்கை, தற்போதைய வேர், எத்தனை நோட்டுகள் செலவிடப்பட்டுள்ளன என்பது.
rand_getCommitments
அளவுருக்கள் [from_index] அல்லது [from_index, limit]. முடிவு: from_index-இலிருந்து தொடங்கும் இலைகளின் ஒரு பக்கம், பழையவை முதலில்; limit எவ்வளவு பெரிதாக இருந்தாலும் அதிகபட்சம் 1,000 வரிசைகள்.
[ { "index": 40, "cm": "2a9f…07", "height": 37,
"envelope": { "kem_ct": "b41c…", "to_receiver": "77e0…", "to_sender": "0c31…", "body": "9dd2…" } } ]
rand_getNullifiers
அளவுருக்கள் [from_height] அல்லது [from_height, limit]. முடிவு: அந்த உயரத்திலிருந்து வெளியிடப்பட்ட ஒவ்வொரு nullifier-உம், அதே 1,000-வரிசை உச்சவரம்புடன். ஒரு பக்கம் ஓர் உயரத்தின் நடுவில் நின்றுவிடலாம்; கண்ட மிக உயர்ந்த உயரத்திலிருந்து மீண்டும் பக்கமிடுங்கள்.
[ { "height": 37, "nullifier": "8c04…d1" }, { "height": 41, "nullifier": "12be…9a" } ]
rand_getCompactBlocks
அளவுருக்கள் [from_height, to_height], இரண்டும் கட்டாயம். முடிவு: ஒவ்வொரு தொகுதிக்கும் ஒரு வரிசை, பழையவை முதலில்; ஓர் இலகு wallet-க்குத் தேவையானவை மட்டும், வேறெதுவும் இல்லை:
[ { "height": 192, "hash": "63f6…08", "timestamp_ms": 1788000123456,
"commitments": [],
"transactions": [
{ "hash": "4f2c…e7",
"commitments": [ { "index": 40, "cm": "2a9f…07", "envelope": { "kem_ct": "…", "to_receiver": "…", "to_sender": "…", "body": "…" } } ],
"nullifiers": ["8c04…d1", "5e77…20", "03aa…6f", "e19b…42"] } ] } ]
bundle-ஐக் கொண்ட ஒவ்வொரு பரிவர்த்தனைக்கும் இங்கே நான்கு நோட்டுகளும் நான்கு nullifier-களும் உரியவை — அதன் நான்கு இடங்கள், போலி இடங்கள் உட்பட; எந்த வாசகராலும் அவற்றை உண்மையானவற்றிலிருந்து பிரித்தறிய முடியாது (எடுத்துக்காட்டின் முதல் உறுதிப்பாட்டு வரிசை மட்டுமே காட்டப்பட்டுள்ளது). v0.6.8 முதல் சில பரிவர்த்தனைகளுக்கு அந்த நான்குக்குப் பிறகு மேலும் நோட்டுகள் உரியவை: ஒரு invoke-க்கு ஒவ்வொரு செலுத்துகைக்கும் ஒரு நோட்டு, முதலில் pays பின்னர் mints, ஒவ்வொன்றும் அந்தச் செலுத்துகையின் சொந்த உறையுடன்; ஆகவே பெறுநர் அதைச் சோதனை மறைவிலக்கம் மூலம் கண்டறிகிறார்; chain 20-ஐப் போலப் பாலக் கட்டணங்கள் உள்ள chain-இல், ஒரு bridge_burn-க்கு அதன் கருவூலக் கட்டண நோட்டு உரியது, ஒரு bridge_attest-க்கு அதன் வைப்புக்குப் பிறகு அதன் கட்டண நோட்டு உரியது. கட்டண நோட்டின் உறை காலியானது, யாருக்கும் முத்திரையிடப்படாதது: கருவூல wallet அந்த நோட்டைப் பரிவர்த்தனையின் பொதுப் புலங்களிலிருந்து மீளக் கட்டமைக்கிறது.
ஓர் அழைப்புக்கு அதிகபட்சம் 128 தொகுதிகள் (இதைவிட அகலமான வரம்பு சுருக்கப்படுகிறது); முதல் தொகுதிக்குப் பிறகு — அது எப்போதும் முழுமையாக வழங்கப்படுகிறது — 1,000 நோட்டுகள்; கடைசியாகத் திருப்பப்பட்ட height-உடன் ஒன்றைக் கூட்டி அங்கிருந்து தொடருங்கள். தொகுதி-நிலை commitments அணி உயரம் 0-இல் genesis வைப்புகளைக் கொண்டுள்ளது, மற்ற இடங்களில் காலியாக உள்ளது; ஒரு Withdraw-இன் மற்றும் ஒரு BridgeAttest-இன் வருவிக்கப்பட்ட நோட்டுகள் அவற்றின் பரிவர்த்தனையின் கீழ் தோன்றுகின்றன. பின்னோக்கிய வரம்புக்கோ விடுபட்ட எல்லைக்கோ -32602.
rand_getAnchor
தலைக்கு அளவுருக்கள் [], அல்லது [height]. முடிவு { "height": 192, "root": "6b1d…c4" }; பதிவுசெய்யப்பட்ட நங்கூரம் இல்லாத உயரத்துக்கு -32001. தொகுதி-இறுதி வேர்கள் மட்டுமே நங்கூரங்கள். node பழைய உயரத்துக்கும் பதிலளிக்கலாம், ஆனால் ஒரு bundle-இன் நங்கூரம் கடைசி proof_window_blocks வேர்களில் ஒன்றாக இருந்தால் மட்டுமே ஏற்கத்தக்கது: chain 20-இல் 1,024, chain 19 வரையிலானவற்றில் 256. தலைக்கு எதிராகக் கட்டமையுங்கள்.
rand_getWitness
அளவுருக்கள் [index]. மரத்தின் முடிவைத் தாண்டினால் முடிவு null; இல்லையெனில் அந்த இலையின் Merkle பாதை, இலை முதலில், சரியாக 32 நிலைகள், மரத்தின் தற்போதைய வேருடன்:
{ "index": 40, "root": "6b1d…c4", "path": ["0000…00", "f2a1…3b", "…"] }
node வழங்கும் மிகச் செலவான வாசிப்பு இது (இது முழு ஆழம்-32 மரத்தையும் மீளக் கட்டமைக்கிறது); அழைப்பவரைப் பற்றி எதையாவது வெளிப்படுத்தும் ஒரே கோரிக்கையும் இதுவே. ஒரு node ஒரே நேரத்தில் அதிகபட்சம் இரண்டு மர மீள்கட்டமைப்புகளை இயக்குகிறது, rand_getWitness, rand_getWitnesses இரண்டும் சேர்ந்து; ஓர் இடத்துக்காக 10 s-க்கு மேல் காத்திருக்கும் கோரிக்கை -32000 witness builds are busy on this node; retry shortly உடன் மறுக்கப்படுகிறது.
rand_getWitnesses
அளவுருக்கள் [[index, …]], 1 முதல் 32 இலைக் குறியெண்கள். முடிவு { "root": "…", "witnesses": [ { "index": 7, "path": ["…"] }, { "index": 9, "path": null } ] }: பல இலைகளின் மீது ஒரே மரக் கட்டமைப்பில் மடிக்கப்பட்ட rand_getWitness; ஆகவே பல நோட்டுகளை நிரூபிக்கும் wallet மீள்கட்டமைப்புக்கு ஒருமுறை மட்டுமே செலவிடுகிறது. மரத்தின் முடிவைத் தாண்டிய குறியெண்ணுக்கு அந்த உள்ளீட்டில் path: null எனப் படிக்கப்படும். காலியான பட்டியலுக்கோ 32-க்கு மேற்பட்ட குறியெண்களுக்கோ -32602.
பார்வை விசைகளும் வெளிப்படுத்தலும்
rand_importViewingKey
அளவுருக்கள் [viewing_key] அல்லது [viewing_key, rescan_from_height]; விசை 64 hex எழுத்துகளாக. முடிவு { "imported": true, "rescan_from_height": 0, "viewing_keys": 3 }. node விசையை நினைவகத்தில் மட்டுமே வைத்திருக்கிறது: ஒரு node-க்கு அதிகபட்சம் 64, மறுதொடக்கத்தில் அழிக்கப்படும்; ஏற்கெனவே வைத்திருக்கும் விசை எந்த மாற்றத்தையும் ஏற்படுத்தாது ("imported": false). இறக்குமதி ஒருபோதும் வருடுவதில்லை; வருடல் அடுத்த முறையால் இயக்கப்படுகிறது. தவறான வடிவ விசைக்கு -32602; 65-ஆவது விசைக்கு -32000.
மூன்று பார்வை-விசை முறைகளும் loopback அழைப்பவருக்கு மட்டுமே பதிலளிக்கின்றன, மற்ற எவரையும் -32000 உடன் மறுக்கின்றன; node அங்கீகரிக்கும் ஏதோ ஒன்றின் பின்னால் --rpc-viewing-open உடன் இயங்கினால் மட்டுமே விதிவிலக்கு. rand_removeViewingKey ([viewing_key] → { "removed": bool, "viewing_keys": n }) ஓர் இடத்தை விடுவித்து விசையைப் பூஜ்யமாக்குகிறது. பதிவேடு விசையின் ஒருவழி அடையாளமான blake3("rand-viewing-registry-id-1" ‖ nk) மூலம் குறியிடப்படுகிறது, விசையாலேயே ஒருபோதும் அல்ல; ஆகவே இறக்குமதியே நீண்டகாலம் நிலைக்கும் ஒரே நகல், நீக்கம் அதை அழிக்கிறது. கோரிக்கையின் சொந்த JSON உரையும் சோதனை மறைவிலக்கம் உருவாக்கும் தற்காலிக நகல்களும் அழிக்கப்படுவதில்லை.
rand_getViewingNotes
அளவுருக்கள் [viewing_key] அல்லது [viewing_key, from_index, limit] (limit-இன் இயல்புநிலையும் அதிகபட்சமும் 1,000). ஒவ்வொரு அழைப்பும் விசையின் வருடலை 10,000 இலைகள் வரை முன்னேற்றி, பின்னர் பக்கத்தை வழங்குகிறது:
{ "scanned_index": 10041, "next_index": 10041, "complete": true,
"notes": [
{ "index": 40, "cm": "2a9f…07", "height": 37, "role": "received",
"note": { "pk": "…", "from": "…", "amount": "1500000000", "asset": 0, "time": 5, "memo": "coffee" },
"nullifier": "8c04…d1", "spent": false },
{ "index": 43, "cm": "b310…88", "height": 39, "role": "sent",
"note": { "pk": "…", "from": "…", "amount": "25000000", "asset": 0, "time": 9, "memo": null },
"nullifier": null, "spent": null } ] }
role என்பது received (உறை பெறுநராகத் திறக்கப்பட்டு, நோட்டு விசையின் pk-ஐக் குறிப்பிடுகிறது) அல்லது sent (வெளிச்செல்லும் பார்வை விசை மூலம் திறக்கப்பட்டது). நோட்டின் memo அனுப்புநரின் மறையாக்கப்பட்ட குறிப்புரை, அதிகபட்சம் 510 bytes கொண்ட UTF-8 உரை; அது இல்லாதபோது அல்லது அதன் புலம் தவறான வடிவில் திறந்தபோது null; தவறான வடிவக் குறிப்புரை பெறுநருக்கு நோட்டை ஒருபோதும் இழக்கச் செய்வதில்லை. குறிப்புரை யார் வேண்டுமானாலும் எழுதும் உரை: அதை நம்பகமற்றதாகக் காட்டுங்கள். இந்த node இறக்குமதி செய்யாத விசைக்கு -32001.
rand_checkTransaction
அளவுருக்கள் [hash, key]; key என்பது 64 hex எழுத்துகளாக, ஒரு பரிவர்த்தனைக்குரிய TxKey. அறியப்படாத hash-க்கு முடிவு null; இல்லையெனில் விசை வெளிப்படுத்துவது:
{ "tx": "4f2c…e7", "height": 192,
"disclosed": [ { "output": "bundle:0", "cm": "2a9f…07", "index": 40,
"note": { "pk": "…", "from": "…", "amount": "1500000000", "asset": 0, "time": 5, "memo": "invoice 7" } } ] }
நிலையற்றது: அழைப்புடன் விசை கைவிடப்படுகிறது. output என்பது தொகுப்பின் நான்கு வெளியீட்டு இடங்களுக்கு bundle:0 … bundle:3 (இடங்கள் 0–1 தனிப்பட்ட சொத்தின் வெளியீடுகள், இடங்கள் 2–3 RAND வெளியீடுகள், போலிகள் உட்பட), ஒரு பாலச் சான்றளிப்பின் வைப்பு உறைக்கு deposit, ஒரு TokenMint-இன் குறிப்புக்கு token_mint, ஒரு RegisterToken-இன் தொடக்க உருவாக்கத்துக்கு initial_mint, ஒரு faucet உருவாக்கத்தின் ஒரே உறைக்கு mint:0, அல்லது (v0.6.8) ஒரு invoke செலுத்திய குறிப்புகளுக்கு payout:0 … payout:3 ஆகும். அவை மாற்றத்தில் அவற்றின் இடத்தின்படி எண்ணிடப்படுகின்றன: முதலில் pays, பின்னர் mints. இரண்டாவது தொகுப்புடன் asset_bundle:* நீக்கப்பட்டது. பாலக் கட்டணங்கள் உள்ள சங்கிலியில், deposit நிகர வைப்பைத் திறக்கிறது, அதாவது மொத்தத் தொகையிலிருந்து கட்டணத்தைக் கழித்தது. வெளிப்படுத்தப்பட்ட note அதன் asset-ஐக் கொண்டுள்ளது. அனுப்புநர் முத்திரையிட்ட விசையுடன் இந்த அழைப்பு செய்யப்படும்போது, ஒரு பரிமாற்றம் எந்தச் சொத்தை நகர்த்தியது என்பதை RPC வெளிப்படுத்தும் ஒரே இடம் இதுதான். rand_getViewingNotes செய்வது போலவே அது memo-வையும் கொண்டுள்ளது: குறிப்பைத் திறக்கும் விசையே, அதே முத்திரையிடப்பட்ட உள்ளடக்கத்திலிருந்து, மெமோவையும் திறக்கிறது. தவறான விசை { "disclosed": [] } என்பதைத் தருகிறது. இது எதையும் வெளிப்படுத்தாத ஒரு பரிவர்த்தனையிலிருந்து வேறுபடுத்த முடியாதது. திரும்பப்பெறுதலின் உறைகளும் ஜெனிசிஸ் ஒதுக்கீட்டின் உறைகளும் முயற்சிக்கப்படுவதில்லை: அவை கணுவுக்குள்ளேயே உடனடியாகக் கைவிடப்படும் விசைகளின் கீழ் முத்திரையிடப்படுகின்றன. எனவே அவற்றுக்கு TxKey எதுவும் இல்லை. faucet உருவாக்கத்தின் உறை முயற்சிக்கப்படுகிறது: அதன் பெறுநர் உறையின் KEM பகுதியின் வழியாக விசையை மீட்டெடுக்கிறார் (rand tx-key).
பரிவர்த்தனைகள்
rand_getTransaction
அளவுருக்கள் [hash]. பதிவு செய்யப்படும் வரை முடிவு null, அதன் பின்னர்:
{
"height": 192, "index": 0, "block_hash": "63f6…08",
"tx": {
"hash": "4f2c…e7", "chain_id": 20,
"bundle": { "anchor": "6b1d…c4",
"nullifiers": ["8c04…d1", "5e77…20", "03aa…6f", "e19b…42"],
"commitments": ["2a9f…07", "b310…88", "77c1…0e", "5d20…b3"],
"fee": "1000000", "burn_a": "0", "burn_r": "0", "burn_asset": 0, "time": 5,
"proof_len": 1490435, "envelope_len": [1860, 1860, 1860, 1860],
"auth_commit": "9217…ee9e", "auth_proof_bytes": 1361161 },
"action": { "kind": "none" }
}
}
தொகுப்பு இல்லாத செயல்களில் bundle என்பது null ஆகும். சான்றுகளும் உறைகளும் அவற்றின் நீளத்தால் மட்டுமே தெரிவிக்கப்படுகின்றன. சங்கிலி 20-இல் ஒவ்வோர் இடத்துக்கும் envelope_len 1,860 ஆகும். அதன் ஜெனிசிஸ் குறிப்பு உறையை அந்த அளவில் நிர்ணயிக்கிறது (rand_getLimits-இல் envelope_bytes). சங்கிலிகள் 14 முதல் 17 வரை அது 1,348 ஆக இருந்தது. auth_commit, auth_proof_bytes ஆகியவை பிரிக்கப்பட்ட அங்கீகாரத்துக்கு உரியவை (சங்கிலி 17 முதல்): தொகுப்புச் சான்றும் அங்கீகாரச் சான்றும் இரண்டுமே வெளியிடும் பொது உறுதிமொழி c = H(AUTH, nk, salt), மற்றும் அங்கீகாரச் சான்றின் நீளம். hc_auth இல்லாத சங்கிலியில் அவை பூஜ்ஜியங்களும் 0-உம் ஆகும்.
bundle என்பது மறைக்கப்பட்ட-சொத்துத் தொகுப்பு (சங்கிலி 14 முதல்): நான்கு உள்ளீட்டு இடங்களும் நான்கு வெளியீட்டு இடங்களும். எனவே போலிகள் உட்பட எப்போதும் நான்கு nullifiers, நான்கு commitments, நான்கு envelope_len இருக்கும். ஒவ்வொரு பரிவர்த்தனையும் அதிகபட்சம் ஒரு தொகுப்பைக் கொண்டுள்ளது; இரண்டாவது தொகுப்பு இல்லை. அதில் asset புலம் இல்லை: இடங்கள் 0–1 ஒரு தனிப்பட்ட சொத்தையும் இடங்கள் 2–3 RAND-ஐயும் கொண்டுள்ளன. இடங்கள் 0–1 எந்தச் சொத்தை நகர்த்தின என்பதைப் பொதுவில் எதுவும் கூறுவதில்லை. RAND பரிமாற்றமும் எந்தவொரு RPL டோக்கனின் பரிமாற்றமும் இரண்டுமே burn_a, burn_r, burn_asset அனைத்தும் 0 ஆக உள்ள "kind": "none" ஆகும். புலத்துக்குப் புலம் ஒரே வடிவம். token_transfer வகை எதுவும் இல்லை. மறைக்கப்பட்ட தொகுப்பிலிருந்து மதிப்பு வெளியேறுவது பற்றித் தொகுப்பு வெளியிடும் ஒரே பொது அறிக்கை இந்த மூன்று எரிப்புப் புலங்கள்தான்:
burn_a/burn_asset: எரிக்கப்பட்ட தனிப்பட்ட சொத்தின் அளவும், அது எந்தச் சொத்து என்பதும்.token_burnஅல்லதுbridge_burnஒன்றில் இவை பூஜ்ஜியமற்றவை. அங்கு இவை செயலின்amount,assetஆகியவற்றுக்குச் சமம்.inflowஎன்பதுdepositஅல்லதுburnஆக உள்ள ஒருinvoke-இலும் இவை பூஜ்ஜியமற்றவை.burn_r: எரிக்கப்பட்ட RAND. ஒருbond-இல் (அதன்amount-க்குச் சமம்), ஒருregister_aggregator-இல், மற்றும் நிரலின் பெட்டகத்தில் RAND-ஐ வைப்பு செய்யும் ஒருinvoke-இல் இது பூஜ்ஜியமற்றது.fee: RAND கட்டணம், எப்போதும் இடங்கள் 2–3-இலிருந்து.
செயல் வடிவங்கள் (ஒவ்வொரு amount, relayer_fee, initial_amount-உம் ஒரு தசமச் சரம். ஒரு டோக்கனின் அளவுகள் RAND-இன் அலகுகளில் அல்ல, அதன் சொந்த அலகுகளில் உள்ளன):
| வகை | புலங்கள் |
|---|---|
none | — |
mint | cm, amount, minter (சரிபார்ப்பாளர் base58) |
deploy | program, words, public_words_len |
call | program, proof_len, input_envelope_len (அழைப்பில் உறை இல்லாதபோது null) |
bond | validator, amount, registered |
unbond | validator, amount, nonce |
withdraw | validator, amount, nonce, time |
bridge_attest | attestation_len, recipient, asset, asset_index, amount, time, r, commitment, pq_signers (இணைந்து கையொப்பமிட்ட காப்பாளர்களின் pq_guardians-க்குள் உள்ள குறியீட்டெண்கள்; 2,420-பைட் கையொப்பங்கள் காட்டப்படுவதில்லை). காப்பாளர்-தொகுப்புச் சுழற்சிக்கு asset_index, amount, commitment ஆகியவை null ஆகும். r வருவிக்கப்படுகிறது: காப்பாளர்கள் கையொப்பமிட்ட சுருக்கத்தின் மீது blake3("rand-deposit-r-1" ‖ mu). v0.6.8 முதல் deposit_amount (வைப்பாளரின் குறிப்பு: காப்பாளர்கள் கையொப்பமிட்ட மொத்தத் தொகையான amount-இலிருந்து பாலக் கட்டணத்தைக் கழித்தது), fee_note ({ amount, asset, time, r, commitment }, உரிமையாளர் இல்லாத கருவூலத்தின் குறிப்பு, அல்லது பாலக் கட்டணங்கள் இல்லாதபோது null) ஆகியவையும் உள்ளன. commitment என்பது நிகர வைப்பின் இலை |
bridge_burn | asset, amount, relayer_fee, to_chain, token (மீட்கப்படும் ஆதாரம்), to. ஒரே தொகுப்பு முழு எரிப்பையும் கொண்டுள்ளது: அதன் burn_asset, burn_a ஆகியவை செயலின் asset, amount ஆகும். v0.6.8 முதல், சான்றளிப்பில் உள்ளது போலவே, release_amount (கையொப்பமிட்ட உள்ளடக்கம் விடுவிப்பது, amount-இலிருந்து பாலக் கட்டணத்தைக் கழித்தது), fee_note ஆகியவையும் உள்ளன |
register_token | name, symbol, decimals, authority ("none", "key", "bridge" அல்லது "program"), index, initial_amount, initial ({ amount, recipient, time, r } அல்லது null) |
token_mint | asset, amount, recipient, time, r, nonce |
set_authority | asset, nonce, new_authority (base58, அல்லது கைவிடுதலுக்கு null) |
token_burn | asset, amount; தொகுப்பின் burn_asset / burn_a அவற்றையே மீண்டும் தருகின்றன |
pause_mints | nonce; தொகுப்பும் கட்டணமும் இல்லாதது, ஜெனிசிஸ் இடைநிறுத்த விசையால் கையொப்பமிடப்பட்டது |
unpause_mints | nonce, pq_signers; தொகுப்பும் கட்டணமும் இல்லாதது |
register_bridged_token | name, symbol, salt, chain, token, decimals (முதல் ஆதாரத்தின் மூலத் தசம இடங்கள்), nonce, asset_id, pq_signers |
list_backing | token_index, chain, token, decimals, nonce, pq_signers |
rotate_pq_guardians | new_pq_guardians, nonce (செலவிடப்பட்ட rotation_nonce), pq_signers (சுழற்சிக்கு முந்தைய PQ தொகுப்புக்குள் உள்ள குறியீட்டெண்கள்); தொகுப்பும் கட்டணமும் இல்லாதது, பாலம் rules_v2 சங்கிலிகளில் மட்டும் |
rotate_pause_key | new_pause_key, nonce, pq_signers; மேலே உள்ளதைப் போலவே |
rotate_pq_guardians_v2, rotate_pause_key_v2 | v0.6.8: v1 புலங்கள், அத்துடன் PQ வடிவத்தில் possession_signatures (ஓர் எண்ணிக்கை). தொகுப்பும் கட்டணமும் இல்லாதவை. ஜெனிசிஸ் bridge.rotation என்பது needs_possession-ஐ அமைக்கும் சங்கிலியில் இவை கட்டாயம். சங்கிலி 20-இன் ஜெனிசிஸ் அதை அமைக்கிறது. சுழற்சி delay_secs நேரத்துக்குப் பின்னர் நடைமுறைக்கு வருகிறது (சங்கிலி 20-இல் 86,400 s) |
cancel_rotation | v0.6.8: rotation_kind ("pq_guardians" அல்லது "pause_key"), nonce; தற்போதைய இடைநிறுத்த விசையால் கையொப்பமிடப்பட்டது, நிலுவையில் உள்ள ஒரு சுழற்சியைக் கைவிடுகிறது |
admit_validator | v0.6.8: candidate (முகவரி), candidate_key (hex), voters (முகவரிகள்). தொகுப்பும் கட்டணமும் இல்லாதது: staking.admission_by_vote உள்ள சங்கிலியில், ஒரு புதிய விசை பதிவு செய்ய அனுமதிக்கும் சரிபார்ப்பாளர் தொகுப்பின் வாக்கு. சங்கிலி 20 அத்தகையது |
slash_equivocation | v0.6.8: offender, view, first, second ({ hash, height }); staking.slashing உள்ள சங்கிலிகளில் மட்டும். சங்கிலி 20 அத்தகையது அல்ல |
invoke | v0.6.8, RPL-2: ஓர் அழைப்பின் புலங்கள் (program, proof_len, input_envelope_len), அதன் transition (கீழே காண்க). program_state பிரிவு உள்ள சங்கிலிகளில் மட்டும். சங்கிலி 20 அத்தகையது |
register_aggregator, unbond_aggregator, withdraw_aggregator, slash_aggregator, aggregate | அவற்றின் பொதுப் புலங்கள்; திரட்டல் சங்கிலிகளில் மட்டும் |
claim_vested, revoke_vesting, bond_vested, unbond_vested | entry (hex), amount (திரும்பப்பெறுதலில் unvested), nonce; உரிமைகோரலிலும் திரும்பப்பெறுதலிலும் time; பிணைப்பில் validator, registers; v0.6.8 முதல் திரும்பப்பெறுதலில் signers (பதிவின் revokers-இல் அதன் கையொப்பமிட்டவர்களின் நிலைகள்). தொகுப்பு இல்லாதவை; ஜெனிசிஸ் vesting பிரிவு உள்ள சங்கிலிகளில் மட்டும். சங்கிலி 20 அத்தகையது அல்ல |
பாலம் வழியான வைப்பைப் போலவே, ஒரு டோக்கனின் பதிவும் உருவாக்கங்களும் பொதுவானவை: உருவாக்கப்பட்ட குறிப்பின் ஒவ்வொரு சொல்லும் செயலில் உள்ளது (அதன் from என்பது சங்கிலியின் நிலையான MINT_FROM). எனவே பெறுநர் எதையும் மறைவிலக்காமலேயே இந்தப் புலங்களிலிருந்து குறிப்பை மீண்டும் உருவாக்குகிறார். bridge_attest, token_mint, register_token, invoke ஆகிய வகைச் சரங்களைக் கொண்டுதான் பணப்பையின் ஸ்கேன் செயல்படுகிறது. இவை ஒரு சோதனையால் உறுதிப்படுத்தப்பட்டுள்ளன.
சங்கிலி 20-இன் உயரம் 3,079-இல் உள்ள ஒரு invoke. அது ஒரு கலத்தைப் படித்து, அதை நீக்கி, பெட்டகத்திலிருந்து இரண்டு குறிப்புகளைச் செலுத்தியது:
{ "kind": "invoke", "program": "aaaf…4b21", "proof_len": 1433874, "input_envelope_len": null,
"transition": {
"reads": [{ "key": "0100…fa98", "value": "0000000004000000…00000000" }],
"writes": [{ "key": "0100…fa98", "value": "0000000000000000000000000000000000000000000000000000000000000000" }],
"inflow": "none",
"pays": [{ "asset": 0, "amount": "1000000000", "recipient": "rand1…", "time": 3027, "r": "87e6…9a67", "cm": "2555…6487" },
{ "asset": 4, "amount": "2000000000", "recipient": "rand1…", "time": 3027, "r": "b833…f390", "cm": "2b70…f204" }],
"mints": [] } }
இவை அனைத்தும் வடிவமைப்பின்படியே பொதுவானவை. reads என்பவை நிரல் படித்த கலங்களும் அது படித்த மதிப்புகளும். சான்று அவற்றுக்கு எதிராக உருவாக்கப்பட்டது. அவை இன்னும் அதே மதிப்புகளைக் கொண்டிருந்தால் மட்டுமே பேரேடு பரிவர்த்தனையை ஏற்கிறது. writes என்பவை அது எழுதிய கலங்கள்; 64 பூஜ்ஜியங்கள் கொண்ட எழுதப்பட்ட மதிப்பு கலத்தை நீக்குகிறது. ஒரு கல விசையும் மதிப்பும் Word8 ஆகும். உள்ளே வந்தது தொகுப்புக்கு உரியது: burn_r என்பது நிரலின் பெட்டகத்தில் வைப்பு செய்யப்பட்ட RAND. burn_asset-இன் burn_a என்பது inflow குறிப்பிடும் டோக்கன்: பெட்டகத்தில் வைப்பு செய்யப்பட்டால் deposit, நிரலின் சொந்த டோக்கன் என்றால் burn, burn_a 0 ஆக இருக்கும்போது none. வெளியே சென்றது ஒவ்வொரு செலுத்துகைக்கும் சங்கிலி கணக்கிட்ட ஒரு குறிப்பு: முதலில் பெட்டகத்திலிருந்து pays, பின்னர் இந்த நிரலை உருவாக்க அதிகாரமாகக் கொண்ட டோக்கனின் mints. ஒவ்வொரு குறிப்பின் ஒவ்வொரு சொல்லும் token_mint-இன் புலப் பெயர்களின் கீழ் இங்கே உள்ளது. time என்பது தொகுப்புக்கு உரியது, cm என்பது சங்கிலி இணைத்த இலை, குறிப்பின் from என்பது சங்கிலியின் நிலையான PROGRAM_FROM ஆகும். ஓர் அழைப்பின் வெளியீட்டுச் சொற்களைப் போலவே, நிரலின் எட்டு வெளியீட்டுச் சொற்களும் ரசீதில் உள்ளன.
எந்தப் பரிமாற்றப் பதிலிலும் அனுப்புநர், பெறுநர், nonce, அளவு அல்லது சொத்து இருப்பதில்லை: சேமிக்கப்பட்ட பரிமாற்றத்தில் அத்தகைய புலம் எதுவும் இல்லை.
rand_getRawTransaction
அளவுருக்கள் [hash]. முடிவு: பதிவு செய்யப்பட்ட முழுப் பரிவர்த்தனை, சான்று பைட்டுகள் உட்பட, bincode hex வடிவில். இது ஒரு திரட்டிக்குத் தேவையானது; rand_getTransaction இதை ஒருபோதும் காட்டுவதில்லை.
நிரல்களும் ரசீதுகளும்
rand_getProgram
அளவுருக்கள் [program_id]. முடிவு null அல்லது { "id", "base_pc", "words_len", "code_hash", "deployed_at", "public_words_len", "public_digest" }. deployer புலம் இல்லை: நிரல் வெளியீட்டுக்கான கட்டணம் ஒரு தொகுப்பால் செலுத்தப்படுகிறது. public_words_len என்பது நிரல் வெளியீட்டு நேரத்தில் தரப்படும் பொது உள்ளீட்டின் நீளம் (அது இல்லையெனில் 0). public_digest என்பது அதன் சுருக்கம். ஒவ்வோர் அழைப்பின் சான்றும் இந்த மதிப்புக்கு எதிராகச் சரிபார்க்கப்படுகிறது. அது இல்லையெனில் null.
rand_getProgramCode
அளவுருக்கள் [program_id]. முடிவு null அல்லது { "base_pc": 0, "words": [ … ] }.
rand_getProgramPublic
அளவுருக்கள் [program_id]. முடிவு: நிரல் நிறுவப்பட்ட நேரத்தில் அமைந்த பொதுச் சொற்கள், ஒரே hex சரமாக; ஒவ்வொரு சொல்லும் அதன் 4 little-endian பைட்டுகளாக (ஒரு சொல்லுக்கு 8 hex இலக்கங்கள்): [1, 2, 0xdeadbeef] என்பது "0100000002000000efbeadde". பொது உள்ளீடு இல்லாமல் நிறுவப்பட்ட நிரலுக்கு "", எந்த நிரலுக்கும் உரியதல்லாத id-க்கு null. ஓர் அழைப்பை நிரூபிக்கும் பணப்பை இந்தச் சொற்களை நிரூபிப்பானுக்கு வழங்குகிறது; பேரேடு நிரூபணத்தின் உறுதிப்பாட்டை நிரலின் public_digest-உடன் ஒப்பிட்டுச் சரிபார்க்கிறது.
rand_getProgramCell
v0.6.8, RPL-2. அளவுருக்கள் [program_id, key]; விசை என்பது 64 hex ஆக ஒரு Word8 (0x உடனோ இல்லாமலோ). முடிவு { "key": "<64 hex>", "value": "<64 hex>" }. நிரல் ஒருபோதும் எழுதாத கலமும், பூஜ்ஜியங்கள் எழுதப்பட்ட கலமும் (அவ்வாறு எழுதுவது அதை நீக்குகிறது) 64 பூஜ்ஜியங்களாகப் படிக்கப்படுகின்றன; “இல்லை” என்பதற்கான ஒரே குறியீடு இதுவே. யாரும் நிறுவாத நிரலின் எந்த விசையும் அவ்வாறே படிக்கப்படுகிறது, ஏனெனில் நிரல் இருக்கிறதா என்பது சரிபார்க்கப்படுவதில்லை. program_state பிரிவு இல்லாத சங்கிலியில் { "enabled": false }. கலம் வடிவமைப்பின்படியே பொதுவானது: ஒரு invoke-இன் reads-ஐ உருவாக்கப் பணப்பை படிப்பது இதைத்தான்.
rand_getProgramCells
v0.6.8. அளவுருக்கள் [program_id, { "after": "<64 hex>" | null, "limit": n }]; பொருள் விருப்பத்தேர்வானது. முடிவு { "cells": [{ "key", "value" }, …], "next": "<64 hex>" | null }: நிரலின் கலங்கள் விசை வரிசையில் (எட்டுச் சொற்களின் குறியற்ற ஒப்பீடு), after-க்குப் பின்னிருந்து தொடங்கி, அதிகபட்சம் limit எண்ணிக்கையில் (1 முதல் 1,000 வரையான வரம்புக்குள் கட்டுப்படுத்தப்படும்). மேலும் கலங்கள் தொடரும்போது next என்பது வழங்கப்பட்ட கடைசி விசை; அதை after ஆகத் திருப்பி அனுப்பவும். கடைசிப் பக்கத்தில் அது null. கலம் எதுவும் இல்லாத நிரல் { "cells": [], "next": null } எனப் பதிலளிக்கிறது; பிரிவு இல்லாவிட்டால் { "enabled": false }.
rand_getProgramVault
v0.6.8. அளவுருக்கள் [program_id]. முடிவு [{ "asset": 0, "amount": "123" }, …], சொத்துக் குறியெண்ணின் ஏறுவரிசையில் (0 என்பது RAND, மற்ற ஒவ்வொரு குறியெண்ணும் டோக்கன் பதிவேட்டினுடையது), தொகைகள் அந்தச் சொத்தின் சொந்த அலகுகளில் தசமச் சரங்களாக. பூஜ்ஜியத்தில் உள்ள வரிசை இருப்பதில்லை; ஆகவே காலியான பெட்டகமும், யாரும் நிறுவாத நிரலும் []. பிரிவு இல்லாவிட்டால் { "enabled": false }. மதிப்பு ஒரு invoke-இன் தொகுப்பின் வழியாகப் பெட்டகத்துக்குள் நுழைகிறது (burn_r, மேலும் inflow என்பது deposit ஆக இருக்கும்போது burn_asset-இன் burn_a); நிலைமாற்றத்தின் pays பெயரிடும் குறிப்புகளாக அதிலிருந்து வெளியேறுகிறது.
rand_getLimits
அளவுருக்கள் []. முடிவு: ஒரு பரிவர்த்தனையை உருவாக்கச் சங்கிலியின் தொடக்கத் தொகுதியிலிருந்து பணப்பைக்குத் தேவையானவை: ஐந்து அழைப்பு வரம்புகள், குறிப்பு உறையின் அளவு, v0.6 நிலைமாற்றி, அங்கீகார விருந்தினர் நிரல், கேஸ் விதிமுறைகள், மேலும் v0.6.8 முதல் audit-v6 தொடக்கத் தொகுதிப் புலங்களும் நிரல்-நிலை வரம்புகளும். சங்கிலி 20-இல்:
{ "max_program_words": 65535, "max_proof_bytes": 4194304, "max_block_bytes": 20971520,
"max_call_envelope_bytes": 65536, "max_program_public_words": 32768,
"envelope_bytes": 1860, "hardening_v6": true,
"hc_auth": "1e4e347f44cf86750b30a9a4bdf9ec9256efe353d4ff8017451eca7d195639c1",
"gas_metering": "circuit", "gas_price": "100", "byte_price": "800",
"bundle_gas_limit": 20479, "adjust_bps": 1250,
"max_gas_price": "10000", "max_byte_price": "80000", "byte_load": "paying",
"admission_by_vote": true, "testnet": true, "slashing": null, "binding_domain": 1,
"proof_window_blocks": 1024,
"program_state": { "cell_fee": "10000000", "max_reads": 8, "max_writes": 8, "max_payouts": 4 } }
ஐந்து வரம்புப் புலங்கள் இல்லாத தொடக்கத் தொகுதி (சங்கிலி 12) 4096, 2097152, 4194304, 18432, 0 ஆகியவற்றைப் பெறுகிறது. சங்கிலிகள் 13 முதல் 15 வரை max_proof_bytes 8,388,608 ஆக இருந்தது.
| புலம் | பொருள் |
|---|---|
envelope_bytes | குறிப்பை உருவாக்கும் ஒவ்வொரு உறையையும் தொடக்கத் தொகுதி சரியாக அந்த நீளத்தில் நிர்ணயிக்கும்போது 1860; இது மெமோவைச் சுமக்கும் வடிவம். இந்தப் புலம் இல்லாத தொடக்கத் தொகுதியில் (சங்கிலிகள் 14 முதல் 17) null; அங்கு பணப்பை மெமோ இல்லாத 1,348-பைட் உறையை முத்திரையிடுகிறது. வேறு மதிப்பு எதுவும் இல்லை |
hardening_v6 | தொடக்கத் தொகுதி v0.6 செல்லுபடி விதிகளை இயக்கும்போது true. அப்போது பணப்பை ஓர் அழைப்பை, பொது உள்ளீட்டை மட்டும் அல்லாமல், நிரலின் பொது உள்ளீட்டையும் அதைத் தொடர்ந்து பரிவர்த்தனையின் அழைப்புப் பிணைப்பையும் உள்ளடக்கி நிரூபிக்கிறது: கட்டணத் தொகுப்பின் குறிப்புகள் முதலில் தேர்ந்தெடுக்கப்படுகின்றன, அழைப்பு இரண்டாவதாக நிரூபிக்கப்படுகிறது, தொகுப்பு கடைசியாக. இந்தக் கொடியுள்ள சங்கிலி பழைய நிரூபணத்தை மறுக்கிறது; கொடி இல்லாத சங்கிலி புதியதை மறுக்கிறது |
hc_auth | தொடக்கத் தொகுதி நிலைநிறுத்தும் அங்கீகார விருந்தினர் நிரல், hex ஆக, அல்லது null. இது அமைக்கப்பட்டிருந்தால், hc_bundle என்பது தொகுப்பு விருந்தினர் நிரல் v3; ஒவ்வொரு தொகுப்பும் auth_commit-ஐயும் ஓர் அங்கீகார நிரூபணத்தையும் சுமக்கிறது: பணப்பை தொகுப்பு விருந்தினர் நிரலுக்கு nk-ஐயும் ஒரு புதிய உப்பு மதிப்பையும் வழங்கி, செலவு விசையின் மீது அங்கீகார விருந்தினர் நிரலை நிரூபிக்கிறது |
gas_metering | தொடக்கத் தொகுதியில் gas பிரிவு உள்ள சங்கிலியில் "circuit" (சுற்றுக்குள்ளான அளவி); அப்பிரிவு இல்லாத சங்கிலியில் கணு தனது சொந்தக் கேஸ் கொள்கையை இயக்கும்போது (--gas-price, --byte-price) "header"; இரண்டும் இல்லையெனில் null |
gas_price, byte_price | ஒரு கேஸுக்கான அலகுகள், மற்றும் ஓர் அழைப்பின் நிரூபணம், உள்ளீட்டு உறை ஆகியவற்றின் ஒரு KiB-க்கான அலகுகள், தசமச் சரங்களாக. gas பிரிவின் கீழ் இவை ஒருமித்த நிலையின் பகுதி, ஒவ்வொரு கணுவிலும் ஒன்றே: சங்கிலி 20-இல் உள்ளது போல gas.dynamic இருந்தால், இவை சங்கிலி நுனியின் தற்போதைய விலைகள்; இவை தொகுதி நிரம்பிய அளவைப் பொறுத்து ஒவ்வொரு தொகுதியிலும் மாறுகின்றன, தொடக்கத் தொகுதியின் அடிவிலைகளுக்கு (100 மற்றும் 800) கீழே ஒருபோதும் இறங்குவதில்லை, உச்சவரம்புகளுக்கு மேலே ஒருபோதும் உயர்வதில்லை; அது இல்லாவிட்டால் பிரிவின் நிலையான விலைகள். பிரிவே இல்லாவிட்டால் இவை இந்தக் கணுவின் சொந்தக் கொள்கை; இரண்டு கணுக்கள் வெவ்வேறாகப் பதிலளிக்கலாம் |
bundle_gas_limit | ஒவ்வொரு தொகுப்பு நிரூபணமும் அறிவிக்க வேண்டிய நிலையான கேஸ், தொடக்கத் தொகுதியின் gas பிரிவிலிருந்து; அப்பிரிவு இல்லாவிட்டால் null |
adjust_bps | இயங்குநிலைக் கட்டுப்படுத்தி ஒரு தொகுதியில் செய்யக்கூடிய மிகப்பெரிய விலை மாற்றம், அடிப்படைப் புள்ளிகளில்; gas.dynamic இல்லாத சங்கிலியில் null |
max_gas_price, max_byte_price | v0.6.8: கட்டுப்படுத்தி எந்த விலையையும் ஒருபோதும் தாண்டி உயர்த்தாத உச்சவரம்புகள், தசமச் சரங்களாக; சங்கிலி 20-இல் "10000" மற்றும் "80000", தொடக்கத் தொகுதி எதையும் அமைக்காத இடத்தில் (சங்கிலிகள் 18, 19) null |
byte_load | v0.6.8: ஓர் அழைப்பின் நிரூபணமும் உள்ளீட்டு உறையும் மட்டுமே byte_price-ஐ நகர்த்தும்போது "paying"; ஆகவே பரிமாற்றங்களால் மட்டுமே ஆன தொகுதி விலையை நகர்த்தாது, சங்கிலி 20-இல் உள்ளது போல; ஒவ்வொரு பரிவர்த்தனையின் பைட்டுகளும் கணக்கில் கொள்ளப்படும் இடத்தில் (சங்கிலிகள் 18, 19) null |
admission_by_vote | v0.6.8: புதிய சரிபார்ப்பாளர் விசையைப் பதிவுசெய்யும் பிணைத்தொகைக்கு முதலில் சரிபார்ப்பாளர் குழுவின் வாக்கு தேவையா என்பது (rand_getAdmitted); சங்கிலி 20-இல் true |
testnet | v0.6.8: தொடக்கத் தொகுதியின் testnet குறியீடு; இது ஒரு ஃபாசெட் பாலப் பிரிவுடன் சேர்ந்து இருக்க அனுமதிக்கிறது; சங்கிலி 20-இல் true, அதற்கு முந்தைய ஒவ்வொரு சங்கிலியிலும் false |
slashing | v0.6.8: { "equivocation_bps", "jail_epochs" }, ஒரு தலைவரின் இருமுகச் செயல்பாட்டுக்கான விலை, அல்லது null; சங்கிலி 20-இல் null |
binding_domain | v0.6.8: ஒரு பரிவர்த்தனையின் பிணைப்பும் கையொப்பமிடப்பட்ட ஒவ்வொரு செயல் செய்தியும் சங்கிலி id-ஐ மட்டுமே பிணைக்கும் இடத்தில் 0 (சங்கிலிகள் 14 முதல் 19); அவை தொடக்கத் தொகுதியின் ஹாஷையும் சுமக்கும் இடத்தில் 1; இதனால் ஒரு சங்கிலிக்காக உருவாக்கப்பட்ட நிரூபணமோ கையொப்பமோ வேறு எந்தச் சங்கிலியிலும் சரிபார்க்கப்படாது (சங்கிலி 20). எந்த வடிவத்தை நிரூபிப்பது என்பதைப் பணப்பை சங்கிலி id-ஐக் கொண்டே தீர்மானிக்கிறது, இந்தப் பதிலைக் கொண்டு ஒருபோதும் அல்ல: v0.6.8 rand பணப்பை சங்கிலி id-கள் 14 முதல் 19-க்குச் சங்கிலி-id வடிவத்தையும், மற்ற ஒவ்வொரு id-க்கும் தொடக்கத் தொகுதியுடன் பிணைந்த வடிவத்தையும் வழங்குகிறது; முன்கூட்டியே மறுப்பதற்காக மட்டுமே இதைப் படிக்கிறது. v0.6.8-க்கு முந்தைய பணப்பையால் சங்கிலி 20-இல் அனுப்ப இயலாது |
proof_window_blocks | v0.6.8: ஒரு தொகுப்பின் நங்கூரம் தொகுதிகளில் எவ்வளவு பழையதாக இருக்கலாம், அதன் time உயரத்துக்கு எவ்வளவு பின்தங்கியிருக்கலாம் என்பது; இரண்டுக்கும் ஒரே சாளரம்; சங்கிலி 20-இல் 1024, சங்கிலி 19 வரையிலான சங்கிலிகளில் null (256). மெதுவான அல்லது ஒப்படைக்கப்பட்ட நிரூபிப்பான் கொண்ட பணப்பை, ஒரு நிரூபணம் எவ்வளவு நேரம் எடுக்கலாம் என்பதை அறிய இதைப் படிக்கிறது |
program_state | v0.6.8, RPL-2: தொடக்கத் தொகுதியின் program_state பிரிவும் அதன் invoke வரம்புகளும், அல்லது null; அப்படியானால் ஒவ்வொரு invoke-உம் மறுக்கப்படும், எந்த நிரல் டோக்கனையும் பதிவுசெய்ய இயலாது. cell_fee என்பது ஓர் invoke உருவாக்கும் ஒவ்வொரு கலத்துக்கும், அதாவது பூஜ்ஜியங்களாகப் படிக்கப்படும் கலத்தில் பூஜ்ஜியமல்லாத மதிப்பை எழுதும் ஒவ்வொரு முறைக்கும், அதன் கட்டண அடிமட்டத்தில் கூடும் RAND அலகுகள் (தசமச் சரமாக); மீண்டும் எழுதுவதற்கும், நீக்குவதற்கும், பூஜ்ஜியங்களை எழுதுவதற்கும் செலவு இல்லை. max_reads, max_writes, max_payouts (செலுத்தல்களும் அச்சிடல்களும் சேர்த்து) ஆகியவை கடுமையான உச்சவரம்புகள். நடைமுறையில் கூறு விதியே முதலில் கட்டுப்படுத்துகிறது: நிலைமாற்றத்தின் சூழல் சொற்கள் (11 + ஒவ்வொரு படிப்பு அல்லது எழுத்துக்கும் 16 + ஒவ்வொரு கொடுப்பனவுக்கும் 3) zkVM-இன் பொது அட்டவணையை வளர்க்காமல், நிரலின் பொது உள்ளீட்டுடனும் 8 பிணைப்புச் சொற்களுடனும் சேர்ந்து அதில் பொருந்த வேண்டும்; பொது உள்ளீடு இல்லாத நிரலுக்கு அந்த அட்டவணை 128 வரிசைகள், இது 119 சூழல் சொற்களுக்கு இடம் விடுகிறது |
ஒரு புலம் அறிமுகமாவதற்கு முந்தைய கணு அந்தப் புலம் இல்லாமலேயே பதிலளிக்கிறது. இந்தப் பதிலில் எதுவும் நம்பகத்தன்மை உறுதிசெய்யப்பட்டதல்ல; ஆகவே பணப்பை envelope_bytes-ஐக் கணுவின் சொல்லை மட்டும் நம்பி ஏற்பதில்லை: கணு என்ன பதிலளித்தாலும் rand பணப்பை சங்கிலி id-கள் 14 முதல் 17-இல் பழைய உறையையே முத்திரையிடுகிறது; பிற கிளையன்ட்களும் அவ்வாறே செய்ய வேண்டும்.
rand_getReceipt
அளவுருக்கள் [tx_hash]. அழைப்பு உறுதிசெய்யப்படும் வரை முடிவு null, பின்னர் { "tx", "program", "tier": 14, "outputs": [1, 0, 25, 0, 0, 0, 0, 0], "height": 17, "index": 0, "h_in": "9c0e…7f", "h_pub": null }. effect புலம் இல்லை. h_pub என்பது அழைப்பின் நிரூபணம் எதனுடன் ஒப்பிட்டுச் சரிபார்க்கப்பட்டதோ அந்த நிரலின் நிறுவல் நேரப் பொது உள்ளீட்டின் சுருக்கம்; பொது உள்ளீடு இல்லாத நிரலுக்கு null. ஒரு invoke (v0.6.8) அழைப்பின் ரசீதையே கொண்டுள்ளது; rand_getReceipts-உம் receipts தலைப்பும் அதை மாற்றமின்றிச் சுமக்கின்றன.
rand_getReceipts
அளவுருக்கள் [program_id, from_height, to_height, limit?]. முடிவு { "receipts": [ … ], "next_height": 2051 }: from_height <= height <= to_height நிபந்தனையை நிறைவுசெய்யும் program_id-இன் ரசீதுகள், முதலில் உயரத்தின்படி பின்னர் குறியெண்ணின்படி; ஒவ்வொன்றும் சரியாக rand_getReceipt-இன் பொருளே. limit-இன் இயல்புநிலையும் உச்சவரம்பும் 256; அது ஒருபோதும் ஓர் உயரத்தைப் பிரிப்பதில்லை: ஒரு பக்கம் limit ரசீதுகளை எட்டியவுடனும், அந்த உயரத்தின் மீதமுள்ளவற்றையும் அது வழங்குகிறது. next_height என்பது வழங்கப்படாத முதல் உயரம், அல்லது to_height பக்கத்தை முடித்தபோது null. to_height என்பது from_height-ஐ விடக் குறைவாக இருந்தால் -32602.
rand_getCallEnvelope
அளவுருக்கள் [tx_hash]. முடிவு null, அல்லது hex-இல் { "tx", "h_in", "kem_ct", "to_sender", "to_auditor", "body" } — அழைப்பின் முத்திரையிடப்பட்ட உள்ளீட்டுப் படியெடுப்பு, உள்ளது உள்ளபடியே வழங்கப்படுகிறது; அதைத் திறக்கும் எந்த விசையும் கணுவிடம் இல்லை. அழைப்பு எதையும் வெளியிடாதபோது (--no-envelope), பரிவர்த்தனை ஓர் அழைப்பு அல்லாதபோது, அல்லது ரசீது இல்லாதபோது null.
பிணை வைப்பும் மொத்த வழங்கலும்
rand_getValidators
அளவுருக்கள் []. முடிவு: பதிவேட்டின் ஒவ்வொரு உள்ளீட்டுக்கும் ஒரு வரிசை, முகவரி வரிசைப்படி, தொகைகள் தசமச் சரங்களாக:
[{ "address": "…", "stake": "1000000000000",
"pending": [{ "release_epoch": 41, "amount": "5000000000" }],
"rewards": "4000000", "payout": "rand1…", "nonce": 3, "active": true, "jailed_until": null }]
jailed_until (v0.6.8) என்பது தண்டனைக் குறைப்புக்கு உள்ளான விசை மீண்டும் ஒரு குழுவில் இடம்பெறக்கூடிய முதல் காலப்பகுதி (நிரந்தரமாக எனில் 18446744073709551615); விசை இடைநீக்கத்தில் இல்லாதபோது null. சங்கிலி 20-இல் staking.slashing இல்லை; ஆகவே அங்கு இது எப்போதும் null.
rand_getAdmitted
v0.6.8. அளவுருக்கள் []. முடிவு { "admission_by_vote": true, "max": 256, "admitted": ["<address>", …] }: சரிபார்ப்பாளர் தொகுதி AdmitValidator மூலம் வாக்களித்து ஏற்றுக்கொண்ட, இன்னும் பதிவுசெய்யாத விசைகள், முகவரி வரிசையில். சங்கிலி 20 போல ஜெனிசிஸ் staking.admission_by_vote ஐ அமைக்கும் சங்கிலியில், புதிய விசையைப் பதிவுசெய்யும் Bond இவற்றுள் ஒன்றாக இருக்க வேண்டும். லெட்ஜர் ஒரே நேரத்தில் எத்தனை விசைகளை வைத்திருக்கும் என்பதை max குறிக்கிறது. இந்தக் கொடி இல்லாத சங்கிலியில் admission_by_vote false ஆகும்; பட்டியல் எப்போதும் காலியாக இருக்கும்; பதிவுக்கு வாக்கு தேவையில்லை. 2026-10-01 அன்று சங்கிலி 20 "admitted": [] என்று பதிலளித்தது.
rand_getEpoch
அளவுருக்கள் []. முடிவு { "epoch": 41, "epoch_blocks": 1000, "next_set": ["…", "…"] }; next_set ஒரு கணிப்பு மட்டுமே.
rand_getSupply
அளவுருக்கள் []. முடிவு:
{ "height": 1998,
"genesis_deposited": "…", "genesis_staked": "…", "faucet_minted": "…",
"faucet_epoch": "…", "faucet_minted_in_epoch": "…",
"withdraw_deposited": "…", "fees_paid": "…", "burned": "…",
"subsidised": "…", "sealed_blocks": "…", "aggregator_bonds": "…", "slashed": "…",
"registration_fees_burned": "…",
"vesting_issued": "…", "vesting_released": "…", "vesting_in_register": "…", "vesting_locked": "…",
"program_rand_out": "…", "program_rand_held": "…",
"pool_value": "…", "register_total": "…", "total_supply": "…", "invariant_holds": true }
subsidised, sealed_blocks, aggregator_bonds, slashed ஆகியவை திரட்டல் சங்கிலியில் மட்டுமே மாறுகின்றன. faucet_epoch, faucet_minted_in_epoch ஆகியவை staking.faucet_budget_per_epoch க்கு எதிரான ஃபாசெட்டின் ஒவ்வொரு எபோக்குக்குமான எண்ணி (சங்கிலி 20 இல் ஒருமித்த நிலையின் பகுதி). நான்கு vesting_* புலங்களும் ஜெனிசிஸ் படிப்படி உரிமையாக்கலின் எண்ணிகள்; vesting பிரிவு இல்லாத சங்கிலியில், சங்கிலி 20 போல, அனைத்தும் "0" ஆகும். program_rand_out, program_rand_held (v0.6.8, RPL-2; program_state பிரிவு இல்லையெனில் "0") ஆகியவை முறையே, அழைப்புகள் நிரல் பெட்டகங்களிலிருந்து குறிப்புகளாகச் செலுத்திய RAND (குளப் பக்கம், pool_value க்குள்), பெட்டகங்கள் இன்னும் வைத்திருக்கும் RAND (பதிவேட்டுப் பக்கம், total_supply க்குள்) ஆகும்; இது ஒரு அழைப்பின் burn_r வழியாக நுழைந்ததால், குளப் பக்கத்தில் burned க்குள் அடங்கும். registration_fees_burned என்பது, சங்கிலி 20 அமைக்கும் ஜெனிசிஸ் tokens.burn_registration_fee இன் கீழ் எரிக்கப்பட்ட டோக்கன் பதிவுக் கட்டணங்களின் Σ ஆகும்; invariant_holds சங்கிலி வெளியிட்டதிலிருந்து இதையும் slashed ஐயும் கழிக்கிறது. இந்தச் சமன்பாட்டை விநியோகம் விளக்குகிறது.
rand_getEmission
அளவுருக்கள் []. முடிவு { "inflation": "0", "subsidy": null, "faucet": true }. inflation நிலையான "0" ஆகும். subsidy என்பது தொகுதித் திரட்டல் அட்டவணை (current, base, halving_blocks, sealed_blocks, next_halving_at); aggregation பிரிவு இல்லாத சங்கிலியில், சங்கிலி 20 போல, இது null ஆகும். faucet rand_status ஐப் பிரதிபலிக்கிறது.
பாலம்
நான்கும் எந்தச் சங்கிலியிலும் பதிலளிக்கின்றன; bridge பிரிவு இல்லாத சங்கிலியில் நிலை { "enabled": false }, பதிவேடு [] ஆகும். சங்கிலி 20 இன் ஜெனிசிஸில் இந்தப் பிரிவு உள்ளது. அதில் உள்ளவை: எட்டுப் பாதுகாவலர்களைக் கொண்ட பாதுகாவலர் தொகுதி 1 (guardian_set_index 1), எட்டு PQ பாதுகாவலர்கள், ஓர் இடைநிறுத்த விசை, ஜெனிசிஸில் burn_sequence 13, ஒரு மறுஇயக்கக் கீழ்வரம்பு (மூலச் சங்கிலிகள் 2, 3, 4 க்கு min_inbound_sequence 3, மூலச் சங்கிலி 5 க்கு 7), அனைத்து ஆதாரங்களுக்கும் சேர்த்து ஒவ்வொரு 24 மணி நேரச் சாளரத்திற்கும் 4,000 zUSD என்ற உலகளாவிய அச்சிடல் வரம்புடன் கூடிய பாலத்தின் rules_v2, v0.6.8 இல் புதிதாக வந்த இரண்டு குழுக்கள்: rotation (PQ பாதுகாவலர் அல்லது இடைநிறுத்த விசைச் சுழற்சிக்குப் புதிய விசைகளின் உடைமைச் சான்று தேவை; அது உறுதிசெய்யப்பட்ட 86,400 s பின் நடைமுறைக்கு வரும்), fees (ஒவ்வொரு வைப்பிலும் 10 bps, ஒவ்வொரு எரிப்பிலும் 10 bps; இவை ஒரு கருவூல முகவரிக்கான zUSD குறிப்பாக Rand இல் வைக்கப்படுகின்றன). சங்கிலி 19 இல் burn_sequence 8, கீழ்வரம்புகள் 1, 4 இருந்தன; இந்த இரண்டு குழுக்களும் இல்லை. அதன் tokens பிரிவில் 1 RAND registration_fee (எரிக்கப்படும்), ஆதாரம் ஒவ்வொன்றுக்கும் 10000000000000 என்ற mint_cap_per_day (எட்டுத் தசம இடங்களில் 100,000 zUSD) உள்ளன; zUSD உம் அதில் பட்டியலிடப்பட்டுள்ளது: ஜெனிசிஸில் சங்கிலி 14 இலிருந்து கொண்டுவரப்பட்டது, அதே சொத்து அடையாளம், குறியீட்டெண் 1, ஏழு ஆதாரங்கள்.
rand_getBridgeState
அளவுருக்கள் []. முடிவு { "enabled": false }, அல்லது:
{
"enabled": true,
"emitter": "01…",
"emitters": { "2": "02…" },
"guardian_set_index": 0,
"guardians": ["aabb…"],
"pq_guardians": ["…"],
"mint_paused": false,
"pause_nonce": 0,
"list_nonce": 0,
"pause_key": "…",
"registration_fee": "1000000000",
"burn_sequence": 1,
"rotation_nonce": 0,
"rules_v2": { "global_mint_cap_per_window": "…", "cap_window_secs": 86400,
"global_minted_in_window": "…", "global_mint_headroom": "…" },
"min_inbound_sequence": { "2": 2, "3": 2, "4": 2, "5": 2 },
"rotation_rules": { "delay_secs": 86400, "needs_possession": true },
"pending_rotations": [],
"fees": { "mint_bps": 10, "burn_bps": 10, "recipient": "rand1…" },
"assets": [ … ]
}
| புலம் | பொருள் |
|---|---|
emitter | இந்தச் சங்கிலியின் வெளிச்செல் வெளியீட்டாளர் முகவரி, 32 பைட்டுகள் ஹெக்ஸ் |
emitters | மூலச் சங்கிலி அடையாளம் → அங்கே நம்பப்படும் வெளியீட்டாளர் முகவரி |
guardians | தற்போதைய தொகுதியின் 20 பைட் முகவரிகள், ஹெக்ஸ் |
pq_guardians | PQ தொகுதி: Dilithium2 பொது விசைகள் (1,312 பைட்டுகள்), ஹெக்ஸ், தற்போதைய பாதுகாவலர் தொகுதியுடன் (சங்கிலி 20 இல் தொகுதி 1) குறியீட்டெண் வாரியாகப் பொருந்தியவை. ஒவ்வொரு BridgeAttest உம் இதன் இணைக் கையொப்பங்களின் கோரத்தைக் கொண்டுள்ளது. பாதுகாவலர் தொகுதிச் சுழற்சி இதை ஒருபோதும் மாற்றாது; rules_v2 சங்கிலியில் rotate_pq_guardians மட்டுமே மாற்றும் |
mint_paused | இது true ஆக இருக்கும்வரை ஒவ்வொரு பரிமாற்றச் சான்றுறுதியும் bridge minting is paused என மறுக்கப்படும்; எரிப்புகளும் சுழற்சிகளும் திறந்தே இருக்கும் |
pause_nonce | அடுத்த இடைநிறுத்தம் அல்லது மீள்தொடக்கம் கொண்டிருக்க வேண்டியது; இரண்டும் இதை உயர்த்தும் |
list_nonce | அடுத்த register_bridged_token அல்லது list_backing கொண்டிருக்க வேண்டியது; இரண்டும் இதை உயர்த்தும் |
pause_key | அச்சிடலை இடைநிறுத்தக்கூடிய ஒரே Dilithium2 விசை, ஹெக்ஸ். இது இடைநிறுத்த மட்டுமே முடியும்: மீள்தொடக்கத்திற்கு PQ பாதுகாவலர் கோரம் தேவை |
registration_fee | ஒரு RegisterBridgedToken தொகுப்பின் அடிப்படைக் கட்டணத்திற்கு மேல் செலுத்த வேண்டியது, RAND அலகுகளில், தசம சரம் |
burn_sequence | இதுவரை வெளியிடப்பட்ட வெளிச்செல் செய்திகள் |
rotation_nonce | அடுத்த rotate_pq_guardians / rotate_pause_key கொண்டிருக்க வேண்டியது |
rules_v2 | உலகளாவிய அச்சிடல் வரம்பும் அதன் நகரும் சாளரமும், அல்லது பாலத்தின் rules v2 இல்லாத சங்கிலியில் null. இதன் கீழ் ஆதாரம் ஒவ்வொன்றுக்குமான வரம்பும் நகரும் சாளரமே; அச்சிடல் இடைநிறுத்தப்பட்டிருக்கும்போது பட்டியலிடல் மறுக்கப்படும். v0.6.8 முதல் இது global_minted_in_window, global_mint_headroom ஆகியவற்றையும் தசம சரங்களாகக் கொண்டுள்ளது |
min_inbound_sequence | ஜெனிசிஸ் மறுஇயக்கக் கீழ்வரம்பு: மூலச் சங்கிலி அடையாளம் → அந்தச் சங்கிலியிலிருந்து வரும் பரிமாற்றம் கொண்டிருக்கக்கூடிய மிகக் குறைந்த வரிசை எண், வெற்று எண்கள்; இது இல்லாத சங்கிலியில் (சங்கிலி 15 உம் அதற்கு முந்தையவையும்) null. இதற்குக் கீழுள்ள bridge_attest BelowReplayFloor என மறுக்கப்படும்; இது நிரந்தரத் தீர்ப்பு. இந்தச் சங்கிலி எந்தச் சங்கிலியிலிருந்து பிரிக்கப்பட்டதோ அது ஏற்கெனவே அச்சிட்ட பூட்டை விலக்க ரிலேயர் இதைப் படிக்கிறது |
rotation_rules | v0.6.8: ஜெனிசிஸ் bridge.rotation இலிருந்து { "delay_secs", "needs_possession" }, அல்லது null. இதன் கீழ் சுழற்சி என்பது புதிய விசைகளின் உடைமைக் கையொப்பங்களைக் கொண்ட _v2 செயல்; அது நடைமுறைக்கு வருமுன் delay_secs காத்திருக்கும் |
pending_rotations | v0.6.8: உறுதிசெய்யப்பட்டு இன்னும் நடைமுறைக்கு வராத சுழற்சிகள், ஒவ்வொன்றும் { "kind": "pq_guardians", "new_pq_guardians", "effective_at_secs" } அல்லது { "kind": "pause_key", "new_pause_key", "effective_at_secs" }; rotation_rules இல்லையெனில் null. தற்போதைய இடைநிறுத்த விசையால் கையொப்பமிடப்பட்ட cancel_rotation ஒன்றை நீக்கும் |
fees | v0.6.8: ஜெனிசிஸ் bridge.fees இலிருந்து { "mint_bps", "burn_bps", "recipient" }, அல்லது null (சங்கிலிகள் 14 முதல் 19). ஒவ்வொரு வைப்பிலும் ஒவ்வொரு எரிப்பிலும் அந்தப் பங்கை, ஆதாரத்தின் முழு விடுவிப்பு அலகுக்குக் கீழ்நோக்கி முழுமையாக்கி, recipient க்கான zUSD குறிப்பாகச் சங்கிலி வைத்துக்கொள்கிறது. வைப்பு, மொத்தத் தொகையிலிருந்து கட்டணத்தைக் கழித்து வரவு வைக்கிறது; எரிப்பின் கையொப்பமிட்ட உடல், அதன் தொகையிலிருந்து கட்டணத்தைக் கழித்து விடுவிக்கிறது. ஒரு வாலெட் தன் வைப்பை மதிப்பிடவும், தானே recipient ஆக இருக்கும்போது தன் கட்டணக் குறிப்புகளை மீட்டுருவாக்கவும் இதைப் படிக்கிறது |
assets | rand_getAssets இன் வரிசைகள் |
இருப்புகள் இல்லை: பாலம் வழி வந்த மதிப்பு குறிப்புகளாகவே உள்ளது. next_index இனி இல்லை: பாலம் வழி டோக்கன், வைப்புச் செய்யப்படுவதற்கு முன்பே, அதன் பதிவு ஏற்கெனவே நிர்ணயித்த குறியீட்டெண்ணின் கீழ் பட்டியலிடப்படுகிறது; எனவே கணிக்க வேண்டிய குறியீட்டெண் எதுவும் இல்லை. பட்டியலிடப்பட்ட டோக்கனின் குறியீட்டெண்ணை assets அல்லது rand_getTokens இலிருந்து படிக்கவும்.
rand_getAssets
அளவுருக்கள் []. முடிவு: பாலத்தின் சொத்துப் பதிவேடு, குறியீட்டெண் ஏறுவரிசையில், அல்லது []:
[{ "index": 1, "chain": 2, "token": "aaaa…", "asset_id": "…", "decimals": 6, "locked": "600",
"mint_cap_per_day": "10000000000000", "minted_today": "1000", "mint_day": 20350,
"minted_in_window": "1000", "mint_window_secs": 86400, "mint_headroom": "390000000000" }]
v0.6.8 முதல், ஒவ்வொரு ஆதார வரிசையும், இங்கும் ஆதாரங்கள் வழங்கப்படும் எல்லா இடங்களிலும் (rand_getBridgeState.assets, rand_getToken, rand_getTokens, rand_getTokenSupply ஆகியவற்றின் backings), minted_in_window (தசம சரம்), mint_window_secs ஆகியவற்றைக் கொண்டுள்ளது; நாள் எண்ணிச் சங்கிலியில் இரண்டும் null ஆகும். மேலும் mint_headroom ஐயும் கொண்டுள்ளது: தலைத் தொகுதியின் தொகுதி நேரத்தில் வரம்புகள் அந்த ஆதாரத்திற்கு அனுமதிக்கும் மிகப் பெரிய வைப்பு. இது ஆதாரத்திற்கான வரம்பிலிருந்து அது அச்சிட்டதைக் கழித்த தொகை; rules v2 இன் கீழ், பதிவேடு முழுமைக்குமான சாளரத்தில் மீதமுள்ளதை விட அதிகமாகாது. mint_cap_per_day − minted_today ஐ அல்ல, mint_headroom ஐப் படிக்கவும்; முன்னது உலகளாவிய வரம்பைப் புறக்கணிக்கிறது. சங்கிலி 20 போல rules v2 இன் கீழ், minted_today என்பது நகரும் சாளர எண்ணிக்கை, அதாவது ஆதாரத்திற்கான வரம்புடன் ஒப்பிடப்படும் எண்ணிக்கை; கீழே உள்ள நாள் எண்ணி விளக்கம் சங்கிலி 14 க்கானது.
ஒவ்வொரு ஆதாரத்திற்கும் (மூல நாணயம்) ஒரு வரிசை; எனவே ஏழு ஆதாரங்கள் கொண்ட டோக்கன் ஒரே index இன் கீழ் ஏழு வரிசைகள் ஆகும். index என்பது அந்தச் சொத்தின் குறிப்பு கொண்டிருக்கும் asset சொல்; குறியீட்டெண் 0 RAND ஆகும், அது ஒருபோதும் பதிவேட்டில் இருக்காது. decimals ஆதாரத்தின் மூலத் தசம இடங்கள். locked, mint_cap_per_day, minted_today ஆகியவை டோக்கனின் சொந்த எட்டுத் தசம அலகுகளில் உள்ள தசம சரங்கள், ஒருபோதும் RAND இன் அலகுகளில் அல்ல; mint_day வெற்று முழு எண், ஒரு UTC நாள் எண். mint_cap_per_day என்பது ஜெனிசிஸ் tokens.mint_cap_per_day: தொகுதி நேரத்தின் ஒவ்வொரு UTC நாளிலும் ஓர் ஆதாரம் அச்சிடக்கூடிய அதிகபட்சம். minted_today என்பது தலைத் தொகுதியின் UTC நாளான (timestamp_ms / 86,400,000) mint_day அன்று அந்த ஆதாரம் அச்சிட்டது; எனவே முந்தைய நாளிலிருந்து எஞ்சிய எண்ணி, தலைத் தொகுதி நள்ளிரவைக் கடந்ததும் "0" எனப் படிக்கப்படும். வரம்பைத் தாண்டும் வைப்பு MintCapExceeded என மறுக்கப்பட்டு, மறுநாள் ஏற்கத்தக்கதாகிறது. chain, token ஆகியவை பாதுகாவலர்கள் கையொப்பமிடும் கம்பிவழி அடையாளம்; asset_id என்பது இவ்விரண்டின் blake3, rand_bridgeAssetId கணக்கிடுவது.
rand_bridgeAssetId
அளவுருக்கள் [token_chain, token_address] (முழு எண், 32 பைட்டுகள் ஹெக்ஸ்). முடிவு: சொத்து அடையாளம், 64 ஹெக்ஸ் எழுத்துகள். தூய கணக்கீடு மட்டுமே.
rand_getBridgeBurn
அளவுருக்கள் [sequence]. முடிவு null அல்லது { "sequence": 0, "body_hex": "…", "digest": "…", "tx": "…", "height": 2, "amount": "…", "release_amount": "…", "fee": "…" }.
கடைசி மூன்றும் v0.6.8 இல் வந்தவை, எல்லாச் சங்கிலிகளிலும் உள்ளன, டோக்கனின் எட்டுத் தசம அலகுகளில் தசம சரங்களாக. release_amount என்பது கையொப்பமிட்ட உடல் கொண்டிருக்கும் தொகை, body_hex இலிருந்தே படிக்கப்படுவது: மூல ஒப்பந்தம் விடுவிப்பது; அதிலிருந்துதான் உடலின் ரிலேயர் கட்டணத்தையும் செலுத்துகிறது. fee என்பது சங்கிலி கருவூலக் குறிப்பாக வைத்துக்கொண்ட பாலக் கட்டணம்; amount என்பது தொகுப்பு எரித்தது, release_amount + fee. bridge.fees இல்லாதபோது (சங்கிலிகள் 14 முதல் 19) fee "0" ஆகும். சங்கிலி 20 இல் வரிசை எண் 13, 0.999 zUSD எரிப்பு: "amount": "99900000", "fee": "99900", "release_amount": "99800100".
டோக்கன்கள் (RPL)
RPL டோக்கன் பதிவேடு: பாலம் வழி வந்தவை, உள்நாட்டவை என அனைத்து டோக்கன்களும். இந்தத் தரநிலையை டோக்கன்கள் விளக்குகிறது.
rand_getTokens
அளவுருக்கள் [from_index, limit], இரண்டும் விருப்பத்தேர்வு (0, 1000; limit 1,000 க்குள் கட்டுப்படுத்தப்படும்). முடிவு: from_index இலிருந்து குறியீட்டெண் ஏறுவரிசையில், அந்தக் குறியீட்டெண்ணிலிருந்து வரம்பாகப் படிக்கப்படும் பதிவேடு:
{ "enabled": true, "registration_fee": "1000000000", "next_index": 3, "max_tokens": 4096,
"burn_registration_fee": true, "bound_note_value": true,
"tokens": [
{ "index": 2, "id": "<64 hex>", "id_text": "rpl1…", "name": "Test Coin", "symbol": "TST",
"decimals": 6,
"authority": { "kind": "key", "key": "<Dilithium2 key, hex>", "address": "<base58>" },
"mint_nonce": 1, "total_supply": "5700", "registered_at": 3 }
] }
tokens பிரிவு இல்லாத சங்கிலியில்: { "enabled": false, "tokens": [] }. index என்பது அந்த டோக்கனின் ஒரு குறிப்பு கொண்டிருக்கும் asset சொல் (0 என்பது RAND; அது ஒருபோதும் பட்டியலிடப்படாது). id என்பது டோக்கனின் சொத்து அடையாளம்; id_text அதன் சரிபார்ப்புத் தொகையுடன் கூடிய உரை வடிவம்: 32 அடையாள பைட்டுகளின் மீது HRP rpl கொண்ட bech32m, 62 எழுத்துகள். authority பின்வருவனவற்றில் ஒன்று:
kind | பிற புலங்கள் |
|---|---|
none | — (நிலையான வழங்கல் அளவு, அல்லது கைவிடப்பட்டது) |
key | key, address |
bridge | backings: [{ "chain", "token", "decimals", "locked", "mint_cap_per_day", "minted_today", "mint_day" }], rand_getAssets இன் புலங்கள், ஒவ்வொரு ஆதாரத்துக்கும் ஒரு வரிசை |
program | program |
வழங்கல் அளவுகள், locked, mint_cap_per_day, minted_today, registration_fee ஆகியவை தசம சரங்கள் (registration_fee RAND அலகுகளில், மற்றவை டோக்கன் அலகுகளில்); next_index, mint_day, max_tokens ஆகியவை எண்கள். max_tokens என்பது பதிவேட்டின் மீதான ஜெனிசிஸ் வரம்பு (சங்கிலி 20 இல் 4,096; வரம்பு இல்லையெனில் null); அதைக் கடந்த பதிவு RegistryFull என மறுக்கப்படும். ஒரு பதிவின் கட்டணம் முன்மொழிபவருக்குச் செலுத்தப்படாமல் எரிக்கப்படுகிறதா என்பதை burn_registration_fee கூறுகிறது; 2⁶³ அல்லது அதற்கு மேற்பட்ட உருவாக்கம் அல்லது வைப்பு ஒரு செல்லுபடி விதியா என்பதை bound_note_value கூறுகிறது (எந்தச் சங்கிலியிலும் அனுமதி நிலையில் அது மறுக்கப்படுகிறது). சங்கிலி 20 இல் இம்மூன்றும் அமைக்கப்பட்டுள்ளன. limit ஐ விடக் குறுகிய பக்கமே கடைசிப் பக்கம்.
ஒரு program அதிகாரம் ({ "kind": "program", "program": "<id>" }) program_state பிரிவு கொண்ட சங்கிலியில் மட்டுமே பதிவுசெய்யக்கூடியது; சங்கிலி 20 (v0.6.8) அத்தகையது: டோக்கன் பூஜ்ய வழங்கல் அளவுடன் தொடங்குகிறது, அந்த நிரலின் அழைப்புகள் மட்டுமே அதை உருவாக்கவோ எரிக்கவோ முடியும்.
ஒரு வாலட் டோக்கன் அடையாளத்தை இந்தப் பட்டியல் வழியாகவே தீர்க்கிறது, rand_getToken வழியாக ஒருபோதும் அல்ல: ஒரு பரிமாற்றத்தின் சொத்து சங்கிலியில் தனிப்பட்டது, மேலும் முழுப் பதிவேட்டையும் படிப்பதற்கான செலவு எந்த டோக்கன் குறிக்கப்பட்டாலும் ஒன்றே.
rand_getToken
அளவுருக்கள் [token]: பதிவேட்டுச் சுட்டெண் (எண் அல்லது தசம சரம்), 64-hex அடையாளம் (0x உடனோ இல்லாமலோ, எந்த எழுத்து வடிவிலும்) அல்லது rpl1… உரை வடிவம் (முழுவதும் சிற்றெழுத்து அல்லது முழுவதும் பேரெழுத்து). முடிவு: அந்த டோக்கனின் rand_getTokens வரிசை, அல்லது null. தவறான வடிவிலான அடையாளம் — பிழையான சரிபார்ப்புத் தொகை, வேறொரு HRP, தவறான நீளம், கலப்பு எழுத்து வடிவம், hex அல்லாதது — -32602 ஆகும்; எனவே தட்டச்சுப் பிழை ஒருபோதும் வேறொரு டோக்கனாக ஆகாது. ஒரு டோக்கனுக்கான தனித் தேடல், அழைப்பவர் எந்த டோக்கனில் அக்கறை கொண்டுள்ளார் என்பதை முனைக்குத் தெரிவிக்கிறது; இது எக்ஸ்ப்ளோரர்களுக்கும் ஒருமுறை வாசிப்புகளுக்கும் உரியது.
rand_getTokenSupply
அளவுருக்கள் [token], அதே வடிவங்கள். முடிவு null, அல்லது:
{ "total_supply": "600",
"backings": [{ "chain": 2, "token": "<32 bytes hex>", "decimals": 6, "locked": "600",
"mint_cap_per_day": "10000000000000", "minted_today": "1000", "mint_day": 20350 }] }
சொந்த டோக்கனுக்கு backings காலியாக இருக்கும்; பாலம் வழி வந்த டோக்கனுக்கு locked தொகைகளின் கூட்டுத்தொகை total_supply க்குச் சமம். rand_getToken க்கான அதே தனியுரிமைக் குறிப்பு இங்கும் பொருந்தும்.
பிளாக் திரட்டல் (சங்கிலி 20 இல் செயல்பாட்டில் இல்லை)
ஜெனிசிஸில் aggregation பிரிவு கொண்ட சங்கிலிகளுக்காக இவை முனையில் உள்ளன. சங்கிலி 20 இல் பதிவேடு காலியாக உள்ளது, எதுவும் ஒருபோதும் முத்திரையிடப்படாததாக இருப்பதில்லை.
| முறை | அளவுருக்கள் | முடிவு |
|---|---|---|
rand_getAggregate | [hash] | முத்திரையிடும் திரட்டின் covers, aggregator, subsidy, proving_share, n, height; வேறு எந்தப் பரிவர்த்தனைக்கும் null |
rand_getAggregators | [] | திரட்டிகளின் பதிவேடு: ஒவ்வொரு வரிசைக்கும் address, bond, payout, nonce, unbonding |
rand_getUnsealed | [from, limit] | { "bundles": [{ "hash", "height", "excess" }], "next_from" }, ஒரு திரட்டி இன்னும் உள்ளடக்கக்கூடிய தொகுப்புகள் |
ஒரு Aggregate மற்ற அனைத்தையும் போலவே rand_sendTransaction வழியாகச் சமர்ப்பிக்கப்படுகிறது.
ஜெனிசிஸ் உரிமையாக்கம் (சங்கிலி 20 இல் செயல்பாட்டில் இல்லை)
ஜெனிசிஸில் vesting பிரிவு கொண்ட சங்கிலிகளுக்காக இவை முனையில் உள்ளன. இதுவரை எந்தச் சங்கிலியிலும் அது இல்லை: சங்கிலி 20 இல் ஒவ்வொன்றும் { "enabled": false } எனப் பதிலளிக்கிறது. 2026-10-01 முதல் பொது முனைப்புள்ளி இவற்றை முன்னனுப்புகிறது.
| முறை | அளவுருக்கள் | முடிவு |
|---|---|---|
rand_getVesting | [id] அல்லது [id, at_ms], பதிவின் 64-hex அடையாளம் | அந்தப் பதிவு: அதன் வகை, பயனாளி, அட்டவணை (amount, start_ms, cliff_ms, linear_ms, step_ms), கோரப்பட்டவை, திரும்பப் பெறப்பட்டவை, பிணைக்கப்பட்டவை, மேலும் as_of_ms நேரத்தில் (இயல்பாக முதன்மைப் பிளாக்கின் நேரம்) vested_now, claimable_now, unvested_now; அறியப்படாத அடையாளத்துக்கு null. v0.6.8 முதல், திரும்பப் பெறக்கூடிய பதிவு revokers ஐயும், திரும்பப் பெறுதலுக்குத் தேவையான அவர்களின் threshold ஐயும், திரும்பப் பெறுதல் செலுத்தும் treasury ஐயும் பட்டியலிடுகிறது (இவை ஒற்றை revoker ஐ மாற்றுகின்றன); மேலும் பதிவு revoke_nonce, locked_now ஆகியவற்றைக் கொண்டுள்ளது |
rand_getVestingSummary | [] | { "enabled": true, "height", "as_of_ms", "entries", "issued", "released", "locked", "classes": [ … ] }: வகைவாரியான மொத்தங்கள், எந்த விசையோ உரிமையாளரோ இல்லாமல் |
rand_getVestingSchedule | [from_ms, to_ms, step_ms], அதிகபட்சம் 1,000 புள்ளிகள் | { "enabled": true, "issued", "points": [{ "t_ms", "locked" }] }: காலப்போக்கில் பதிவேட்டின் பூட்டப்பட்ட மொத்தம் |
தொகைகள் தசம சரங்கள். நான்கு உரிமையாக்கச் செயல்களும் rand_sendTransaction வழியாகச் சமர்ப்பிக்கப்படுகின்றன.
சந்தாக்கள் (WebSocket)
ws://127.0.0.1:8545/ அல்லது /ws. இந்த சாக்கெட் rand_subscribe, rand_unsubscribe ஆகியவற்றை மட்டுமே சேவை செய்கிறது, வேறு எதற்கும் -32601 எனப் பதிலளிக்கிறது. மூன்று தலைப்புகள், ஒன்றுக்கொன்று வரிசை உறுதிமொழி இல்லாத தனித்தனி ஓடைகள்:
newHeads—rand_getHeadஇன் வடிவம், உறுதிசெய்யப்பட்ட ஒவ்வொரு பிளாக்குக்கும் ஒருமுறை, வரிசைப்படி, ஒத்திசைவின்போதும் அனுப்பப்படுகிறது. இங்குviewஎன்பது அந்தப் பிளாக்கின் சொந்தக் காட்சி.receiptsஅல்லதுreceipts <program_id>— பொருந்தும் அழைப்பு ரசீது குறைந்தது ஒன்றைக் கொண்ட உறுதிசெய்யப்பட்ட ஒவ்வொரு பிளாக்குக்கும் ஓர் அறிவிப்பு:{ "height", "hash", "receipts": [ … ] }, ஒவ்வொரு ரசீதும்rand_getReceiptஇன் வடிவில்.transaction <hash>— ஓர் அறிவிப்பு, அதன் பின் முனை சந்தாவை நீக்குகிறது:{ "status": "committed", "height", "index" }, அல்லது பரிவர்த்தனையின் சொந்த பைட்டுகள் பற்றிய மறுப்புக்கு{ "status": "rejected", "reason" }(rand_getTransactionStatusக்கு உள்ள அதே வரம்பு). நிலையைச் சார்ந்த மறுப்பு ஒருபோதும் அறிவிக்கப்படுவதில்லை; எனவே இதனுடன் ஒரு நேர வரம்பை இணைக்கவும்.
{ "jsonrpc": "2.0", "id": 1, "method": "rand_subscribe", "params": ["newHeads"] }
{ "jsonrpc": "2.0", "id": 2, "method": "rand_unsubscribe", "params": ["1"] }
{ "jsonrpc": "2.0", "id": 3, "method": "rand_subscribe", "params": ["receipts", "<program_id>"] }
{ "jsonrpc": "2.0", "id": 4, "method": "rand_subscribe", "params": ["transaction", "<hash>"] }
{ "jsonrpc": "2.0", "id": 1, "result": "1" }
{ "jsonrpc": "2.0", "id": 2, "result": true }
{ "jsonrpc": "2.0", "method": "rand_subscription",
"params": { "subscription": "1", "result": { "height": 1998, "hash": "…", "view": 2251 } } }
வரம்புகள்: ஒரு முனைக்கு 64 இணைப்புகள் (65 ஆவது இணைப்பு மேம்படுத்தலின்போதே 503 உடன் மறுக்கப்படுகிறது), ஓர் இணைப்புக்கு 8 சந்தாக்கள், ஒரு கிளையன்ட் சட்டகத்துக்கு 64 KiB, ஒவ்வொரு 30 s க்கும் ஒரு ping, அது 5 s க்குள் பதிலளிக்கப்பட வேண்டும், ஓர் ஓடைக்கு 256 நிலுவைப் பதிவுகள் — தான் கேட்கும் ஓடையில் இதைவிடப் பின்தங்கிய சந்தாதாரர் இடையகப்படுத்தப்படாமல் 1008 குறியீட்டுடன் மூடப்படுகிறார்; மீண்டும் இணைந்து, இடைவெளியை rand_getCompactBlocks (heads), rand_getReceipts (receipts) அல்லது rand_getTransactionStatus (ஒரு பரிவர்த்தனை) மூலம் நிரப்பவும். மேம்படுத்தல் தலைப்புகள் இல்லாத வெறும் GET / க்கு 400 பதிலாகும்.
பிழைகள்
| குறியீடு | பொருள் |
|---|---|
-32601 | அறியப்படாத முறை (ஓய்வுபெற்ற கணக்கு முறைகள் உட்பட) |
-32602 | செல்லாத அல்லது விடுபட்ட அளவுரு |
-32000 | மறுக்கப்பட்டது: mempool மறுத்த பரிவர்த்தனை, விகித வரம்புக்குட்பட்ட ஃபாசெட் அழைப்பு, 10 s க்கு மேல் காத்திருந்த சாட்சி உருவாக்கம், 30 s க்கு மேலான வாசிப்பு, பொதுக் கேட்பான் சேவை செய்யாத முறை, அல்லது வரம்பைத் தாண்டிய சந்தா |
-32001 | குறிப்பிடப்பட்ட பொருள் கண்டறியப்படவில்லை |
-32010 | கத்தரிக்கப்பட்டது: இந்த முனையின் தக்கவைப்பு அடித்தளத்துக்குக் கீழான உயரம்; data.floor அதைக் குறிப்பிடுகிறது (கீழே காண்க) |
-32603 | உள் பிழை |
-32600 | செல்லாத கோரிக்கை: அளவு வரம்பை மீறிய உள்ளடக்கம், JSON அல்லாதது, தவறான வடிவிலான தொகுதிக் கோரிக்கை, அல்லது ஓர் அறிவிப்பு |
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32000, "message": "…" } }
rand_sendTransaction க்கு, -32000, -32602 ஆகியவை மட்டுமே பரிவர்த்தனை மீதான தீர்ப்பு; வேறு எந்தக் குறியீட்டுக்குப் பின்னும் அதன் கதி தெரியாது (rand_sendTransaction காண்க).
கத்தரிக்கப்பட்ட முனைகள்: பிழை -32010
--prune-history <window> உடன் தொடங்கப்பட்ட முனை முழு லெட்ஜரையும் (குறிப்புகள், நல்லிஃபையர்கள், நங்கூரங்கள், பதிவேடு) வைத்திருக்கிறது, ஆனால் பிளாக்குகள், பரிவர்த்தனைகள், ரசீதுகள் ஆகியவற்றில் கடைசி <window> ஐ மட்டுமே வைத்திருக்கிறது; rand_status.prune_floor என்பது அது இன்னும் வைத்திருக்கும் மிகக் குறைந்த உயரம். சங்கிலி 20 இல், 26 சரிபார்ப்பாளர்களில் 24 பேர் --prune-history 24h உடன் இயங்குகின்றனர்; இரண்டு காப்பக முனைகள் அந்தக் கொடி இல்லாமல் இயங்கி ஒவ்வொரு பிளாக்கையும் வைத்திருக்கின்றன, பொது முனைப்புள்ளி அவற்றில் ஒன்றுக்கு முன்னனுப்புகிறது.
- உயரத்தின்படி, அடித்தளத்துக்குக் கீழே (ஜெனிசிஸ் தவிர):
rand_getBlockByHeight, உயரத்தின்படிrand_getFinality, மேலும் அடித்தளத்துக்குக் கீழே எட்டும்rand_getBlocks,rand_getCompactBlocksஅல்லதுrand_getReceiptsவரம்பு ஆகியவைdata: { "floor": f }உடன்-32010pruned: height h is below this node's retention floor fஎனப் பதிலளிக்கின்றன. ஒரு காப்பக முனையிடம் கேட்கவும்.[0, 0]இன்னும் ஜெனிசிஸைச் சேவை செய்கிறது. - ஹாஷின்படி:
rand_getBlockByHash,rand_getReceipt,rand_getRawTransaction,rand_getCallEnvelope,rand_getAggregateஆகியவை கத்தரிக்கப்பட்ட ஹாஷுக்கு, ஒருபோதும் இருந்திராத ஹாஷுக்குப் போலவே,nullஎனப் பதிலளிக்கின்றன; காப்பக முனையால் மட்டுமே இரண்டையும் வேறுபடுத்த முடியும்.rand_getTransaction,rand_checkTransactionஆகியவையும்nullஎனப் பதிலளிக்கின்றன; அடித்தளத்துக்குக் கீழான உயரத்தைக் குறிப்பிடும் இருப்பிட வரிசை எஞ்சியிருக்கும்போது மட்டுமே-32010. கத்தரிக்கப்பட்ட முனையில்rand_getTransactionStatusஒவ்வொருunknownபதிவுக்கும்floorஐச் சேர்க்கிறது. - வாலட் ஸ்கேனிங் பாதிக்கப்படுவதில்லை:
rand_getCommitments,rand_getNullifiers,rand_getAnchorமற்றும் சாட்சி முறைகள் ஒருபோதும் கத்தரிக்கப்படாத தரவுக் குடும்பங்களையே படிக்கின்றன.
கம்பியில் பரிவர்த்தனை
Transaction { chain_id: u64, bundle: Option<Bundle>, action: Action }
Bundle { // the hidden-asset bundle (since chain 14)
anchor: Word8, nullifiers: [Word8; 4], commitments: [Word8; 4],
fee: u64, burn_a: u64, burn_r: u64, burn_asset: u32, time: u32,
envelopes: [Envelope; 4], proof: Vec<u8>,
auth_commit: Word8, auth_proof: Vec<u8>, // since chain 17 (v0.6.3): split authorisation's c and
} // its proof; zeros and empty without hc_auth
Envelope { kem_ct: Vec<u8>, to_receiver: Vec<u8>, to_sender: Vec<u8>, body: Vec<u8> }
Action::None
Action::Mint { cm: Word8, pk: Word8, time: u32, r: Word8, envelope: Envelope, amount: u64,
minter: PublicKey, signature: Signature }
Action::Deploy { base_pc: u32, words: Vec<u32>, public: Vec<u32> }
Action::Call { program: Hash, proof: Vec<u8>, input_envelope: Option<CallEnvelope> }
Action::Bond { validator: Address, amount: u64, registration: Option<Registration> }
Action::Unbond { validator: Address, amount: u64, nonce: u64, signature: Signature }
Action::Withdraw { validator: Address, amount: u64, nonce: u64, time: u32, r: Word8,
envelope: Envelope, signature: Signature }
Action::BridgeAttest { attestation: Vec<u8>, recipient: ShieldedAddress, r: Word8, time: u32,
asset: u32, envelope: Envelope, pq_signatures: Vec<PqSignature> }
Action::BridgeBurn { asset: u32, amount: u64, relayer_fee: u64, to_chain: u16,
token: [u8; 32], to: [u8; 32] }
// the five aggregation variants sit here in the enum's declared order
Action::RegisterToken { name: String, symbol: String, decimals: u8, authority: MintAuthority,
initial: Option<InitialMint>, salt: [u8; 32], index: u32 }
Action::TokenMint { asset: u32, amount: u64, recipient: ShieldedAddress, r: Word8, time: u32,
envelope: Envelope, nonce: u64, signature: Signature }
Action::SetAuthority { asset: u32, new: Option<PublicKey>, nonce: u64, signature: Signature }
Action::TokenBurn { asset: u32, amount: u64 }
Action::PauseMints { nonce: u64, signature: Signature } // bundle-less, fee-less
Action::UnpauseMints { nonce: u64, pq_signatures: Vec<PqSignature> } // bundle-less
Action::RegisterBridgedToken { name: String, symbol: String, salt: [u8; 32], chain: u16,
token: [u8; 32], decimals: u8, nonce: u64,
pq_signatures: Vec<PqSignature> }
Action::ListBacking { token_index: u32, chain: u16, token: [u8; 32], decimals: u8, nonce: u64,
pq_signatures: Vec<PqSignature> }
Action::RotatePqGuardians { new_pq_guardians: Vec<PublicKey>, nonce: u64,
pq_signatures: Vec<PqSignature> } // bundle-less, fee-less
Action::RotatePauseKey { new_pause_key: PublicKey, nonce: u64,
pq_signatures: Vec<PqSignature> } // bundle-less, fee-less
// the four vesting variants (ClaimVested, RevokeVesting, BondVested, UnbondVested) follow, tags 24 to 27;
// since v0.6.8 RevokeVesting carries `signatures: Vec<RevokerSignature>` in place of one `signature`
Action::AdmitValidator { candidate: PublicKey, signatures: Vec<(PublicKey, Signature)> } // tag 28, v0.6.8
Action::SlashEquivocation { first: Box<SignedHeader>, second: Box<SignedHeader> } // tag 29
Action::RotatePqGuardiansV2 { new_pq_guardians: Vec<PublicKey>, possession: Vec<Vec<u8>>,
nonce: u64, pq_signatures: Vec<PqSignature> } // tag 30
Action::RotatePauseKeyV2 { new_pause_key: PublicKey, possession: Vec<u8>, nonce: u64,
pq_signatures: Vec<PqSignature> } // tag 31
Action::CancelRotation { kind: u8, nonce: u64, signature: Signature } // tag 32
Action::Invoke { program: Hash, proof: Vec<u8>, input_envelope: Option<CallEnvelope>,
transition: Transition } // tag 33, RPL-2
MintAuthority = None | Key(PublicKey) | Bridge { backings: Vec<Backing> } | Program(Hash)
InitialMint { amount: u64, recipient: ShieldedAddress, r: Word8, time: u32, envelope: Envelope }
Transition { reads: Vec<Cell>, writes: Vec<Cell>, inflow: Inflow, pays: Vec<Payout>, mints: Vec<Payout> }
Cell { key: Word8, value: Word8 } // keys strictly ascending in each list
Inflow = None | Deposit | Burn // what the bundle's burn_a of burn_asset is to the program
Payout { asset: u32, amount: u64, recipient: ShieldedAddress, r: Word8, envelope: Envelope }
Registration { public_key: PublicKey, payout: ShieldedAddress, signature: Signature }
CallEnvelope { kem_ct: Vec<u8>, to_sender: Vec<u8>, to_auditor: Vec<u8>, body: Vec<u8> }
PqSignature { index: u8, signature: Vec<u8> } // one guardian's Dilithium2 co-signature, by set index
bincode இன் இயல்புநிலை அமைப்பு: நிலையான அகல முழுஎண்கள், 8-பைட் நீள முன்னொட்டுகள், அறிவிப்பு வரிசையில் u32 enum குறிச்சொற்கள். ஐந்து திரட்டல் வகைகள் enum இல் BridgeBurn க்குப் பின்னும் RegisterToken க்கு முன்னும் வருகின்றன (பரிவர்த்தனைகள்); சங்கிலி 20 அவற்றையோ, நான்கு உரிமையாக்க வகைகளையோ, SlashEquivocation ஐயோ ஒருபோதும் அனுமதிப்பதில்லை, ஆனால் குறிச்சொல் எண்களை நிலையாகக் குறியிடும் குறியாக்கி அவற்றையும் எண்ணியாக வேண்டும்.
தொகுப்பின் கடைசி இரண்டு புலங்கள் v0.6.3 மற்றும் சங்கிலி 17 உடன் வந்தன. bincode நிலைசார்ந்தது; எனவே சங்கிலி 16 அல்லது அதற்கு முந்தையவற்றுக்காக எழுதப்பட்ட குறியாக்கி இந்தச் சங்கிலி குறிவிலக்கக்கூடிய பரிவர்த்தனையை உருவாக்காது; அவற்றுடன் ஒவ்வொரு பரிவர்த்தனை அடையாளமும் மாறியது: அடையாளத்தின் களம் இப்போது rand-txid-3, அது auth_commit ஐயும் அங்கீகாரச் சான்றின் சுருக்கத்தையும் பிணைக்கிறது. அடையாளங்களை உள்ளூரில் மீண்டும் கணக்கிடும் கிளையன்ட் அதனுடன் மாற வேண்டும். சங்கிலி 20 இல் ஒவ்வொரு தொகுப்பும், சுயமாக நிரூபிக்கப்பட்டதாயினும் ஒப்படைக்கப்பட்டதாயினும், ஓர் அங்கீகாரச் சான்றைக் கொண்டுள்ளது. v0.6.8 Transaction அல்லது Bundle அமைப்பில் எதையும் மாற்றவில்லை; அது 28 முதல் 33 வரையிலான செயல்களைப் பின்னிணைக்கிறது.
ஒவ்வொரு பரிவர்த்தனையும் அதிகபட்சம் ஒரு தொகுப்பைச் சுமக்கிறது. ஒரு Bond, burn_r அதன் amount-க்குச் சமமாகவும் burn_a, burn_asset இரண்டும் 0 ஆகவும் உள்ள ஒரு தொகுப்பைச் சுமக்கிறது. ஒரு BridgeBurn அல்லது TokenBurn தொகுப்பின் வழியாக எரிக்கிறது: burn_asset செயலின் asset ஆக இருக்க வேண்டும் (ஒருபோதும் 0 அல்ல), burn_a செயலின் amount ஆகவும் burn_r 0 ஆகவும் இருக்க வேண்டும்; அதே வேளையில் fee ஸ்லாட்டுகள் 2–3 இலிருந்து RAND இல் செலுத்தப்படுகிறது. மற்ற எந்தச் செயலும் எந்த டோக்கனையும் எரிப்பதில்லை; RAND எப்போதும் burn_r வழியாக மட்டுமே எரிக்கப்படுகிறது: burn_asset 0 ஆகவும் burn_a பூஜ்ஜியமற்றதாகவும் உள்ள தொகுப்பு எல்லா இடங்களிலும் மறுக்கப்படுகிறது. ஒரு BridgeAttest-இன் r தேர்ந்தெடுக்கப்படுவதில்லை, வருவிக்கப்படுகிறது: காவலர்கள் கையொப்பமிட்ட சுருக்கத்தின் மீது blake3("rand-deposit-r-1" ‖ mu) இருக்க வேண்டும் என ஏற்பு கோருகிறது, வேறு எந்த மதிப்பையும் மறுக்கிறது (WrongDepositBlinding, நிரந்தர மறுப்பு). பாலமிடப்பட்ட ஒரு டோக்கன், அதன் எந்தச் சான்றளிப்பும் ஏற்கத்தக்கதாவதற்கு முன் பட்டியலிடப்படுகிறது — தொடக்கத் தொகுதியில், அல்லது ஒரு RegisterBridgedToken / ListBacking மூலம்; பட்டியலிடப்படாத நாணயத்தின் சான்றளிப்பு UnlistedToken என மறுக்கப்படுகிறது.
ஒவ்வொரு தொகுப்பு நிரூபணமும், அது பயணிக்கும் பரிவர்த்தனையின் மீதே உருவாக்கப்பட்டு, அதற்கு எதிராகவே சரிபார்க்கப்படுகிறது: நிரூபணங்கள் வெறுமையாக்கப்பட்ட முழுப் பரிவர்த்தனை, புதிய குறிச்சொற்களின் கீழ், சங்கிலி அடையாளத்துடனும், சங்கிலி 20 இல் (binding_domain: 1) தொடக்கத் தொகுதி ஹாஷுடனும் பிணைக்கப்படுகிறது. சங்கிலிகள் 14 முதல் 19 வரை பிணைப்பு சங்கிலி அடையாளம் மட்டுமே; எனவே சங்கிலி 19-க்காக உருவாக்கப்பட்ட நிரூபணம் சங்கிலி 20 இல் சரிபார்க்கப்படாது, v0.6.8 ஐ விடப் பழைய வாலட் அங்கு அனுப்ப இயலாது. சங்கிலிகள் 18 முதல் 20 வரை, அதன் இரண்டு நிரூபணங்கள் இல்லாத தொகுப்பு 7,936 பைட்டுகளாகவும், அவை இல்லாத பரிமாற்றப் பரிவர்த்தனை 7,949 பைட்டுகளாகவும் குறியாக்கப்படுகின்றன (சங்கிலிகள் 14 முதல் 16 வரை 5,848 மற்றும் 5,861; 1,348-பைட் உறைகளுடன், அங்கீகாரப் புலங்கள் இன்றி). வலையமைப்பில் ஒரு பரிமாற்றம் உற்பத்தி சுயவிவரத்தில் சுமார் 2.85 MB; ஏறக்குறைய முழுவதும் நிரூபணமே: சுமார் 1.49 MB தொகுப்பு நிரூபணமும் சுமார் 1.36 MB அங்கீகார நிரூபணமும். பிரிக்கப்பட்ட அங்கீகாரத்துக்கு முன் அது சுமார் 1.43 MB ஆக இருந்தது.