Geth RPC API中文文档

Geth除了支持官方的DApp API开发接口,还支持额外的管理API接口。类似于DApp API,这些管理API也是通过JSON-PRC协议提供,并且遵循同样的规范。Geth内置的控制台支持所有这些额外的管理API。Geth管理API官方文档中文版由汇智网翻译整理,访问地址:Geth管理API文档

如果要快速高效地学习以太坊应用开发,推荐汇智网的以太坊智能合约与DApp开发入门

启用管理API

要通过Geth的RPC访问端结点提供这些管理API,需要在启动geth时使用--${interface}api选项,其中${interface}可以是rpc,表示HTTP上的端结点,或者是ws,表示WebSocket上的端结点,或者ipc,表示unix套接字或windows命名管道上的端结点。

例如下面的命令启用unix套接字和http上的访问端结点:

~$ geth --ipcapi admin,eth,miner --rpcapi eth,web3 --rpc
  • 在unix套接字上的端结点,提供以下API:admin、miner和官方DApp API即eth。
  • 在http上的端结点,提供以下API:web3、eth

HTTP上的RPC接口必须同时显式地使用--rpc标志开启。

需要注意的是,在HTTP(rpc)或WebSocket(ws)上提供API将允许所有人访问API,因此请仔细审查你要提供哪些API服务。默认情况下,Geth在IPC端结点上提供所有的API,在HTTP和WebSocket接口上仅提供db、eth、net和web3这几个API。

要查看提供了哪些API,可以使用modules调用。例如在unix系统上通过ipc接口调用:

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

响应结果将列出所有启用的API模块以及其版本号:


{
   "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采用相同的规范,因此可以扩展Web3以支持这些额外的API。

不同的函数被分为多个逻辑组。下面给出JavaScript控制台上的示例,不过很容易将这些示例转换为RPC请求。

例如,在Geth终端启动挖矿:

> 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","params":[],"id":74}‘ localhost:8545

可以在启动挖矿时传入一个参数指定挖矿线程数:

Geth终端启动4个线程挖矿:

> miner.start(4)

通过IPC端结点启动4个线程挖矿:

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

通过HTTP端结点启动4个线程挖矿:

~$ 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节点管理
  • debug:Geth节点调试
  • miner:挖矿和有向无环图(DAG)管理
  • personal:账户管理
  • txpool:交易池审查

admin

admin系列API提供了一组非标RPC方法,可供调整Geth实例的运行,包括但不限于网络节点和RPC端结点的管理。

admin命名空间包括以下RPC调用:

  • addPeer:添加远程节点
  • datadir:获取链库数据目录
  • nodeInfo:获取节点信息
  • peers:获取已连接远程节点信息
  • setSolc:设置solidity编译器路径
  • startRPC:启动HTTP上的RPC服务
  • startWS:启动WebSocket上的RPC服务
  • stopRPC:停止HTTP上的RPC服务
  • stopWS:停止WebSocket上的RPC服务

debug

debug系列API提供了一组非标RPC方法,可供监视与调试Geth的运行,也可以用来在运行时设置一些特定的调试标志。

  • backtraceAt:设置跟踪位置
  • blockProfile:启用限时区块性能检测
  • cpuProfile:启用限时CPU性能检测
  • dumpBlock:导出区块数据
  • gcStats:获取垃圾回收统计信息
  • getBlockRlp:获取RPL编码的区块数据
  • goTrace:启用限时go运行时跟踪
  • memStats:获取内存统计信息
  • seedHash:获取区块种子哈希
  • setBlockProfileRate:设置区块性能检测速率
  • setHead:设置本地链头区块
  • stacks:获取调用栈
  • startCPUProfile:启用CPU性能检测
  • startGoTrace:启用go跟踪
  • traceBlock:获取区块操作码调用栈
  • traceBlockByNumber:获取指定序号区块操作码调用栈
  • traceBlockByHash:获取指定哈希区块操作码调用栈
  • traceBlockFromFile:获取区块文件操作码调用栈
  • traceTransaction:跟踪交易
  • verbosity:设置日志显示级别
  • vmodule:设置日志可视模式
  • writeBlockProfile:启用区块性能检测
  • writeMemProfile:启用内存性能检测

miner

miner系列的API允许你远程控制节点旳挖矿操作,或者设置各种与挖矿相关的参数。

  • setExtra:设置写入挖矿得到区块的额外数据
  • setGasPrice:设置可接受交易的gas价格下限
  • start:启动挖矿
  • stop:停止挖矿
  • getHashRate:获取哈希生成速率
  • setEtherbase:设置挖矿收益账户

personal

personal系列的API管理密钥库中的私钥。

  • importRawKey:导入私钥
  • listAccounts:列出所有账户
  • lockAccount:锁定账户
  • newAccount:创建新账户
  • unlockAccount:解锁账户
  • sendTransaction:发送交易
  • sign:签名
  • ecRecover:提取签名中的发起方地址

txpool

txpool系列的API提供一组非标RPC方法,可用来审视包含所有待定及排队交易的交易池中的内容。

  • content:获取池中交易详情
  • inspect:获取池中交易概述
  • status:获取交易池状态

原文地址:http://blog.51cto.com/13692892/2340074

时间: 2024-10-08 15:34:38

Geth RPC API中文文档的相关文章

jQuery EasyUI API 中文文档

http://www.cnblogs.com/Philoo/tag/jQuery/ 共2页: 1 2 下一页 jQuery EasyUI API 中文文档 - 树表格(TreeGrid) 风流涕淌 2011-11-19 18:51 阅读:25025 评论:3 jQuery EasyUI API 中文文档 - 树(Tree) 风流涕淌 2011-11-18 20:13 阅读:31937 评论:2 jQuery EasyUI 1.2.4 API 中文文档(完整)目录 风流涕淌 2011-11-17

jQuery EasyUI DataGrid API 中文文档

扩展自$.fn.panel.defaults,用 $.fn.datagrid.defaults重写了 defaults . 依赖 panel resizable linkbutton pagination 用法 1.  <table id="tt"></table> 1.  $('#tt').datagrid({ 2.      url:'datagrid_data.json', 3.      columns:[[ 4.          {field:'co

jQuery EasyUI API 中文文档 - ValidateBox验证框

jQuery EasyUI API 中文文档 - ValidateBox验证框,使用jQuery EasyUI的朋友可以参考下. 用 $.fn.validatebox.defaults 重写了 defaults. 用法 代码如下: <input id="vv" required="true" validType="email"> 代码如下: $('#vv').validatebox({ required:true }); 验证规则 验

jQuery API中文文档

jQuery API中文文档 http://www.css88.com/jqapi-1.9/category/events/event-handler-attachment/ jQuery UI API中文文档 http://www.css88.com/jquery-ui-api/

JDK1.8+API+中文文档+高清完整版(不要积分 免费拿)

JDK1.8+API+中文文档+高清完整版+CHM帮助文档 链接: https://pan.baidu.com/s/1LbdWSZ4qFjWXdJ88bXkn5w 提取码: frew 希望能帮上大家的忙. 原文地址:https://www.cnblogs.com/ooo888ooo/p/11105343.html

jQuery EasyUI 1.2.4 API 中文文档(完整)目录

Welcome 欢迎 由于项目需求,要使用富客户端,选择了EasyUI,之前并没有接触过,上网搜索一番,没有找到完整的中文文档,项目组又没有英语达人,无奈之下,我硬着头皮,把官方提供的英文文档啃了,一边啃顺便用中文记录下来. 其实几个月前就啃完了,现在的项目组一直在参考使用.我深感查字典揣摩英文原意的痛苦,早就想快点都通过博客共享出去,免去如我一样英语破(poor)人的痛苦,可是上班忙工作,下班忙家务,所以断断续续的,好在终于要发完了,也算了却一桩心事. 为了方便大家检索使用,制作此目录置顶.

nodejs api 中文文档

文档首页 英文版文档 本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可. Node.js v0.10.18 手册 & 文档 索引 | 在单一页面中浏览 | JSON格式 目录 关于本文档 稳定度 JSON 输出 概述 全局对象 global process console 类: Buffer require() require.resolve() require.cache require.extensions __filename __dirname module e

webdriver API中文文档

1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniumhq.org/docs/ 1.2   用webdriver打开一个浏览器 我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器.但是做页面的测试,速度通常很慢,严重影 响持续集成的速度,这个时候建议使用HtmlUnit,不过HtmlUnitDirver

jQuery EasyUI API 中文文档 - Panel面板

<html> <head> <title>布局管理器--控制面板</title> <script src="jquery-easyui/jquery.min.js"></script> <script src="jquery-easyui/jquery.easyui.min.js"></script> <script src="jquery-easyui/