本篇内容介绍了“以太坊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怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/kingwjb/blog/1861491