亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang ethclient.Client - 如何進行 RPC 調用?

Golang ethclient.Client - 如何進行 RPC 調用?

Go
慕碼人2483693 2022-10-10 19:06:53
如何使用ethclient.Client(https://github.com/ethereum/go-ethereum)調用 RPC 端點?有些方法沒有包裝器,據我所知,直接調用它是不可能的,例如client, err := ethclient.Dial(url)// okclient.BalanceAt(...)// incorrect code, trying to access private field `c *rpc.Client`client.c.Call("debug_traceTransaction", ...)我能想到的唯一方法是啟動完全獨立的 rpc 客戶端并始終保持兩者運行。這是唯一的方法嗎?
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

ethclient.Dial函數(您提到的)使用下面的rpc.DialContext函數,并且該包還提供了一個ethclient.NewClient函數來創建一個ethclient.Client具有現有 rpc 連接的新函數。

一種可能的解決方案可能是創建一個新的 rpc 連接,然后將其傳遞給ethclient.Client,因此您使用的是一個連接,但也可以使用 RPC 連接本身和 eth 客戶端。

像這樣的東西:

rpcClient, err := rpc.DialContext(ctx, url)


ethClient := ethclient.NewClient(rpcClient)


// use the ethClient

ethClient.BalanceAt(...)


// access to rpc client

rpcClient.Call(...)


查看完整回答
反對 回復 2022-10-10
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號