溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

以太坊Management APIs怎么用

發(fā)布時間:2022-01-05 16:54:08 來源:億速云 閱讀:137 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容介紹了“以太坊Management APIs怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

管理APIs Management APIs

除了官方的DApp APIs 接口, go-ethereun 還提供了額外的管理API, 和 DApp API一樣, 這些接口同樣使用JSON—RPC并遵循同樣的協(xié)議。Geth提供了一個可以訪問所有管理API的控制臺客戶端。

開啟管理 APIs

要在Geth RPC終端開啟管理API的話, 需要啟動時在命令行指定 --${interface}api 參數(shù). ${interface}的值可以是一下三個:

  • rpc : 用于開啟HTTP

  • ws: 用于開啟WebSocket

  • ipc: 用于開啟 unix socket ,用于Unix系統(tǒng) 或者 named pipe, 用于Windows系統(tǒng)

例如: geth --ipcapi admin,eth,miner --rpcapi eth,web3 --rpc

  • 通過IPC開啟admin, 官方DApp 和 miner API

  • 通過HTTP開啟官方DApp 和 web3

HTTP RPC接口需要顯式的通過 --rpc 開啟。

注意:通過HTTP 和 WebSocket 接口后, 任何用戶都可以訪問這些接口, 因此開啟那些接口必須小心。 默認(rèn)情況下, Geth 通過 IPC接口提供所有 API的訪問, 但是,通過HTTP和WebSocket接口只能訪問 db, eth, net, web3相關(guān)的API.

想知道Geth提供了那些API, 可以調(diào)用 modules JSON-RPC方法, 例如 下面在 unix系統(tǒng)上通過 ipc 訪問:

echo '{"jsonrpc":"2.0","method":"rpc_modules","params":[],"id":1}' | nc -U $datadir/geth.ipc

這將返回所有開啟的模塊并包括版本號:

{  
   "id":1,
   "jsonrpc":"2.0",
   "result":{  
      "admin":"1.0",
      "db":"1.0",
      "debug":"1.0",
      "eth":"1.0",
      "miner":"1.0",
      "net":"1.0",
      "personal":"1.0",
      "shh":"1.0",
      "txpool":"1.0",
      "web3":"1.0"
   }
}

使用管理APIs

這些額外的管理API和官方DApp API遵循相同的協(xié)議. 可以擴展Web3并使用他來調(diào)用這些額外的API。

這些不同的方法可以劃分為幾個邏輯分組。 下面的例子是通過JavaScript 控制臺實現(xiàn)的, 但可以方便的轉(zhuǎn)換成RPC請求。

例如:

Console : miner.start()
IPC:  echo   '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":1}'| nc -U  $datadir/geth.ipc
HTTP: curl -X POST --data  '{"jsonrpc":"2.0","method":"miner_start","param":[],"id":1}'  localhost:8545

多線程例子:

Console : miner.start(4)
IPC:  echo   '{"jsonrpc":"2.0","method":"miner_start","params":[4],"id":1}'| nc -U  $datadir/geth.ipc
HTTP: curl -X POST --data  '{"jsonrpc":"2.0","method":"miner_start","param":[4],"id":1}'  localhost:8545

管理API列表

除了官方提供的DApp API命名空間(eth, shh, web3), Geth提供了下面的管理 API命名空間:

  • admin: Geth 節(jié)點(node)管理

  • debug: Geth 節(jié)點調(diào)試

  • miner: 挖礦和 DAG管理

  • personal: 賬戶管理

  • txpool: 交易池檢查

admin:

  • addPeer

  • datadir

  • nodeInfo

  • peers

  • setSolc

  • startRPC

  • startWS

  • stopRPC

  • stopWS

miner:

  • setExtra

  • setGasPrice

  • start

  • stop

  • getHashrate

  • setEtherbase

personal:

  • ecRecover

  • importRawKey

  • listAccounts

  • lockAccount

  • newAccount

  • unlockAccount

  • sendTransaction

  • sign

txpool:

  • content

  • inspect

  • status

debug:

  • backtraceAt

  • blockProfile

  • cpuProfile

  • dumpBlock

  • gcStats

  • getBlockRlp

  • goTrace

  • memStats

  • seedHashsign

  • setBlockProfileRate

  • setHead

  • stacks

  • startCPUProfile

  • startGoTrace

  • stopCPUProfile

  • stopGoTrace

  • traceBlock

  • traceBlockByNumber

  • traceBlockByHash

  • traceBlockFromFile

  • traceTransaction

  • verbosity

  • vmodule

  • writeBlockProfile

  • writeMemProfile

“以太坊Management APIs怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI