千家信息网

以太坊Management APIs怎么用

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,本篇内容介绍了"以太坊Management APIs怎么用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2024年11月21日以太坊Management APIs怎么用

本篇内容介绍了"以太坊Management APIs怎么用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

管理APIs Management APIs

除了官方的DApp APIs 接口, go-ethereun 还提供了额外的管理API, 和 DApp API一样, 这些接口同样使用JSON-RPC并遵循同样的协议。Geth提供了一个可以访问所有管理API的控制台客户端。

开启管理 APIs

要在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"   }}

使用管理APIs

这些额外的管理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.ipcHTTP: 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.ipcHTTP: 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 节点(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怎么用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0