Get transaction info by hash
Copy query{
blockchain{
transaction(hash:"b0e26c42164ec0137913fdcd754aa819323a6a4b9ef5188863b021c3801e7ae4"){
id
hash
balance_delta
aborted
lt
now
}
}
}
Result:
Copy {
"data": {
"blockchain": {
"transaction": {
"id": "transaction/b0e26c42164ec0137913fdcd754aa819323a6a4b9ef5188863b021c3801e7ae4",
"hash": "b0e26c42164ec0137913fdcd754aa819323a6a4b9ef5188863b021c3801e7ae4",
"balance_delta": "0x0",
"aborted": false,
"lt": "0x15bb39a23783",
"now": 1645453010
}
}
}
}
Get transaction by inbound message hash
Copy query{
transactions(filter:{
in_msg:{
eq:"d158f7437080f6835792ac0ef9cccbcbd2874a63e8f7f1db9dcb97edc06f410d"
}
})
{
id
account_addr
balance_delta(format:DEC)
now
now_string
}
}
Result:
Copy {
"data": {
"transactions": [
{
"id": "6e87500efde682124e92f58769b7578fa546f22d46aa844249b51e6c8b63fce4",
"account_addr": "0:802f5476cc99425184757c0672fe7737e94b3cbc2cee59e156dfe61c0c0c630c",
"balance_delta": "-5110030",
"now": 1682457905,
"now_string": "2023-04-25 21:25:05.000"
}
]
}
}
Calculate account fees for transaction
Copy query{
blockchain{
transaction(hash:"998fee062e8daad96e88ce43adb52832b2e653d9a824912bc83051060932aceb"){
ext_in_msg_fee(format:DEC)
storage{
storage_fees_collected(format:DEC)
}
compute{
gas_fees(format:DEC)
}
action{
total_fwd_fees(format:DEC)
}
}
}
}
You need to sum up these values to get the total fee the account paid for the transaction
Copy {
"data": {
"blockchain": {
"transaction": {
"ext_in_msg_fee": "2062000",
"storage": {
"storage_fees_collected": "270"
},
"compute": {
"gas_fees": "10741000"
},
"action": {
"total_fwd_fees": null
}
}
}
}
Paginate blockchain transactions
Paginate workchain transactions within timestamp range, sorted by blockchain logical time.
Look at this sample. See the parameters documentation below.
Copy query{
blockchain{
transactions(
master_seq_no_range: {
start: 1725467896
end: 1725554296
}
){
edges{
node{
id
now
}
cursor
}
pageInfo{
startCursor
hasNextPage
}
}
}
}
Result:
Copy {
"data": {
"blockchain": {
"transactions": {
"edges": [
{
"node": {
"id": "transaction/d5ec03df890727a90eb80960560664ca49d9842e0a9f6f3c188ad1a49fca7264",
"now": 1647429363
},
"cursor": "528cc96m05"
},
{
"node": {
"id": "transaction/39c2c3174aa414003bc55e68b6a08710cbcf6ce1b71dec1a0c8962fdcef5fc76",
"now": 1647429363
},
"cursor": "528cc96m06"
},
{
"node": {
"id": "transaction/fa674f4c537aeaac951ebe4fd9eb2a1d094aae26d611f126652bee92827f3ed2",
"now": 1647429363
},
"cursor": "528cc96m07"
}
],
"pageInfo": {
"startCursor": "528cc96m05",
"hasNextPage": true
}
}
}
}
}
Filter parameters
You can filter by
master_seq_no_range : {start: Timestamp, end: Timestamp} - start and end timestamp for pagination range
max_balance_delta
: String
min_balance_delta
: String
Use cursor
, {first
, after
} or {last
, before
} filters for pagination.
Use endCursor
and hasNextPage
== true condition to paginate forward.
Use startCursor
and hasPreviousPage
== true condition to paginate backwards like this:
Copy query{
blockchain{
transactions(
before: "528cc96m05"
){
edges{
node{
id
now
}
cursor
}
pageInfo{
startCursor
hasPreviousPage
}
}
}
}
Result:
Copy {
"data": {
"blockchain": {
"transactions": {
"edges": [
{
"node": {
"id": "transaction/2ddaa133fb753c34d72bbae1b9040b773d2b9360612874da5fce19bcdd4b37a1",
"now": 1647429363
},
"cursor": "528cc96m02"
},
{
"node": {
"id": "transaction/051363b194ebf6cf0ecab31643b34254aef7ec859d027211c0701df9046ad0bc",
"now": 1647429363
},
"cursor": "528cc96m03"
},
{
"node": {
"id": "transaction/d7b764cd13e5b945aff381e45d1b2b855bf81444950f6b83eb355ac9b2d53ef5",
"now": 1647429363
},
"cursor": "528cc96m04"
}
],
"pageInfo": {
"startCursor": "528cc96m02",
"hasPreviousPage": true
}
}
}
}
}
How to get other transactions data
Acki Nacki Node is not a simple node with key-value storage, but a node with an embedded SQL DB, so using SQL queries you can get any other data and analytics. Use DB UI like Beaver to have manual access to this data