您好,登錄后才能下訂單哦!
本篇內容介紹了“以太坊Management APIs怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
除了官方的DApp APIs 接口, go-ethereun 還提供了額外的管理API, 和 DApp API一樣, 這些接口同樣使用JSON—RPC并遵循同樣的協議。Geth提供了一個可以訪問所有管理API的控制臺客戶端。
要在Geth RPC終端開啟管理API的話, 需要啟動時在命令行指定 --${interface}api 參數. ${interface}的值可以是一下三個:
rpc : 用于開啟HTTP
ws: 用于開啟WebSocket
ipc: 用于開啟 unix socket ,用于Unix系統 或者 named pipe, 用于Windows系統
例如: geth --ipcapi admin,eth,miner --rpcapi eth,web3 --rpc
通過IPC開啟admin, 官方DApp 和 miner API
通過HTTP開啟官方DApp 和 web3
HTTP RPC接口需要顯式的通過 --rpc 開啟。
注意:通過HTTP 和 WebSocket 接口后, 任何用戶都可以訪問這些接口, 因此開啟那些接口必須小心。 默認情況下, Geth 通過 IPC接口提供所有 API的訪問, 但是,通過HTTP和WebSocket接口只能訪問 db, eth, net, web3相關的API.
想知道Geth提供了那些API, 可以調用 modules JSON-RPC方法, 例如 下面在 unix系統上通過 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" } }
這些額外的管理API和官方DApp API遵循相同的協議. 可以擴展Web3并使用他來調用這些額外的API。
這些不同的方法可以劃分為幾個邏輯分組。 下面的例子是通過JavaScript 控制臺實現的, 但可以方便的轉換成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
除了官方提供的DApp API命名空間(eth, shh, web3), Geth提供了下面的管理 API命名空間:
admin: Geth 節點(node)管理
debug: Geth 節點調試
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怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。