Rand Protocol
文檔
核心概念

費用

交易向鏈支付 RAND 的方式:各項操作的固定下限費用、在 chain 21 上調用所需支付的 gas 與位元組價格、費用的去向以及 chain 21 銷毀的部分、為何此處的 gas 是一種價格而非對執行的限制,以及發送方改用自身機器時所支付的代價。

使用本頁可設定交易手續費、估算部署或調用的成本,並了解驗證節點所得的報酬。手續費是以 RAND 計的下限。除調用外,每項操作均繳付固定費用。自鏈 18 起,調用須按其證明所聲明的 gas 上限及其位元組數付費,價格隨區塊的充盈程度浮動,自鏈 20 起設有價格上限。在鏈 21(fullnode v0.8.0,自 2026-10-12 起上線)上,下限本身會被銷毀,提議者只保留小費(見下文)。

The floors

手續費以 10⁻⁹ RAND 為單位。常數定義於 randprotocol_core::gas:

交易下限現時
任何 bundle:RAND 或任何 RPL 代幣的轉賬、質押、跨鏈橋存款(BridgeAttest,由其中繼者支付)、TokenMint、SetAuthority、TokenBurn、ListBackingBUNDLE_BASE = 1,000,000 單位0.001 RAND
部署BUNDLE_BASE + DEPLOY_PER_WORD(100,000)×(程式字數 + 公開字數)256 字的程式:0.0266 RAND;4,096 字的程式:0.4106 RAND;含 27,151 字公開輸入的 65,096 字 SPL Token 映像:9.2257 RAND(2026-09-19 部署於鏈 13)。自鏈 16(hardening_v6,包括鏈 21)起,任何調用均無法容納的部署會被拒絕,錯誤為 ProgramUncallable:無公開輸入的程式超過 8,180 字,有公開輸入者則須更少。該映像在鏈 21 上會被拒絕
調用在創世區塊設有 gas 部分的鏈上(鏈 21,與鏈 18 至 20 相同):BUNDLE_BASE + gas_price × 調用證明所聲明的 gas 上限 + byte_price × 調用證明加輸入信封的每 KiB(不足 1 KiB 者按 1 KiB 計),由第 0 個位元組起計。見 Gas on chain 18。在沒有該部分的鏈上:BUNDLE_BASE + call_fee(tier),其中 call_fee = CALL_BASE(1,000,000)+ 10 以上每兩個層級 100,000,再加調用證明與輸入信封超出 2,097,152 + 18,432 位元組免費額度的部分,每 KiB(不足 1 KiB 者按 1 KiB 計)1,000 單位鏈 21,按 100 與 800 單位的起始價格(與鏈 20 相同):一個聲明該層級上限 20,479 gas、證明與信封共 1,350,000 位元組的 tier 14 調用,其下限為 0.0041 RAND;錢包的預設值則支付更多(見下文)。沒有 gas 部分時,如鏈 15:tier 10:0.002;tier 14:0.0022 RAND,在免費額度之內。自 v0.5.6 起,高於 tier 14 的調用不論支付多少均會被拒絕(MAX_CALL_TIER)。2026-09-19 在鏈 13 上進行的 ERC-20 approve 調用(tier 16,證明 3,412,405 位元組)支付了 0.00357 RAND,自 v0.5.6 起在任何鏈上均會被拒絕
Invoke(RPL-2,自鏈 20 起)一次調用的下限,另加創世區塊 program_state.cell_fee 乘以該狀態轉換所創建的每個 cell(原先無儲存值、被寫入非零值的 cell);改寫或刪除 cell 不增加費用鏈 21 上的 cell_fee 為 0.01 RAND,與鏈 20 相同:上述 tier 14 調用若創建兩個 cell,其下限為 0.0241 RAND
BridgeBurnBRIDGE_BURN_FEE = 10 × BUNDLE_BASE:基本費用加跨鏈橋自身的收費,兩者均由銷毀所附帶的那一個 bundle 支付0.01 RAND;自鏈 20 起,跨鏈橋另保留所銷毀 zUSD 的 10 bps(見下文)
RegisterToken、RegisterBridgedTokenBUNDLE_BASE + 代幣註冊表的 registration_fee(創世參數)鏈 21,與鏈 20 相同:0.001 + 1 RAND = 1.001 RAND,其中 1 RAND 被銷毀
Mint(水龍頭)、Unbond0;無 bundle,由驗證節點簽署—
PauseMints、UnpauseMints0;無 bundle,由暫停密鑰或 PQ 守護者法定人數授權,因此不持有 RAND 的錢包亦可暫停—
Withdraw鏈上為 0;0.001 RAND 的基本費用從提取金額中扣除提取 1,000 RAND 會產生價值 999.999 的票據

手續費是 bundle 的一個公開字,且永遠以 RAND 計。隱藏資產 bundle guest 把它綁定到 RAND 組的餘額關係 in₂ + in₃ = out₂ + out₃ + fee + burn_r(槽位 2–3)之中,因此手續費由隱藏票據支付,而不會洩露是哪一張;代幣則依其自身的關係 in₀ + in₁ = out₀ + out₁ + burn_a 在同一 bundle 的槽位 0–1 中流轉。因此一個證明即可轉移代幣並支付其 RAND 手續費,而持有代幣但沒有可花費 RAND 的錢包,會在生成證明之前被拒絕。

跨鏈橋的收費落在銷毀上,因為這是唯一一項其發送者必定持有 RAND 的跨鏈橋交易;存款只支付基本費用,因為存款人尚未持有 RAND。註冊費屬賬本事實,而非 fee_floor 的一部分,因此按該操作自身的規則檢查(RegistrationFeeTooLow),方式與調用的 gas 或層級部分在其證明解碼後才計費相同。調用的下限會被檢查兩次,因為其所聲明的內容只有在證明通過驗證後才可信。在按 gas 計費的鏈上(鏈 21,與鏈 18 至 20 相同),第一次檢查在任何驗證之前,按調用的位元組數及聲明上限 1 計價(Invoke 在該處亦須支付其 cell 費用);第二次檢查則按已驗證證明所聲明的上限計價。在沒有 gas 部分的鏈上,兩者分別是 BUNDLE_BASE + CALL_BASE 與按層級精確計算的下限。

應向節點查詢,而非自行猜測:

rand fee bundle          # 0.001 RAND
rand fee deploy 256      # 0.0266 RAND
rand fee call 14 --gas 20479 --bytes 1350000   # 0.0041 RAND at chain 21's starting prices (chain 20's)
→ {"method":"rand_estimateFee","params":[{"kind":"call","tier":14,"gas":20479,"bytes":1350000}]}
← "4103100"

該答案即起始價格下的 1,000,000 + 100 × 20,479 + 800 × 1,319;節點會按查詢時鏈頂的價格計價。自鏈 20 起,調用規格的 gas 欄位在 JSON-RPC 上為必填(缺少時返回 -32602)。不帶 --gas 的 rand fee call <tier> 會發送該層級的上限,不帶 --bytes 則不計位元組的價格。Invoke 以同樣方式計價,使用 "kind":"invoke" 及 "created_cells": c,即加上 c 份 cell 費用(上例創建兩個 cell,於 2026-10-01 向鏈 20 查詢得 24103100)。在沒有 gas 部分的鏈 15 上,rand fee call 14 的答案為 0.0022 RAND。

錢包的預設值恰為下限,惟按 gas 計費的鏈(鏈 21)上的調用除外,其預設值會加上餘裕(見下文);rand send --fee <RAND> 以及 bond、call、bridge-mint、bridge-burn(預設 0.01)和 token 子命令上的 --fee 旗標可將其調高。高於下限的部分即為小費。

Gas on chain 18

鏈 18 自 2026-09-29 至 2026-10-01 上線,是首條按 gas 計費的鏈;鏈 19 是其在同一構建上的重新創世,帶有相同的 gas 部分。鏈 20(v0.6.8)沿用本節的所有規則,並新增兩個價格上限,以及僅就需付費的位元組計算的位元組負載(見下文)。鏈 21(v0.8.0,2026-10-12)沿用鏈 20 的 gas 部分,僅區塊的位元組目標因其較小的區塊上限而相應調整。沒有 gas 部分的鏈沿用上表的層級收費表。

計算內容。 一個 gas 即 zkVM cpu 表的一行,因此一般指令的成本為 1。僅系統調用另有成本:

操作gas
任何指令、HALT、WRITE_OUTPUT、READ_INPUT、READ_PUBLIC1
對 n 個字的 POSEIDON23 + 3 × ⌈n/4⌉(每個吸收行成本為 3)
SHA256,每次壓縮64
KECCAK,每次置換192

聲明的上限。 調用證明比以往多帶一個公開值 GAS_LIMIT,電路(約束集 8)證明該次運行的 gas 不超過它。確切的 gas 保持私密。高於證明自身標頭上限的聲明上限,會在建立任何驗證密鑰之前被拒絕:

gas_max = (2ᵗ − 1) + 2^(t−2) + 191 × (keccak rows / 32) + 63 × (sha256 rows / 64)

對於不使用兩種哈希表的調用,tier 10 為 1,279,tier 12 為 5,119,tier 14 為 20,479。

下限。 賬本按區塊開始時生效的價格,對聲明的上限及位元組數收費:

fee ≥ BUNDLE_BASE + gas_price × gas_limit + byte_price × ⌈bytes / 1024⌉

bytes 為調用證明加輸入信封。層級收費表及其免費額度不適用於此類鏈。交易池的要求與區塊完全一致,並以 FeeTooLow 拒絕較便宜的調用。

Bundle 與授權證明聲明固定的上限。 每個 bundle 證明必須恰好聲明創世的 bundle_gas_limit,即 20,479(tier 14 的上限),否則交易會以 BundleGasLimit 被拒絕。鏈 21 與自鏈 17 起的每條鏈一樣,採用拆分授權,因此每個 bundle 均帶有一個 tier 10 的授權證明,其必須聲明 1,279(AuthGasLimit);由私密多重簽名策略授權的 bundle(鏈 21 新增)則改為攜帶第二個 auth guest 的 tier 18 證明(Transactions)。兩者都不是收費項目:轉賬、質押或部署仍支付上表中的固定下限。錢包會自行聲明這兩個值。

價格會浮動。 自 chain 18 起,gas 區段設有 dynamic 控制器,因此 gas_price 與 byte_price 屬賬本狀態,並已承諾於狀態根(state root)之中。每個區塊在處理完其交易之後,各價格會按該區塊相對目標的充盈程度調整一次:

price' = min(max_price, max(min_price, price + ⌊price × adjust_bps × (used − target) / (10,000 × target)⌋))

used 以目標的兩倍為上限,因此 adjust_bps 即單一區塊在任一方向上可作出的最大變動。max_price 為創世區塊設定的上限;chain 18 與 19 並無上限。byte_price 跟隨區塊的付費位元組(見下文);gas_price 跟隨其各項調用(call)與 invoke 所聲明上限之總和,另加每個捆綁(bundle)的 20,479。

chain 21 gas 區段(與 chain 20 相同,惟位元組目標除外)值
創世時的 gas_price、byte_price每 gas 100 單位;每 KiB 800 單位
min_gas_price、min_byte_price100;800,故起始價格同時即為下限
max_gas_price、max_byte_price10,000;80,000:即上限,為下限的 100 倍(chain 20 新增)
byte_loadpaying(chain 20 新增)
target_block_byteschain 21 為 9,961,472,即其 19 MiB 區塊上限的一半(chain 20 為 10,485,760,即 20 MiB 的一半)
target_block_gas262,144
adjust_bps1,250:每個區塊最多 12.5%
bundle_gas_limit20,479
meteringcircuit

區塊若低於其目標,價格便會下調,因此在閒置的鏈上,價格會停留在下限。rand_getLimits 會提供區塊鏈頂端當前的 gas_price 與 byte_price,連同 gas_metering: "circuit"、bundle_gas_limit、adjust_bps,以及自 v0.6.8 起的 max_gas_price、max_byte_price 與 byte_load(在沒有這些欄位的鏈上為 null);rand_status 則以 gas_prices 報告同樣的兩個價格。

上限與付費位元組負載

兩者皆為 gas.dynamic 的創世欄位,於 v0.6.8 新增(審計 v6,POOL-2),而 chain 20 是首條設定它們的鏈。它們修正了 chain 18 與 19 的一項缺陷。在該兩條鏈上,byte_price 隨每筆交易的編碼長度變動,但只有調用(call)才需支付該價格。七筆轉賬(每筆約 2.85 MB,收取固定費用)便足以將區塊填至約為位元組目標的 1.9 倍,並使價格每個區塊上升約 11%;由於沒有上限,約 65 個這樣的區塊便可使其升至起始價的 1,000 倍,屆時一次調用的費用約為 1 RAND,而非約 0.004。

  • 上限。 max_gas_price 與 max_byte_price 是控制器永不突破的價格。調整幅度不變,其後再作截限(gas::next_price_capped),因此處於上限的價格在任何連續滿載區塊之下均維持不變,並於首個低於目標的區塊即回落。創世區塊必須將各上限設定為不低於其起始價格。在這些上限之下(chain 21 沿用 chain 20 的設定),上文的 tier-14 調用(20,479 gas 與 1,319 KiB)其下限為 0.3113 RAND,此即其下限所能達到的最高值。
  • 付費位元組負載。 在 byte_load: "paying" 之下,區塊的 bytes_used 只計算按位元組價格收費的位元組:即每筆 Call 與 Invoke 的證明(proof)加輸入信封(gas::call_bytes),轉賬、質押(bond)或銷毀(burn)則一概不計。一個全是轉賬的區塊不會令位元組價格變動。Ledger::block_usage 為提議者與副本計算同一數值,故兩者一致。

在付費負載之下,一個滿是轉賬的區塊並不會向調用提供任何價格訊號,因此誠實的提議者亦會為調用預留空間。這是節點政策,並非有效性規則:當有 call 或 invoke 處於待處理池中且支付其當前下限時,收取固定費用的交易在第一輪中至多佔用區塊位元組的四分之三,而調用在最後四分之一中未用盡的部分,則由先前押後的轉賬填補(Mempool)。

錢包為調用支付的費用

rand call 會先在模擬器中運行程式,並輸出 gas: <exact> (declaring <limit>, tier <t>)。預設情況下,它所聲明的是將精確 gas 向上取整至 2^(tier − 2) 的倍數;--gas-limit N 聲明一個確切數值,--gas-limit max 則聲明區塊頭的上限。

有兩項因素令預設費用高於下限:

  • 證明按上限定價。 自 chain 16 起(hardening_v6,包括 chain 21),調用證明綁定於其自身交易,因此費用在證明產生之前已經確定。錢包以該鏈的證明上限(chain 21 為 6 MiB,chain 18 至 20 為 4 MiB)取代實際的證明大小來定價(wallet::hardened_call_quote_bytes)。這只可能多付,不會少付。
  • 兩級價格步幅的餘裕。 rand_getLimits 提供的是已承諾區塊鏈頂端的價格,而調用會在兩至三個區塊之後才落地,因此預設會將下限乘以 (1 + adjust_bps / 10,000)²,在 chain 21 上即 1.125²,與 chain 20 相同。

於 2026-09-30 在 chain 18 上的量度顯示,在這些預設值下,四次調用的費用各介乎 0.0057 至 0.0075 RAND(Example programs)。--fee 可覆寫預設值;錢包在提交之前會重新為實際證明定價,並拒絕低於其下限的費用。

費用的去向

在 chain 21 上,下限被銷毀,提議者保留小費。 Chain 21 的創世區塊載有 fees 區段,並設定了 burn_base 與 burn_floor(fullnode v0.8.0;rand_getLimits.fee_rules 以 {"burn_base": true, "burn_floor": true, "subsidy_net_of_fees": false, "proposer_share_bps": null, "prove_base": null, "usd_subsidy": null} 提供)。在每個捆綁的費用分拆中,賬本為該捆綁所定的下限——轉賬、質押、代幣操作或證明(attestation)為 BUNDLE_BASE;Deploy 為 BUNDLE_BASE 加每字元(word)的計價項;Call 為按該區塊價格計算、精確到 tier 的調用下限,Invoke 則另加單元費用(cell fee);BridgeBurn 為 BRIDGE_BURN_FEE,因此橋接本身的收費與基礎費用一併被銷毀——均會被銷毀(burned = min(fee, floor)),而驗證者登記冊(validator register)中的區塊提議者 rewards(此為本鏈唯一以明文儲存金額之處)則僅按小費 fee − floor 增加。rand_getSupply 將銷毀量計入 base_fees_burned,位於供應量恆等式的右側,與 registration_fees_burned 並列(Supply),而 fees_paid 則按提議者所保留的數額變動。發送者所支付的一切並無改變:下限與錢包的預設值即上文所列數字,不同的只是下限的去向。選用忠實的 EIP-1559 形式,而非僅銷毀基礎費用,是為了令提議者無法從推高價格的區塊中獲益。註冊的 registration_fee 不屬下限的一部分;它按其自身的旗標銷毀,一如以往。

在 chain 15 至 20 上,全部費用(下限與小費)均記入提議者,惟有一項例外。在設有 tokens.burn_registration_fee 的創世區塊上(chain 21,自 chain 15 起的各鏈皆然),RegisterToken 或 RegisterBridgedToken 的 registration_fee 會被銷毀,提議者保留 fee − registration_fee;rand_getSupply 將其計入 registration_fees_burned。在欠缺該旗標的 chain 14 上,提議者保留全部費用。驗證者以 rand-node withdraw 將累積的獎勵轉為一張票據(note)(Staking)。Chain 21 上沒有區塊獎勵,亦沒有通脹:小費便是驗證者收入的全部。Withdraw 的基礎費用在登記冊一側、由提取的金額中支付,並不經過捆綁的費用分拆,因此不會被銷毀。

自 chain 20 起有一項費用並非 RAND,亦不歸任何驗證者。根據創世的 bridge.fees(v0.6.8 新增,並沿用至 chain 21),橋接會從每筆 zUSD 存入及每筆 zUSD 銷毀中保留 10 bps,向下取整至後盾資產的整數贖回單位,並以 zUSD 票據(note)的形式交予創世所指定的國庫地址。存入時,存款人獲記入的是總額減去該費用;銷毀時,則在來源鏈上釋出 amount − fee。該費用票據仍然保持已發行及有後盾支持的狀態。參閱 Bridge 與 RPL tokens。

記憶池(mempool)依各候選交易在下限之上每 KiB 所支付的金額排序,其次才依費用排序(Mempool),因此較高的費用只在擁堵時才有意義。一筆轉賬約為 2.85 MB(於 chain 18 上量度):由 1.49 MB 的捆綁證明與 1.36 MB 的授權證明組成,因此按此大小,chain 20 的 20 MiB 區塊約可容納七筆,chain 21 的 19 MiB 區塊則約可容納六筆(chain 21 上約束集 9 的證明大小在此尚未量度)。fullnode 自身的備註指出,在主網之前,下限應當演變為針對位元組(而非操作碼)的費用市場。自 chain 20 起,位元組價格便是調用的這個市場,僅隨調用所付費的位元組而變動;轉賬的下限仍為固定,而自 chain 21 起,該下限會被銷毀。

為何此處的 gas 是價格,而非上限

Ethereum 為每個操作碼計量,因為每個節點均執行每筆交易,而執行本身並無界限。在 Rand 上,沒有任何節點執行任何東西:發送者在鏈下運行程式一次,然後把證明交給鏈。節點處理每筆交易的工作是固定的序列——解碼公開欄位、運行免費檢查、驗證一個 STARK——而在驗證者金鑰已預熱的情況下,無論程式做過甚麼,該驗證都約需 16 ms。因此 gas 的三項職能便各自分開:

  • 終止由層級強制執行:一次運行若未能在 2ᵗ − 1 個週期內停機,便根本無法證明,失敗由 prover 自行承擔。
  • 為工作計價是 gas 下限自第 18 條鏈起的作用。網絡每條指令的成本接近零,但發送者的證明工作是實在的,而固定下限把一次百萬週期的調用與一次千週期的調用定為同價。在第 18 條鏈之前,下限按每個層級固定。
  • 區塊大小是一個位元組預算(預設為 MAX_BLOCK_BYTES = 4 MiB,否則取創世區塊的 max_block_bytes)加上交易數目(2,000)。

fullnode 明確指出兩點保留:位元組確實有所不同(一個證明超過一兆位元組,因此稀缺的資源是區塊空間而非運算),而狀態增長——樹、nullifier 集合、已部署的程式位元組——只由按字計算的部署費用和固定的基本費用定價,這對 testnet 已經足夠,待狀態規模變得重要時值得重新檢視。

發送者改為支付的成本:證明

唯一會變動的成本是生成 STARK 證明,而且只由發送者的機器承擔。按影響大小排列:

  1. 層級 t ∈ {10, 12, 14, 16, 18, 20}(自 v0.5.6 起,高於 14 的調用會被鏈拒絕;bundle 固定為 14,自第 17 條鏈起旁邊還附有一個層級 10 的授權證明,約多 7 秒):cpu 表會填充至 2ᵗ 行,每上升一級,填充後的軌跡約增至四倍。在開發用手提電腦上的實測:層級 10 的 private_payment 約 7 秒;層級 14 的隱藏資產 bundle guest 約 100 秒,無論它轉移的是哪種資產。
  2. 已執行的週期數,因為它們決定層級:計的是已運行的指令,而非已寫下的指令。
  3. 程式大小,影響較輕:軌跡開頭每四個字對應一行摘要。
  4. 私有輸入的大小,情況相同。
  5. 存在哪些表:keccak 或 sha256 表只有在 guest 用到時,才會計入其欄位所佔的份額。
  6. FRI 配置:80 次查詢取代 27 次,會令證明大小增至三倍,但證明時間幾乎不變。

證明並不取決於金額、發送者擁有多少個 note,或鏈的規模:成員資格是針對固定深度的樹來證明的,因此一次轉賬在第十個區塊與第一千萬個區塊的成本相同。

參考

常量值
BUNDLE_BASE1,000,000 units
BRIDGE_BURN_FEE10,000,000 units(10 × BUNDLE_BASE)
registration_fee(創世區塊 tokens 部分)第 21 條鏈為 1,000,000,000 units,與第 20 條鏈相同,予以銷毀(burn_registration_fee)
DEPLOY_PER_WORD100,000 units
CALL_BASE、CALL_PER_TIER_STEP1,000,000;100,000 units;沒有 gas 部分的鏈所用的層級收費表
GAS_PRICE_DEFAULT、BYTE_PRICE_DEFAULT每 gas 100 units;每 KiB 800 units。第 21 條鏈的起始價格及其價格下限,與第 20 條鏈相同
KECCAK_GAS、SHA256_GAS、POSEIDON2_ABSORB_GAS每行 192;64;3 gas
max_gas_price、max_byte_price(創世區塊 gas.dynamic)第 20 及 21 條鏈為每 gas 10,000 units;每 KiB 80,000 units;缺省時沒有上限(第 18 及 19 條鏈)
byte_load(創世區塊 gas.dynamic)第 20 及 21 條鏈為 paying:只有 call 與 invoke 的證明及信封位元組會推動 byte_price;缺省時,每筆交易的位元組都會推動
cell_fee(創世區塊 program_state)第 20 及 21 條鏈每創建一個 cell 為 10,000,000 units(0.01 RAND);上限為 1,000 RAND
bundle_gas_limit(創世區塊 gas 部分)第 21 條鏈為 20,479,與自第 18 條鏈起相同,即 gas_max(14, 0, 0);授權證明聲明 1,279,即 gas_max(10, 0, 0)
adjust_bps(創世區塊 gas.dynamic)第 21 條鏈為 1,250,與自第 18 條鏈起相同;創世區塊可設為 1 至 5,000
target_block_bytes、target_block_gas(創世區塊 gas.dynamic)第 21 條鏈為 9,961,472 位元組(第 20 條鏈為 10,485,760);262,144 gas
fees 部分(創世區塊,第 21 條鏈)burn_base 與 burn_floor 為 true:每個 bundle 結算後的下限均會被銷毀,並計入 rand_getSupply.base_fees_burned;提議者保留 fee − floor。subsidy_net_of_fees、proposer_share_bps、prove_base 與 usd_subsidy 未設定:它們涉及聚合型的鏈,而第 21 條鏈沒有 aggregation 部分
MAX_PROGRAM_WORDS4,096,除非創世區塊設定 max_program_words(最多 65,535;第 20 及 21 條鏈設為 65,535,而 hardening_v6 會拒絕超過 8,180 個字、任何調用都容納不下的程式)
MAX_PROOF_BYTES2 MiB,除非創世區塊設定 max_proof_bytes(第 21 條鏈為 6 MiB,為層級 18 的私有多簽授權證明留有空間;第 18 至 20 條鏈為 4 MiB;第 13 至 15 條鏈為 8 MiB)
MAX_BLOCK_BYTES、MAX_BLOCK_TXS4 MiB(除非創世區塊設定 max_block_bytes;第 21 條鏈為 19 MiB,第 20 條鏈為 20 MiB),2,000
層級10、12、14、16、18、20;週期 ≤ 2ᵗ − 1
MAX_CALL_TIER14:高於此值的調用證明在准入時及區塊中均會被拒絕(自 v0.5.6 起)

最後一次對照 fullnode 提交 c0878c3f(chain 21)核實的日期為 2026-10-12。 如代碼與本頁內容有出入,以代碼為準;請告知我們。