ガス抽象化
このガイドでは、ユーザーが QOR の代わりにネイティブでないトークンでトランザクション手数料を支払えるようにする QoreChain のガス抽象化機能について説明します。
以下のコマンドは qorechain-diana テストネット(EVM チェーン ID 9800)を使用します。メインネット(qorechain-vladi、EVM チェーン ID 9801)は、チェーンバージョン v3.1.82 で稼働し、2026 年 6 月 7 日以降稼働中です。メインネットでトランザクションを行う際は、メインネットへの接続 ページからメインネットのチェーン ID とエンドポイントに置き換えてください。
概要
ガス抽象化により、トランザクション手数料を支払うために QOR トークンを保有する必要がなくなります。許可された代替トークン(IBC 送金された USDC や ATOM など)を保有するユーザーは、それらのトークンを手数料の支払いに直接使用できます。プロトコルは、処理の前に手数料額をネイティブ等価物に自動的に変換します。
許可されたトークン
以下のトークンが手数料の支払いに許可されています。
| トークン | 単位 | 変換レート | 手数料の例 |
|---|---|---|---|
| QOR | uqor | 1.0(ネイティブ) | --fees 500uqor |
| USDC(IBC 経由) | ibc/USDC | 1.0 | --fees 500ibc/USDC |
| ATOM(IBC 経由) | ibc/ATOM | 10.0 | --fees 50ibc/ATOM |
変換レートは、市場価格ではなく、プロトコルで定義された交換比率を反映しています。ATOM のレート 10.0 は、手数料の目的において 1 単位の ibc/ATOM が 10 単位の uqor に相当することを意味します。
仕組み
QoreChain の GasAbstractionDecorator は、トランザクション処理パイプラインに統合されています。トランザクションがネイティブでない単位の手数料を含む場合、以下が発生します。
- 手数料の検査 — デコレーターはトランザクションで指定された手数料の単位をチェックします。
- レートの参照 — 単位が許可されたトークンリストにある場合、プロトコルは対応する変換レートを参照します。
- 変換 — 手数料額は、変換レートを使用してネイティブな uqor 等価物に変換されます。
- 標準処理 — 変換された手数料は、送信者のアカウントから差し引くために標準の
DeductFeeハンドラーに渡されます。変換はトランザクションパイプラインの残りの部分に対して透過的です。下流のすべての手数料処理(バリデータへの分配、バーン、トレジャリーへの割り当て、ステーカー報酬、ライトノード報酬)は、ネイティブな uqor 等価物に対して動作します。
使用例
USDC で手数料を支払う
手数料を USDC で支払ってトークン送金を行います。
qorechaind tx bank send mykey qor1recipient... 5000000uqor \
--chain-id qorechain-diana \
--fees 500ibc/USDC
USDC の変換レートは 1.0 なので、500 ibc/USDC は 500 uqor に相当します。
ATOM で手数料を支払う
手数料を ATOM で支払ってトークン送金を行います。
qorechaind tx bank send mykey qor1recipient... 5000000uqor \
--chain-id qorechain-diana \
--fees 50ibc/ATOM
ATOM の変換レートは 10.0 なので、50 ibc/ATOM は 500 uqor に相当します。
許可されたトークンのクエリ
現在ガス抽象化で許可されているトークンのリストを、その変換レートとともに取得します。
qorechaind query gasabstraction accepted-tokens
サンプル出力:
accepted_tokens:
- denom: uqor
conversion_rate: "1.000000000000000000"
- denom: ibc/USDC
conversion_rate: "1.000000000000000000"
- denom: ibc/ATOM
conversion_rate: "10.000000000000000000"
JSON-RPC アクセス
JSON-RPC 経由で統合するアプリケーションの場合、ガス抽象化の構成をクエリします。
qor_getGasAbstractionConfig
リクエスト:
{
"jsonrpc": "2.0",
"method": "qor_getGasAbstractionConfig",
"params": [],
"id": 1
}
レスポンス:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accepted_tokens": [
{ "denom": "uqor", "conversion_rate": "1.0" },
{ "denom": "ibc/USDC", "conversion_rate": "1.0" },
{ "denom": "ibc/ATOM", "conversion_rate": "10.0" }
]
}
}
- ガス抽象化は、まだ QOR を保有していない可能性のある、他のエコシステムからオンボーディングするユーザーに最適です。
- 変換レートはガバナンスによって設定され、パラメータ変更提案を通じて更新される場合があります。
- 複数の許可されたトークンを保有している場合、それらのいずれも、あらゆるトランザクションタイプの手数料に使用できます。
--feesで指定された実際のトークンがアカウントから差し引かれます。変換は、手数料が最小要件を満たしていることを検証するためにのみ使用されます。