본문으로 건너뛰기
버전: 3.5.0

Transaction

IOST 블록체인 및 IOST 스마트 컨트랙트와 상호작용하여 트랜잭션을 송수신·조회하는 데 사용되는 메인 클래스입니다.

constructor

Transaction 클래스를 생성하고 초기화하는 특수 메서드입니다. 사용자가 직접 초기화할 필요는 없으며, rpc.transaction을 통해 Transaction 클래스를 사용합니다.

getTxByHash

해시로 블록체인에서 트랜잭션을 조회합니다.

Parameters

이름타입설명
hashStringbase58로 인코딩된 txHash

Returns

트랜잭션 객체를 반환하는 Promise.

이름타입설명
statusString트랜잭션 상태
transactionObjectTransaction Object

Transaction Object

이름타입설명
hashString트랜잭션 해시
timeNumber트랜잭션 타임스탬프
expirationNumber만료 타임스탬프
gas_ratioNumber가스 비율
gas_limitNumber가스 한도
delayNumber지연 시간(나노초)
actionsArrayAction Object 배열
signersArray서명자 문자열 배열
publisherString트랜잭션 발행자
referred_txString참조 트랜잭션 해시
amount_limitArrayAmountLimit Object 배열
tx_receiptObjectTxReceipt Object

Action Object

이름타입설명
contractString컨트랙트 이름
action_nameString액션 이름
dataString데이터

AmountLimit Object

이름타입설명
tokenString토큰 이름
valueNumber제한 값

TxReceipt Object

이름타입설명
tx_hashString트랜잭션 해시
gas_usageNumber가스 사용량
ram_usageMapRAM 사용량
status_codeString상태 코드
messageString메시지
returnsArray트랜잭션 반환값
receiptsArrayReceipt Object 배열

Receipt Object

이름타입설명
func_nameString함수 이름
contentString내용

Example

const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001'));
rpc.transaction.getTxByHash("5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa").then(console.log);

/*{
"status": "IRREVERSIBLE",
"transaction": {
"hash": "5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa",
"time": "0",
"expiration": "0",
"gas_ratio": 1,
"gas_limit": 1000000,
"delay": "0",
"actions": [
{
"contract": "base.iost",
"action_name": "Exec",
"data": "[{\"parent\":[\"IOST2FpDWNFqH9VuA8GbbVAwQcyYGHZxFeiTwSyaeyXnV84yJZAG7A\", \"0\"]}]"
}
],
"signers": [],
"publisher": "_Block_Base",
"referred_tx": "",
"amount_limit": [],
"tx_receipt": null
}
}*/

getTxReceiptByTxHash

트랜잭션 해시로 트랜잭션 영수증을 조회합니다.

Parameters

이름타입설명
hashStringbase58로 인코딩된 txHash

Returns

TxReceipt Object를 반환하는 Promise.

Example

const rpc = new IOST.RPC(new IOST.HTTPProvider('http://127.0.0.1:30001'));
rpc.transaction.getTxByHash("5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa").then(console.log);

/*{
"tx_hash": "5YdA8qPq5N6W47rZV4u31FdbQzeMt2QX9KGj4uPyERZa",
"gas_usage": 0,
"ram_usage": {
"_Block_Base": "0",
"base.iost": "284",
"bonus.iost": "107"
},
"status_code": "SUCCESS",
"message": "",
"returns": [
"[\"\"]"
],
"receipts": [
{
"func_name": "token.iost/issue",
"content": "[\"contribute\",\"IOST2FpDWNFqH9VuA8GbbVAwQcyYGHZxFeiTwSyaeyXnV84yJZAG7A\",\"900\"]"
}
]
}*/

sendTx

IOST 블록체인으로 트랜잭션을 전송합니다.