본문으로 건너뛰기
버전: 3.3.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 블록체인으로 트랜잭션을 전송합니다.