Transaction
Transactionリソースは、トランザクションの送信とトランザクション情報の照会のための操作を提供します。
操作
Send Transaction(トランザクションを送信)
ネイティブトークン(ETH)をアドレスに送信します。
必要な認証情報:Ethereum RPC、Ethereum Account
パラメータ:
- To(宛先)(必須):受信者アドレス
- Value(値)(必須):送信する金額(ether単位)
- Gas Limit(ガス制限)(オプション):使用する最大ガス(提供されない場合は自動推定)
- Max Fee Per Gas(ガスあたりの最大手数料)(オプション):ガスあたりの最大合計手数料(EIP-1559)
- Max Priority Fee Per Gas(ガスあたりの最大優先手数料)(オプション):ガスあたりの最大優先手数料(EIP-1559)
- Nonce(オプション):トランザクションnonce(提供されない場合は自動計算)
- Data(データ)(オプション):トランザクションに含める追加データ
例:
{
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"value": "0.1"
}
出力:
{
"hash": "0x1234567890abcdef...",
"from": "0xYourAddress...",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"value": "100000000000000000",
"gasLimit": "21000"
}
Get Transaction(トランザクションを取得)
ハッシュによってトランザクションの詳細を取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Transaction Hash(トランザクションハッシュ)(必須):照会するトランザクションハッシュ
例:
{
"hash": "0x1234567890abcdef..."
}
出力:
{
"hash": "0x1234567890abcdef...",
"from": "0x...",
"to": "0x...",
"value": "100000000000000000",
"gasLimit": "21000",
"gasPrice": "20000000000",
"nonce": 5,
"blockNumber": 12345678,
"blockHash": "0x...",
"transactionIndex": 10
}
Get Transaction Receipt(トランザクションレシートを取得)
ログとステータスを含むトランザクションレシートを取得します。
必要な認証情報:Ethereum RPC
パラメータ:
- Transaction Hash(トランザクションハッシュ)(必須):照会するトランザクションハッシュ
ユースケース:
- トランザクションが成功したかどうかを確認
- トランザクションによって発行されたイベントログを取得
- トランザクションで使用されたガスを取得
例:
{
"hash": "0x1234567890abcdef..."
}
出力:
{
"transactionHash": "0x1234567890abcdef...",
"status": "success",
"blockNumber": 12345678,
"gasUsed": "21000",
"effectiveGasPrice": "20000000000",
"logs": [],
"contractAddress": null
}
Wait For Transaction(トランザクションを待つ)
トランザクションがブロックチェーンで確認されるのを待ちます。
必要な認証情報:Ethereum RPC
パラメータ:
- Transaction Hash(トランザクションハッシュ)(必須):待機するトランザクションハッシュ
- Confirmations(確認数)(オプション):待機する確認数(デフォルト:1)
- Timeout(タイムアウト)(オプション):待機する最大時間(ミリ秒)(デフォルト:60000)
ユースケース:
- 続行する前にトランザクションが確認されていることを確認
- セキュリティのために複数の確認を待つ
- ワークフロー内のトランザクションのタイミングを処理
例:
{
"hash": "0x1234567890abcdef...",
"confirmations": 3,
"timeout": 120000
}
出力:
{
"transactionHash": "0x1234567890abcdef...",
"status": "success",
"blockNumber": 12345678,
"confirmations": 3
}
Estimate Gas(ガスを見積もる)
トランザクションに必要なガスを見積もります。
必要な認証情報:Ethereum RPC
パラメータ:
- To(宛先)(必須):受信者アドレス
- Value(値)(オプション):金額(ether単位)
- Data(データ)(オプション):トランザクションデータ
- From(送信者)(オプション):送信者アドレス
ユースケース:
- 送信前にガスコストを計算
- トランザクションパラメータを最適化
- トランザクション手数料の予算
例:
{
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"value": "0.1"
}
出力:
{
"gasEstimate": "21000",
"gasEstimateWithBuffer": "25200"
}
一般的なユースケース
ETHを送信して確認を待つ
[Trigger] → [Send Transaction] → [Wait For Transaction] → [成功通知]
トランザクションステータスを確認
[TXハッシュ付きTrigger] → [Get Transaction Receipt] → [ステータスをチェック] → [アクション]
送信前に見積もる
[Trigger] → [Estimate Gas] → [コストを計算] → [条件付き送信]
EIP-1559ガス手数料
最新のEthereumトランザクションはEIP-1559ガス価格設定を使用し、2つのコンポーネントがあります:
- Max Fee Per Gas:支払う意思のある最大合計手数料
- Max Priority Fee Per Gas:マイナー/バリデーターへのチップ
指定しない場合、現在のネットワーク状況に基づいて自動的に計算されます。
ヒント
- ガス見積もり:失敗を避けるために送信前に常にガスを見積もる
- 確認数:高額なトランザクションの場合は、複数の確認を待つ(3-6回)
- タイムアウト:ネットワーク混雑時にタイムアウトを増やす
- トランザクションステータス:成功を想定する前に常にレシートのステータスを確認
- Nonce管理:特定の順序が必要でない限り、ノードに自動的にnonceを計算させる
- 値の形式:値はweiではなくetherで指定されます