本篇内容介绍了“以太坊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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。