溫馨提示×

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

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

如何使用管理API

發(fā)布時(shí)間:2021-12-24 16:47:06 來源:億速云 閱讀:183 作者:iii 欄目:互聯(lián)網(wǎng)科技

本篇內(nèi)容主要講解“如何使用管理API”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用管理API”吧!

啟用管理API

要通過Geth的RPC訪問端結(jié)點(diǎn)提供這些管理API,需要在啟動(dòng)geth時(shí)使用--${interface}api選項(xiàng),其中${interface}可以是rpc,表示HTTP上的端結(jié)點(diǎn),或者是ws,表示W(wǎng)ebSocket上的端結(jié)點(diǎn),或者ipc,表示unix套接字或windows命名管道上的端結(jié)點(diǎn)。

例如下面的命令啟用unix套接字和http上的訪問端結(jié)點(diǎn):

~$ geth --ipcapi admin,eth,miner --rpcapi eth,web3 --rpc
  • 在unix套接字上的端結(jié)點(diǎn),提供以下API:admin、miner和官方DApp API即eth。

  • 在http上的端結(jié)點(diǎn),提供以下API:web3、eth

HTTP上的RPC接口必須同時(shí)顯式地使用--rpc標(biāo)志開啟。

需要注意的是,在HTTP(rpc)或WebSocket(ws)上提供API將允許所有人訪問API,因此請(qǐng)仔細(xì)審查你要提供哪些API服務(wù)。默認(rèn)情況下,Geth在IPC端結(jié)點(diǎn)上提供所有的API,在HTTP和WebSocket接口上僅提供db、eth、net和web3這幾個(gè)API。

要查看提供了哪些API,可以使用modules調(diào)用。例如在unix系統(tǒng)上通過ipc接口調(diào)用:

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

響應(yīng)結(jié)果將列出所有啟用的API模塊以及其版本號(hào):

{  
   "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"
   }
}

使用管理API

Geth提供的管理API與官方DApp API采用相同的規(guī)范,因此可以擴(kuò)展Web3以支持這些額外的API。

不同的函數(shù)被分為多個(gè)邏輯組。下面給出JavaScript控制臺(tái)上的示例,不過很容易將這些示例轉(zhuǎn)換為RPC請(qǐng)求。

例如,在Geth終端啟動(dòng)挖礦:

> miner.start()

通過IPC端結(jié)點(diǎn)啟動(dòng)挖礦:

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

通過HTTP端結(jié)點(diǎn)啟動(dòng)挖礦:

~$ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[],"id":74}' localhost:8545

可以在啟動(dòng)挖礦時(shí)傳入一個(gè)參數(shù)指定挖礦線程數(shù):

Geth終端啟動(dòng)4個(gè)線程挖礦:

> miner.start(4)

通過IPC端結(jié)點(diǎn)啟動(dòng)4個(gè)線程挖礦:

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

通過HTTP端結(jié)點(diǎn)啟動(dòng)4個(gè)線程挖礦:

~$ curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":[4],"id":74}' localhost:8545

Geth管理API清單

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

  • admin:Geth節(jié)點(diǎn)管理

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

  • miner:挖礦和有向無環(huán)圖(DAG)管理

  • personal:賬戶管理

  • txpool:交易池審查

admin

admin系列API提供了一組非標(biāo)RPC方法,可供調(diào)整Geth實(shí)例的運(yùn)行,包括但不限于網(wǎng)絡(luò)節(jié)點(diǎn)和RPC端結(jié)點(diǎn)的管理。

admin命名空間包括以下RPC調(diào)用:

  • addPeer:添加遠(yuǎn)程節(jié)點(diǎn)

  • datadir:獲取鏈庫數(shù)據(jù)目錄

  • nodeInfo:獲取節(jié)點(diǎn)信息

  • peers:獲取已連接遠(yuǎn)程節(jié)點(diǎn)信息

  • setSolc:設(shè)置solidity編譯器路徑

  • startRPC:?jiǎn)?dòng)HTTP上的RPC服務(wù)

  • startWS:?jiǎn)?dòng)WebSocket上的RPC服務(wù)

  • stopRPC:停止HTTP上的RPC服務(wù)

  • stopWS:停止WebSocket上的RPC服務(wù)

debug

debug系列API提供了一組非標(biāo)RPC方法,可供監(jiān)視與調(diào)試Geth的運(yùn)行,也可以用來在運(yùn)行時(shí)設(shè)置一些特定的調(diào)試標(biāo)志。

  • backtraceAt:設(shè)置跟蹤位置

  • blockProfile:?jiǎn)⒂孟迺r(shí)區(qū)塊性能檢測(cè)

  • cpuProfile:?jiǎn)⒂孟迺r(shí)CPU性能檢測(cè)

  • dumpBlock:導(dǎo)出區(qū)塊數(shù)據(jù)

  • gcStats:獲取垃圾回收統(tǒng)計(jì)信息

  • getBlockRlp:獲取RPL編碼的區(qū)塊數(shù)據(jù)

  • goTrace:?jiǎn)⒂孟迺r(shí)go運(yùn)行時(shí)跟蹤

  • memStats:獲取內(nèi)存統(tǒng)計(jì)信息

  • seedHash:獲取區(qū)塊種子哈希

  • setBlockProfileRate:設(shè)置區(qū)塊性能檢測(cè)速率

  • setHead:設(shè)置本地鏈頭區(qū)塊

  • stacks:獲取調(diào)用棧

  • startCPUProfile:?jiǎn)⒂肅PU性能檢測(cè)

  • startGoTrace:?jiǎn)⒂胓o跟蹤

  • traceBlock:獲取區(qū)塊操作碼調(diào)用棧

  • traceBlockByNumber:獲取指定序號(hào)區(qū)塊操作碼調(diào)用棧

  • traceBlockByHash:獲取指定哈希區(qū)塊操作碼調(diào)用棧

  • traceBlockFromFile:獲取區(qū)塊文件操作碼調(diào)用棧

  • traceTransaction:跟蹤交易

  • verbosity:設(shè)置日志顯示級(jí)別

  • vmodule:設(shè)置日志可視模式

  • writeBlockProfile:?jiǎn)⒂脜^(qū)塊性能檢測(cè)

  • writeMemProfile:?jiǎn)⒂脙?nèi)存性能檢測(cè)

miner

miner系列的API允許你遠(yuǎn)程控制節(jié)點(diǎn)旳挖礦操作,或者設(shè)置各種與挖礦相關(guān)的參數(shù)。

  • setExtra:設(shè)置寫入挖礦得到區(qū)塊的額外數(shù)據(jù)

  • setGasPrice:設(shè)置可接受交易的gas價(jià)格下限

  • start:?jiǎn)?dòng)挖礦

  • stop:停止挖礦

  • getHashRate:獲取哈希生成速率

  • setEtherbase:設(shè)置挖礦收益賬戶

personal

personal系列的API管理密鑰庫中的私鑰。

  • importRawKey:導(dǎo)入私鑰

  • listAccounts:列出所有賬戶

  • lockAccount:鎖定賬戶

  • newAccount:創(chuàng)建新賬戶

  • unlockAccount:解鎖賬戶

  • sendTransaction:發(fā)送交易

  • sign:簽名

  • ecRecover:提取簽名中的發(fā)起方地址

txpool

txpool系列的API提供一組非標(biāo)RPC方法,可用來審視包含所有待定及排隊(duì)交易的交易池中的內(nèi)容。

  • content:獲取池中交易詳情

  • inspect:獲取池中交易概述

  • status:獲取交易池狀態(tài)

到此,相信大家對(duì)“如何使用管理API”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

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

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

api
AI