Skip to main content

GetBlockByID gRPC Method

Loading...

Updated on
May 13, 2025

GetBlockByID gRPC Method

Parameters

id
string
REQUIRED
Loading...

Returns

transactions
array
Loading...
raw_data
object
Loading...
ref_block_bytes
string
Loading...
ref_block_num
integer
Loading...
ref_block_hash
string
Loading...
expiration
integer
Loading...
auths
array
Loading...
account
object
Loading...
name
string
Loading...
address
string
Loading...
permission_name
string
Loading...
data
string
Loading...
contract
array
Loading...
type
string
Loading...
parameter
object
Loading...
provider
string
Loading...
ContractName
string
Loading...
Permission_id
integer
Loading...
scripts
string
Loading...
timestamp
integer
Loading...
fee_limit
integer
Loading...
signature
array
Loading...
ret
array
Loading...
fee
integer
Loading...
ret
string
Loading...
contractRet
string
Loading...
assetIssueID
string
Loading...
withdraw_amount
integer
Loading...
unfreeze_amount
integer
Loading...
exchange_id
integer
Loading...
orderId
string
Loading...
orderDetails
array
Loading...
withdraw_expire_amount
integer
Loading...
cancelUnfreezeV2Amount
object
Loading...
block_header
object
Loading...
raw_data
object
Loading...
timestamp
integer
Loading...
txTrieRoot
string
Loading...
parentHash
string
Loading...
number
integer
Loading...
witness_id
integer
Loading...
witness_address
string
Loading...
version
integer
Loading...
accountStateRoot
string
Loading...
witness_signature
string
Loading...
Request
1
package main
2
3
import (
4
"context"
5
"crypto/tls"
6
"encoding/json"
7
"fmt"
8
"github.com/fbsobreira/gotron-sdk/pkg/client"
9
"google.golang.org/grpc"
10
"google.golang.org/grpc/credentials"
11
"log"
12
)
13
14
// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token
15
// For eg: QN Endpoint: https://docs-demo.tron-mainnet.quiknode.pro/abcde123456789
16
// endpoint will be: docs-demo.tron-mainnet.quiknode.pro:50051 {50051 is the port number for Tron gRPC}
17
// token will be : abcde123456789
18
19
var token = "YOUR_TOKEN"
20
var endpoint = "YOUR_ENDPOINT:50051"
21
22
type auth struct {
23
token string
24
}
25
26
func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
27
return map[string]string{
28
"x-token": a.token,
29
}, nil
30
}
31
32
func (a *auth) RequireTransportSecurity() bool {
33
return false
34
}
35
36
func main() {
37
38
opts := []grpc.DialOption{
39
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),
40
grpc.WithPerRPCCredentials(&auth{token}),
41
}
42
conn := client.NewGrpcClient(endpoint)
43
if err := conn.Start(opts...); err != nil {
44
panic(err)
45
}
46
defer conn.Conn.Close()
47
48
49
id := "00000000006acfc007dc3ec1d8022c1388268ce7bbd836015558103ee4fb75b5"
50
51
block, err := conn.GetBlockByID(id)
52
if err != nil {
53
log.Fatalf("Error getting block by ID: %v", err)
54
}
55
56
resultJSON, err := json.MarshalIndent(block, "", " ")
57
if err != nil {
58
log.Fatalf("Failed to marshal block: %v", err)
59
}
60
fmt.Println(string(resultJSON))
61
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free