이 섹션에서는 이전 섹션에서 정의된 상태 전환을 초래하는Documentation Index
Fetch the complete documentation index at: https://injectivelabs-mintlify-jp-developers-first-half-1777019423.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
sdk.Msg 구체적 유형을 정의합니다.
MsgEthereumTx
EVM 상태 전환은 MsgEthereumTx를 사용하여 달성할 수 있습니다. 이 메시지는 Ethereum 트랜잭션 데이터(TxData)를 sdk.Msg로 캡슐화합니다. 필요한 트랜잭션 데이터 필드를 포함합니다. MsgEthereumTx는 sdk.Msg와 sdk.Tx 인터페이스를 모두 구현합니다. 일반적으로 SDK 메시지는 전자만 구현하는 반면, 후자는 함께 번들된 메시지 그룹입니다.
From필드가 정의되어 있고 주소가 유효하지 않은 경우TxData상태 비저장 검증이 실패하는 경우
- 사용자 정의
AnteHandlerEthereum decorator 검사 중 하나가 실패하는 경우:- 트랜잭션의 최소 가스 양 요구 사항
- 트랜잭션 sender 계정이 존재하지 않거나 수수료에 충분한 잔액이 없는 경우
- 계정 시퀀스가 트랜잭션
Data.AccountNonce와 일치하지 않는 경우 - 메시지 서명 검증이 실패하는 경우
- EVM 컨트랙트 생성(즉,
evm.Create)이 실패하거나evm.Call이 실패하는 경우
Conversion
MsgEthreumTx는 evm 컨트랙트를 생성하고 호출하기 위해 go-ethereum Transaction 및 Message 유형으로 변환할 수 있습니다.
Signing
서명 검증이 유효하려면TxData에 Signer의 v | r | s 값이 포함되어야 합니다. Sign은 secp256k1 ECDSA 서명을 계산하고 트랜잭션에 서명합니다. EIP155 표준에 따라 Ethereum 트랜잭션에 서명하기 위해 keyring signer와 chainID를 받습니다. 이 메서드는 트랜잭션의 Signature V, R, S 필드를 채우므로 트랜잭션을 변경합니다. msg에 대해 sender 주소가 정의되지 않았거나 sender가 keyring에 등록되지 않은 경우 함수가 실패합니다.
TxData
MsgEthereumTx는 go-ethereum의 3가지 유효한 Ethereum 트랜잭션 데이터 유형을 지원합니다: LegacyTx, AccessListTx 및 DynamicFeeTx. 이러한 유형은 protobuf 메시지로 정의되고 MsgEthereumTx 필드의 proto.Any 인터페이스 유형으로 패킹됩니다.
LegacyTx: EIP-155 트랜잭션 유형DynamicFeeTx: EIP-1559 트랜잭션 유형. London 하드 포크 블록에 의해 활성화됨AccessListTx: EIP-2930 트랜잭션 유형. Berlin 하드 포크 블록에 의해 활성화됨
LegacyTx
일반 Ethereum 트랜잭션의 트랜잭션 데이터입니다.
GasPrice가 유효하지 않은 경우 (nil, 음수 또는 int256 범위를 벗어남)Fee(gasprice * gaslimit)가 유효하지 않은 경우Amount가 유효하지 않은 경우 (음수 또는 int256 범위를 벗어남)To주소가 유효하지 않은 경우 (유효하지 않은 ethereum hex 주소)
DynamicFeeTx
EIP-1559 dynamic fee 트랜잭션의 트랜잭션 데이터입니다.
GasTipCap이 유효하지 않은 경우 (nil, 음수 또는 int256 오버플로우)GasFeeCap이 유효하지 않은 경우 (nil, 음수 또는 int256 오버플로우)GasFeeCap이GasTipCap보다 작은 경우Fee(gas price * gas limit)가 유효하지 않은 경우 (int256 오버플로우)Amount가 유효하지 않은 경우 (음수 또는 int256 오버플로우)To주소가 유효하지 않은 경우 (유효하지 않은 ethereum hex 주소)ChainID가nil인 경우
AccessListTx
EIP-2930 access list 트랜잭션의 트랜잭션 데이터입니다.
GasPrice가 유효하지 않은 경우 (nil, 음수 또는 int256 오버플로우)Fee(gas price * gas limit)가 유효하지 않은 경우 (int256 오버플로우)Amount가 유효하지 않은 경우 (음수 또는 int256 오버플로우)To주소가 유효하지 않은 경우 (유효하지 않은 ethereum hex 주소)ChainID가nil인 경우
