# 如何查看Tendermint區塊鏈的區塊與交易
Tendermint是一個高性能的區塊鏈共識引擎,廣泛應用于Cosmos等區塊鏈生態系統中。了解如何查看Tendermint區塊鏈的區塊與交易數據對于開發者、節點運營者和普通用戶都至關重要。本文將詳細介紹多種方法,包括使用命令行工具、RPC接口和區塊瀏覽器。
## 1. 使用Tendermint CLI工具
Tendermint提供了豐富的命令行工具,可以直接與節點交互查詢區塊和交易信息。
### 1.1 查詢最新區塊高度
```bash
tendermint status | jq .sync_info.latest_block_height
tendermint block --height 12345
這會返回JSON格式的區塊數據,包括: - 區塊頭信息 - 交易列表 - 驗證者簽名 - 時間戳等元數據
tendermint tx ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789
Tendermint提供了HTTP RPC接口,默認監聽26657端口。
curl http://localhost:26657/block?height=12345
curl http://localhost:26657/tx?hash="ABCDEF..."
端點 | 描述 |
---|---|
/blockchain | 獲取區塊高度范圍 |
/block | 獲取特定區塊 |
/tx | 查詢交易 |
/broadcast_tx | 廣播交易 |
/abci_query | 查詢應用狀態 |
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:26657/websocket');
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: "2.0",
method: "subscribe",
params: ["tm.event='NewBlock'"]
}));
});
ws.on('message', (data) => {
console.log('New block:', JSON.parse(data));
});
對于非技術用戶,區塊瀏覽器提供了友好的可視化界面。
Mintscan (Cosmos生態)
BigDipper
ATOM Scan
import requests
import json
def get_block(height):
url = f"http://localhost:26657/block?height={height}"
response = requests.get(url)
return response.json()
def get_tx(hash):
url = f'http://localhost:26657/tx?hash=0x{hash}'
response = requests.get(url)
return response.json()
# 查詢最新區塊
latest_block = get_block("latest")
print(json.dumps(latest_block, indent=2))
# 解析交易
tx_data = get_tx("ABCDEF...")
print(tx_data['result']['tx_result']['log'])
Tendermint交易中的ABCI消息需要特殊解析:
tendermint query tx ABCDEF... --type=acc_seq
import (
"context"
"google.golang.org/grpc"
"github.com/tendermint/tendermint/rpc/grpc/client"
)
conn, _ := grpc.Dial("localhost:26658", grpc.WithInsecure())
client := core.NewBroadcastAPIClient(conn)
response, _ := client.GetBlock(context.Background(), &core.RequestBlock{Height: 12345})
Q: 查詢返回空結果? A: 檢查節點是否完成同步,或嘗試增加–proxy_app參數
Q: RPC接口無響應? A: 確認26657端口開放,檢查laddr配置
Q: 交易哈希找不到? A: 可能尚未上鏈,檢查內存池:
tendermint mempool
掌握Tendermint數據查詢方法是區塊鏈開發的基礎技能。無論是通過CLI工具直接交互,還是通過程序自動化處理,亦或是使用可視化區塊瀏覽器,都能幫助您更好地理解和監控區塊鏈網絡狀態。隨著Tendermint生態的發展,更多工具和最佳實踐將持續涌現,建議關注官方文檔和社區更新。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。