GasとFee
Injectiveにおける
GasとFeeの違いについて学びましょう。前提知識 → Cosmos SDK Gas**最低Gas価格:**バリデーターによって設定された最低Gas価格は現在
160,000,000injです。injで支払われる金額を求めるには、Gas価格にGas量を掛けて1e18で割ります(INJは18桁の小数を持ちます)。例:gasWantedが104,519の場合、gasFees = 160,000,000 * 104,519 / 1e18 = 0.000016723injCosmos SDK Gas
Cosmos SDKでは、GasはメインのGasMeterとBlockGasMeterで追跡されます:
GasMeter:状態遷移につながる実行中に消費されたGasを追跡します。トランザクション実行ごとにリセットされます。BlockGasMeter:ブロック内で消費されたGasを追跡し、Gasが事前に定義された制限を超えないようにします。この制限はTendermintコンセンサスパラメーターで定義され、ガバナンスパラメーター変更プロポーザルを通じて変更できます。
BeginBlockとEndBlockの操作、およびトランザクションからの状態遷移を実行する前にストアの読み取りと書き込みを行う可能性のあるAnteHandlerチェックがあります。
BeginBlockとEndBlock
これらの操作はTendermint CoreのApplication Blockchain Interface(ABCI)によって定義され、各Cosmos SDKモジュールによって定義されます。名前が示すように、それぞれブロック処理の開始時と終了時に実行されます(つまり、トランザクション実行の前と後)。
AnteHandler
Cosmos SDK AnteHandlerは、トランザクション実行前に基本的なチェックを行います。これらのチェックは通常、署名検証、トランザクションフィールドの検証、トランザクション手数料などです。