Transaction
klay_call
블록체인에 트랜잭션을 생성하지 않고 즉시 새 메시지 호출을 합니다. 결과 데이터를 반환하거나 또는 에러가 발생하면 JSON RPC의 에러 객체를 반환합니다.
Parameters
callObject
Object
The transaction call object. See the next table for the object's properties.
blockNumberOrHash
QUANTITY | TAG | HASH
NOTE: In versions earlier than Klaytn v1.7.0, only integer block number, the string "earliest"
and "latest"
are available.
callObject
has the following properties:
from
20-byte DATA
(선택 사항) 트랜잭션을 발신한 주소입니다.
to
20-byte DATA
(새 트랜잭션 배포 테스트 시 선택 사항) 트랜잭션을 수신하는 주소입니다.
gas
QUANTITY
(선택 사항) 트랜잭션 실행을 위해 설정한 가스양의 정숫값입니다. klay_call
은 가스를 소비하지 않지만 트랜잭션 실행 중 일부에서 이 매개변수가 필요할 수 있습니다.
gasPrice
QUANTITY
(선택 사항) 가스당 가격, 즉 gasPrice의 정숫값입니다.
value
QUANTITY
(선택 사항) 트랜잭션을 통해 전송하고자 하는 송금액의 정숫값입니다.
input
DATA
(optional) Hash of the method signature and encoded parameters. It replaces data
field, but 'data` field is still supported for backward compatibility.
Return Value
DATA
실행된 컨트랙트의 리턴값입니다.
컨트랙트를 배포했다면 klay_getTransactionReceipt를 사용해 컨트랙트 주소를 확인하세요.
Error
문제가 발생할 경우 JSON RPC의 에러 객체를 반환합니다. 예를 들어, 어떤 메시지 호출이 REVERT
opcode로 종료되면 "evm: execution reverted"라는 메시지의 에러 객체가 생성됩니다.
Example
klay_estimateGas
Generates and returns an estimate of how much gas is necessary to allow the transaction to complete. 이때 발생한 트랜잭션은 블록체인에 추가되지 않습니다. Klaytn 가상머신의 메커니즘, 노드 성능 등의 다양한 원인에 의해 추정치가 실제 사용된 가스양보다 훨씬 클 수도 있습니다.
Parameters
callObject
Object
The transaction call object. See the next table for the object's properties.
callObject
has the following properties:
from
20-byte DATA
(optional) The address the transaction is sent from.
to
20-byte DATA
(optional when testing the deployment of a new contract) The address the transaction is directed to.
gas
QUANTITY
(선택 사항) 가스 추정을 위해 제공되는 가스 한도의 정숫값입니다. 가스 한도를 지정하지 않으면 Klaytn 노드는 지정된 가스 한도를 상한으로 설정합니다.
gasPrice
QUANTITY
(optional) Integer of the gasPrice used for each paid gas.
value
QUANTITY
(optional) Integer of the value sent with this transaction.
input
DATA
(optional) Hash of the method signature and encoded parameters. It replaces data
field, but 'data` field is still supported for backward compatibility.
Return Value
QUANTITY
The amount of gas used.
Example
klay_estimateComputationCost
트랜잭션을 실행하는 데에 들 연산 비용의 추정치를 생성하여 반환합니다. Klaytn은 한 트랜잭션을 실행하는 데에 너무 많은 시간이 걸리지 않도록 하기 위해 현재 트랜잭션당 연산 비용을 100000000
으로 제한합니다. 이때 발생한 트랜잭션은 klay_estimateGas와 마찬가지로 블록체인에 추가되지 않습니다.
Parameters
klay_call의 매개변수들을 보면 모든 속성이 선택사항인 것을 볼 수 있습니다. 하지만 가스 한도를 지정하지 않으면, Klaytn 노드는 기본 가스 한도(uint64 / 2) 를 상한으로 설정합니다.
Return Value
QUANTITY
사용된 연산 비용입니다.
Example
klay_getTransactionByBlockHashAndIndex
Returns information about a transaction by block hash and transaction index position. This API works only on RPC call, not on JavaScript console.
Parameters
32-byte DATA
Hash of a block.
QUANTITY
Integer of the transaction index position.
Return Value
klay_getTransactionByHash를 참고하세요.
Example
klay_getTransactionByBlockNumberAndIndex
Returns information about a transaction by block number and transaction index position. This API works only on RPC call, not on JavaScript console.
Parameters
QUANTITY | TAG
QUANTITY
The transaction index position.
NOTE: In versions earlier than Klaytn v1.7.0, only integer block number, the string "earliest"
and "latest"
are available.
Return Value
Example
klay_getTransactionByHash
Returns the information about a transaction requested by transaction hash. This API works only on RPC call, not on JavaScript console.
Parameters
32-byte DATA
Hash of a transaction.
Return Value
Object
- A transaction object, or null
when no transaction was found:
blockHash
32-byte DATA
Hash of the block where this transaction was in. null
when it is pending.
blockNumber
QUANTITY
Block number where this transaction was in. null
when it is pending.
codeFormat
String
(선택사항) 스마트 컨트랙트 코드의 코드 형식입니다.
feePayer
20-byte DATA
(선택사항) 트랜잭션 수수료 납부자의 주소입니다.
feePayerSignatures
Array
(선택사항) 트랜잭션 수수료 납부자의 서명 객체들로 이루어진 배열입니다. 각 서명 객체에는 (V, R, S) 등 세 필드가 있습니다. V는 ECDSA 복구 ID를 담고 있습니다. R은 ECDSA 서명 r을 담고 있고 S는 ECDSA 서명 s를 담고 있습니다.
feeRatio
QUANTITY
(선택사항) 트랜잭션 수수료 납부자의 부담 비율입니다. 이 값이 30이면, 트랜잭션 수수료의 30%를 트랜잭션 수수료 납부자가 지불합니다. 나머지 70%는 트랜잭션 발신자가 지불합니다.
from
20-byte DATA
Address of the sender.
gas
QUANTITY
Gas provided by the sender.
gasPrice
QUANTITY
Gas price provided by the sender in peb.
hash
32-byte DATA
Hash of the transaction.
humanReadable
Boolean
(선택사항) Human-Readable Address이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.
key
String
(선택사항) 새로 생성된 계정의 키입니다.
input
DATA
(선택사항) 트랜잭션과 함께 전송된 데이터입니다.
nonce
QUANTITY
The number of transactions made by the sender prior to this one.
senderTxHash
32-byte DATA
signature
Array
서명 객체의 배열입니다. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
to
20-byte DATA
Address of the receiver. null
when it is a contract creation transaction.
transactionIndex
QUANTITY
Integer of the transaction index position in the block. null
when it is pending.
type
String
트랜잭션의 유형을 나타내는 문자열입니다.
typeInt
QUANTITY
An integer representing the type of the transaction.
value
QUANTITY
peb로 전송된 값입니다.
Example
klay_getTransactionBySenderTxHash
발신자 트랜잭션 해시로 조회한 트랜잭션의 정보를 반환합니다. This API works only on RPC call, not on JavaScript console. 이 API는 --sendertxhashindexing
에 의해 인덱싱 기능이 활성화되어 있을 때만 올바른 결과를 반환합니다. klay_isSenderTxHashIndexingEnabled를 호출하여 확인할 수 있습니다.
Parameters
32-byte DATA
Return Value
Object
- A transaction object, or null
when no transaction was found:
blockHash
32-byte DATA
Hash of the block where this transaction was in. null
when it is pending.
blockNumber
QUANTITY
Block number where this transaction was in. null
when it is pending.
codeFormat
String
(optional) The code format of smart contract code.
feePayer
20-byte DATA
트랜잭션 수수료 납부자의 주소입니다.
feePayerSignatures
Array
트랜잭션 수수료 납부자의 서명 객체들로 이루어진 배열입니다. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
feeRatio
QUANTITY
(optional) Fee ratio of the fee payer. If it is 30, 30% of the fee will be paid by the fee payer. 70% will be paid by the sender.
from
20-byte DATA
Address of the sender.
gas
QUANTITY
Gas provided by the sender.
gasPrice
QUANTITY
Gas price provided by the sender in peb.
hash
32-byte DATA
Hash of the transaction.
humanReadable
Boolean
(optional) true
if the address is humanReadable, false
if the address is not humanReadable.
key
String
(optional) Key of the newly created account.
input
DATA
(optional) The data sent along with the transaction.
nonce
QUANTITY
The number of transactions made by the sender prior to this one.
senderTxHash
32-byte DATA
signature
Array
An array of signature objects. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
to
20-byte DATA
Address of the receiver. null
when it is a contract creation transaction.
transactionIndex
QUANTITY
Integer of the transaction index position in the block. null
when it is pending.
type
String
A string representing the type of the transaction.
typeInt
QUANTITY
An integer representing the type of the transaction.
value
QUANTITY
Value transferred in peb.
Example
klay_getTransactionReceipt
Returns the receipt of a transaction by transaction hash.
NOTE: The receipt is not available for pending transactions.
Parameters
Hash
32-byte DATA
Hash of a transaction.
Return Value
Object
- A transaction receipt object, or null
when no receipt was found
blockHash
32-byte DATA
Hash of the block where this transaction was in.
blockNumber
QUANTITY
The block number where this transaction was in.
codeFormat
String
(optional) The code format of smart contract code.
contractAddress
DATA
The contract address created, if the transaction was a contract creation, otherwise null
.
feePayer
20-byte DATA
(optional) Address of the fee payer.
feePayerSignatures
Array
(optional) An array of fee payer's signature objects. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
feeRatio
QUANTITY
(optional) Fee ratio of the fee payer. If it is 30, 30% of the fee will be paid by the fee payer. 70% will be paid by the sender.
from
20-byte DATA
Address of the sender.
gas
QUANTITY
Gas provided by the sender.
effectiveGasPrice
QUANTITY
The actual value per gas deducted from the senders account.
gasPrice
QUANTITY
Gas price provided by the sender in peb.
gasUsed
QUANTITY
The amount of gas used by this specific transaction alone.
humanReadable
Boolean
(optional) true
if the address is humanReadable, false
if the address is not humanReadable.
key
String
(optional) Key of the newly created account.
input
DATA
(optional) The data sent along with the transaction.
logs
Array
Array of log objects, which this transaction generated.
logsBloom
256-byte DATA
Bloom filter for light clients to quickly retrieve related logs.
nonce
QUANTITY
The number of transactions made by the sender prior to this one.
senderTxHash
(optional) 32-byte DATA
Hash of the tx without the fee payer's address and signature. This value is always the same as the value of transactionHash for non fee-delegated transactions.
signature
Array
An array of signature objects. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
status
QUANTITY
Either 1
(success) or 0
(failure).
txError
QUANTITY
(optional) detailed error code if status
is equal to zero.
to
20-byte DATA
Address of the receiver. null
when it is a contract creation transaction.
transactionHash
32-byte DATA
Hash of the transaction.
transactionIndex
QUANTITY
Integer of the transaction index position in the block.
type
String
A string representing the type of the transaction.
typeInt
QUANTITY
An integer representing the type of the transaction.
value
QUANTITY
Value transferred in peb.
Example
klay_getTransactionReceiptBySenderTxHash
SenderTxHash로 조회한 트랜잭션의 영수증을 반환합니다.
NOTE: The receipt is not available for pending transactions. Please note that this API returns correct result only if indexing feature is enabled by --sendertxhashindexing
. This can be checked by call klay_isSenderTxHashIndexingEnabled.
Parameters
Hash
32-byte DATA
트랜잭션 납부자(feePayer)에 의해 서명되기 이전의 트랜잭션의 해시입니다. (즉 senderTransactionHash입니다.)
Return Value
Object
- A transaction receipt object, or null
when no receipt was found
blockHash
32-byte DATA
Hash of the block where this transaction was in.
blockNumber
QUANTITY
The block number where this transaction was in.
codeFormat
String
(optional) The code format of smart contract code.
contractAddress
DATA
The contract address created, if the transaction was a contract creation, otherwise null
.
feePayer
20-byte DATA
Address of the fee payer.
feePayerSignatures
Array
An array of fee payer's signature objects. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
feeRatio
QUANTITY
(optional) Fee ratio of the fee payer. If it is 30, 30% of the fee will be paid by the fee payer. 70% will be paid by the sender.
from
20-byte DATA
Address of the sender.
gas
QUANTITY
Gas provided by the sender.
gasPrice
QUANTITY
Gas price provided by the sender in peb.
gasUsed
QUANTITY
이 트랜잭션에서만 사용된 가스양입니다.
humanReadable
Boolean
(optional) true
if the address is humanReadable, false
if the address is not humanReadable.
key
String
(optional) Key of the newly created account.
input
DATA
(optional) The data sent along with the transaction.
logs
Array
Array of log objects, which this transaction generated.
logsBloom
256-byte DATA
Bloom filter for light clients to quickly retrieve related logs.
nonce
QUANTITY
The number of transactions made by the sender prior to this one.
senderTxHash
(선택사항) 32바이트 크기 DATA
트랜잭션 수수료 납부자의 주소와 서명이 없는 트랜잭션 해시입니다. 이 값은 수수료 위임된 트랜잭션이 아닌 경우의 transactionHash의 값과 항상 동일합니다.
signature
Array
An array of signature objects. A signature object contains three fields (V, R, and S). V contains ECDSA recovery id. R contains ECDSA signature r while S contains ECDSA signature s.
status
QUANTITY
Either 1
(success) or 0
(failure).
txError
QUANTITY
(선택사항) status
가 0이면 상세한 오류 코드를 나타냅니다.
to
20-byte DATA
Address of the receiver. null
when it is a contract creation transaction.
transactionHash
32-byte DATA
Hash of the transaction.
transactionIndex
QUANTITY
Integer of the transaction index position in the block.
type
String
A string representing the type of the transaction.
typeInt
QUANTITY
An integer representing the type of the transaction.
value
QUANTITY
Value transferred in peb.
Example
klay_sendRawTransaction
Creates a new message call transaction or a contract creation for signed transactions.
Parameters
DATA
The signed transaction data.
Return Value
32-byte DATA
The transaction hash or the zero hash if the transaction is not yet available.
If you deployed a contract, use klay_getTransactionReceipt to get the contract address.
Example
klay_sendTransaction
주어진 파라미터로 트랜잭션을 구성한 다음, 트랜잭션 발신자의 개인키로 트랜잭션에 서명하고 트랜잭션을 Klaytn 네트워크에 전송합니다.
NOTE: The address to sign with must be unlocked.
Parameters
필수적으로 있어야 하는 파라미터들은 트랜잭션 타입에 따라 다릅니다. Working with Klaytn Transaction Types에서 적절한 파라미터를 확인하십시오.
Return Value
32-byte DATA
트랜잭션 해시
If you deployed a contract, use klay_getTransactionReceipt to get the contract address.
Example
klay_sendTransactionAsFeePayer
주어진 파라미터로 트랜잭션을 구성한 다음, 트랜잭션 수수료 납부자의 개인키로 트랜잭션에 서명하고 트랜잭션을 Klaytn 네트워크에 전송합니다. 이 API는 오직 수수료 위임 트랜잭션(부분 수수료 위임 트랜잭션 포함)들만 지원합니다.
참고: 서명하려는 트랜잭션 수수료 납부자의 주소는 잠금 해제되어 있어야 합니다.
Parameters
The required parameters depend on the transaction type. Check the proper parameters in Working with Klaytn Transaction Types.
Return Value
32-byte DATA
The transaction hash
If you deployed a contract, use klay_getTransactionReceipt to get the contract address.
Example
klay_signTransaction
주어진 파라미터로 트랜잭션을 구성한 다음, 트랜잭션 발신자의 개인키로 트랜잭션에 서명합니다. 이 메서드는 발신자 서명을 생성하거나, 최종적으로 Klaytn 네트워크에 전송할 준비를 마친 raw Transaction을 만들 때 사용할 수 있습니다.
NOTE: The address to sign with must be unlocked.
Parameters
The required parameters depend on the transaction type. Check the proper parameters in Working with Klaytn Transaction Types.
Return Value
raw
서명된 rawTransaction을 반환합니다.
tx
발신자 서명을 포함한 트랜잭션 객체입니다.
Example
klay_signTransactionAsFeePayer
주어진 파라미터로 트랜잭션을 구성한 다음, 트랜잭션 수수료 납부자의 개인키로 트랜잭션에 서명합니다. 이 메서드는 트랜잭션 수수료 납부자 서명을 생성하거나, 최종적으로 Klaytn 네트워크에 전송할 준비를 마친 raw Transaction을 만들 때 사용할 수 있습니다. 수수료 납부자 서명을 추출하고 싶다면, 결과값에서 feePayerSignatures
을 사용하십시오. 발신자 서명이 첨부되어 있지 않다면( tx
에 있는 signatures
가 비어 있는 상태), raw
트랜잭션은 최종 상태가 아닙니다.
NOTE: The fee payer address to sign with must be unlocked.
Parameters
The required parameters depend on the transaction type. Check the proper parameters in Working with Klaytn Transaction Types.
Return Value
raw
Signed raw transaction
tx
트랜잭션 수수료 납부자 서명을 포함한 트랜잭션 객체입니다.
Example
txError: 트랜잭션 실행 실패에 대한 상세한 설명
Klaytn은 트랜잭션 영수증의 txError
필드를 통해 트랜잭션 실행이 실패한 원인을 알려드립니다. 이 필드는 트랜잭션 실행이 실패한 경우에만 존재합니다. 스토리지와 네트워크 대역폭을 절약하기 위해 txError
는 정숫값으로 표현됩니다. 아래 표는 txError
코드와 의미를 설명합니다.
0x02
스마트 컨트랙트 실행 도중 VM 오류가 발생하였습니다.
0x03
최대 호출 뎁스를 초과하였습니다.
0x04
컨트랙트 주소가 충돌합니다.
0x05
컨트랙트 생성 코드의 스토리지의 가스가 부족합니다.
0x06
evm: 최대 코드 크기를 초과하였습니다.
0x07
가스가 부족합니다.
0x08
evm: 쓰기가 방지되어 있습니다.
0x09
evm: 실행이 번복되었습니다.
0x0a
트랜잭션의 Opcode 연산 비용의 한계가 (100000000)에 도달하였습니다.
0x0b
계정이 이미 존재합니다.
0x0c
프로그램 계정(예를 들어, 코드 및 스토리지를 갖고 있는 계정)이 아닙니다.
0x0d
Human-readable address가 지원되지 않습니다.
0x0e
트랜잭션 수수료의 비율이 [1, 99] 범위를 벗어났습니다.
0x0f
AccountKeyFail을 업데이트할 수 없습니다.
0x10
다른 계정 키 유형입니다.
0x11
AccountKeyNil을 계정으로 초기화할 수 없습니다.
0x12
공개키가 곡선상에 없습니다.
0x13
키의 weight가 0입니다.
0x14
키를 일련화할 수 없습니다.
0x15
중복된 키입니다.
0x16
가중 합 오버플로우가 발생하였습니다.
0x17
만족시킬 수 없는 임계 값입니다. 키들의 가중 합이 임계 값보다 작습니다.
0x18
길이가 0입니다.
0x19
길이가 너무 깁니다.
0x1a
nested composite 타입입니다.
0x1b
기존 트랜잭션은 기존 계정 키를 사용해야 합니다.
0x1c
더는 지원하지 않는 기능입니다.
0x1d
지원하지 않습니다.
0x1e
스마트 컨트랙트 코드 형식이 잘못되었습니다.
klay_getDecodedAnchoringTransactionByHash
주어진 트랜잭션 해시에 대응하는 트랜잭션의 앵커링 데이터를 디코딩하여 반환합니다.
Parameters
32-byte DATA
Hash of a transaction.
Return Value
BlockHash
32-byte DATA
이 앵커링 트랜잭션이 수행된 자식 체인의 블록 해시입니다.
BlockNumber
QUANTITY
이 앵커링 트랜잭션이 수행된 자식 체인의 블록 번호입니다.
ParentHash
32-byte DATA
Hash of the parent block.
TxHash
32-byte DATA
The root of the transaction trie of the block.
StateRootHash
32-byte DATA
The root of the final state trie of the block.
ReceiptHash
32-byte DATA
The root of the receipts trie of the block.
BlockCount
QUANTITY
이 앵커링 주기 동안 생성된 블록 수입니다. 대부분의 경우 이 숫자는 자식 체인의 SC_TX_PERIOD
와 같은데, 다만 이 트랜잭션이 앵커링을 활성화한 후 첫 번째 트랜잭션인 경우만 예외입니다.
TxCount
QUANTITY
이 앵커링 주기 동안 자식 체인에서 생성된 트랜잭션 수 입니다.
Example
klay_resend
Resends a transaction.
It will remove the given transaction from the pool and reinsert it with the new gas price and limit.
NOTE: The address to sign with must be unlocked.
Parameters:
transactionArgs
Object
An object of transaction arguments. See the table below for the object's properties.
gas price
QUANTITY
Integer of the gasPrice to change
gas
QUANTITY
(optional) Integer of the gas to change
The required parameters for transactionArgs depend on the transaction type. Check the proper parameters in Working with Klaytn Transaction Types.
Return Value
32-byte DATA
The transaction hash
Example
Last updated