Transaction
IOST 블록체인 및 IOST 스마트 컨트랙트와 상호작용하여 트랜잭션을 송수신·조회하는 데 사용되는 메인 클래스입니다.
constructor
Transaction 클래스를 생성하고 초기화하는 특수 메서드입니다. 사용자가 직접 초기화할 필요는 없으며, rpc.transaction을 통해 Transaction 클래스를 사용합니다.
getTxByHash
해시로 블록체인에서 트랜잭션을 조회합니다.
Parameters
| 이름 | 타입 | 설명 |
|---|---|---|
| hash | String | base58로 인코딩된 txHash |
Returns
트랜잭션 객체를 반환하는 Promise.
| 이름 | 타입 | 설명 |
|---|---|---|
| status | String | 트랜잭션 상태 |
| transaction | Object | Transaction Object |
Transaction Object
| 이름 | 타입 | 설명 |
|---|---|---|
| hash | String | 트랜잭션 해시 |
| time | Number | 트랜잭션 타임스탬프 |
| expiration | Number | 만료 타임스탬프 |
| gas_ratio | Number | 가스 비율 |
| gas_limit | Number | 가스 한도 |
| delay | Number | 지연 시간(나노초) |
| actions | Array | Action Object 배열 |
| signers | Array | 서명자 문자열 배열 |
| publisher | String | 트랜잭션 발행자 |
| referred_tx | String | 참조 트랜잭션 해시 |
| amount_limit | Array | AmountLimit Object 배열 |
| tx_receipt | Object | TxReceipt Object |
Action Object
| 이름 | 타입 | 설명 |
|---|---|---|
| contract | String | 컨트랙트 이름 |
| action_name | String | 액션 이름 |
| data | String | 데이터 |
AmountLimit Object
| 이름 | 타입 | 설명 |
|---|---|---|
| token | String | 토큰 이름 |
| value | Number | 제한 값 |
TxReceipt Object
| 이름 | 타입 | 설명 |
|---|---|---|
| tx_hash | String | 트랜잭션 해시 |
| gas_usage | Number | 가스 사용량 |
| ram_usage | Map | RAM 사용량 |
| status_code | String | 상태 코드 |
| message | String | 메시지 |
| returns | Array | 트랜잭션 반환값 |
| receipts | Array | Receipt Object 배열 |
Receipt Object
| 이름 | 타입 | 설명 |
|---|---|---|
| func_name | String | 함수 이름 |
| content | String | 내용 |
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
| 이름 | 타입 | 설명 |
|---|---|---|
| hash | String | base58로 인코딩된 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 블록체인으로 트랜잭션을 전송합니다.