文章前言
以太坊是目前最流行的智能合约平台之一,其开放的管理API使得开发者可以轻松地管理和监控以太坊网络。本文将介绍以太坊的管理API,包括如何使用它们来管理以太坊网络、监控节点和查询以太坊区块链的状态,无论你是初学者还是经验丰富的以太坊开发者,本文都将为你提供有价值的信息和指导
接口介绍
除了官方公开的DAPP API名称空间(eth、shh、web3)之外,geth还提供了以下额外的管理API名称空间:
-
admin:Geth节点管理
-
debug:Geth节点调试
-
miner:矿工和DAG管理
-
personal: 帐户管理
-
txpool:事务池检查
https://geth.ethereum.org/docs/interacting-with-geth/rpc
Amdin模块
admin_addPeer
功能介绍:增加一个新的远程节点到节点列表中。
详细说明:节点将始终尝试保持与这些节点的连接,如果远程连接断开则每隔一段时间重新连接一次,该方法接受单个参数,即远程对等机的enode url以开始跟踪并返回一个bool,指示是否接受该对等机进行跟踪或发生了某些错误。
调用方式:
执行示例:
admin_datadir
功能介绍:查询datadir管理属性
详细说明:获取正在运行的geth节点用于存储其所有数据库的绝对路径。
调用方式:
例子:
admin_nodeInfo
功能介绍:查询nodeInfo管理属性值
详细说明:获取在网络上运行的geth节点的所有已知信息。包括作为_VP2P P2P覆盖协议参与者的节点本身的一般信息,以及由每个正在运行的应用程序协议(例如:ETH、LES、SHH、BZZ)添加的专门信息
调用方式:
执行示例:
admin_peers
功能介绍:查询peers管理属性
详细说明:获取有关网络上已连接远程节点的所有已知信息,这些信息包括作为_VP2P P2P覆盖协议参与者的节点本身的一般信息以及由每个正在运行的应用程序协议(例如:ETH、LES、SHH、BZZ)添加的专门信息
调用方式:
执行示例:
admin_startHTTP
功能介绍:startrpc管理方法启动一个基于http的json-rpc-api-webserver来处理客户端请求。
详细说明:该方法返回一个布尔标志,指定是否打开了HTTP RPC侦听器。请注意,任何时候只允许一个HTTP端点处于活动状态。 参数与使用方式:
-
host:打开侦听器套接字的网络接口(默认为\\”localhost\\”)
-
port:打开侦听器套接字的网络端口(默认为8545)
-
cors:要使用的跨域资源共享标头(默认为\\”\\”)
-
apis:通过此接口提供的API模块(默认为\\”eth,net,web3\\”)
执行实例:
admin_startWS
功能介绍:startws管理方法启动一个基于websocket的json-rpc-api-webserver来处理客户端请求。
详细说明:方法返回一个布尔标志,指定WebSocket RPC侦听器是否已打开。请注意,任何时候只允许一个WebSocket端点处于活动状态
调用方式:
-
host:打开侦听器套接字的网络接口(默认为\\”localhost\\”)
-
port:打开侦听器套接字的网络端口(默认为8546)
-
cors:要使用的跨域资源共享标头(默认为\\”\\”)
-
apis:通过此接口提供的API模块(默认为\\”eth,net,web3\\”)
实例:
amdin_sotpRPC
功能介绍:StopRPC管理方法关闭当前打开的HTTP RPC终结点。由于节点只能运行一个HTTP端点,因此此方法不接受任何参数,返回一个布尔值,无论端点是否已关闭。
使用方式:
实例:
admin_stopWS
功能介绍:stopws管理方法关闭当前打开的WebSocket RPC终结点,由于节点只能有一个WebSocket终结点在运行,因此此方法不接受任何参数,返回一个布尔值,无论终结点是否已关闭。
调用方式:
示例:
Debug模块
DebugAPI允许您访问几个非标准的RPC方法,这些方法允许您在运行时检查、调试和设置某些调试标志。
debug_backtraceAt
功能介绍:设置日志回溯位置,当设置了回溯位置并在该位置发出日志消息时,执行LOG语句的goroutine堆栈将打印到stderr,位置被指定为<filename>:<line>
使用方式:
实例:
debug_blockProfile
功能介绍:在给定的持续时间内打开块分析并将配置文件数据写入磁盘,它使用1的配置率来获取最准确的信息,如果需要不同的速率,请使用debug_WriteBlockProfile手动设置速率并写入配置文件。
调用方式:
debug_cpuProfile
功能介绍:在给定的持续时间内打开CPU配置文件并将配置文件数据写入磁盘
调用方式:
debug_dumpBlock
功能介绍:检索与块号对应的状态并返回帐户列表(包括存储和代码)
详细说明:
执行实例:
debug_gcStats
功能介绍:返回GC统计信息
详细说明:
执行示例:
debug_goTrace
功能介绍:在给定的持续时间内打开运行时跟踪,并将跟踪数据写入磁盘。
调用方式:
……
Miner模块
Miner API允许您远程控制节点的挖掘操作并设置各种挖掘特定设置
miner_setExtra
功能介绍:设置当矿工可以包含的额外数据。上限为32字节
调用方式:
miner_setGasPrice
功能介绍:设置采矿交易时可接受的最低gas价格,低于此限制的任何事务都将从挖掘过程中排除
调用方式:
miner_start
功能介绍:使用给定的线程数启动CPU挖掘进程,并在需要时生成新的DAG
调用方式:
miner_stop
功能介绍:停止挖矿
调用方式:
miner_setEtherBase
功能介绍:设置EtherBase,用于奖励采矿
调用方式:
Personal模块
个人API管理密钥存储区中的私钥
personal_importRawKey
功能介绍:将给定的未加密私钥(十六进制字符串)导入密钥存储并用密码短语对其进行加密
调用方式:
personal_listAccounts
功能介绍:返回密钥存储区中所有密钥的所有以太坊帐户地址。
调用方式:
personal_lockAccount
功能介绍:锁定账户,使帐户不能再用于发送事务
personal_newAccount
功能介绍:创建账户
personal_unlockAccount
功能介绍:解锁账户
personal_sendTransaction
功能介绍:交易信息
personal_sign
功能介绍:使用\\”sign(keccack256(\\”\\\\x19Ethereum Signed Message:\\\\n\\” + len(message) + message)))\\”计算sign签名
personal_ecRecover
功能介绍:反解地址
Txpool模块
TxPool API允许您访问几个非标准的RPC方法,以检查包含当前所有挂起事务的事务池的内容以及排队等待将来处理的事务池的内容。
txpool_content
功能介绍:查询Content Inspection属性,以列出当前待包含在下一个块中的所有事务的确切详细说明信息以及仅计划将来执行的事务的详细说明信息
详细说明:结果是一个对象,其中有两个字段挂起并排队,每个字段都是关联数组,其中每个条目都将源地址映射到一批计划事务,这些批本身就是将nonce与实际事务关联起来的映射,请注意可能有多个事务与同一帐户和随机数关联,如果用户广播多个具有不同天然气配额(甚至完全不同的交易)的多个许可证就会发生这种情况
执行示例:
txpool_inspect
功能介绍:查询inspect inspection属性以列出当前待包含在下一个块中的所有事务的文本摘要,以及仅计划将来执行的事务的文本摘要,这是一种专门为开发人员定制的方法,用于快速查看池中的事务并发现任何潜在问题
详细说明:结果是一个对象,其中有两个字段等待和排队,每个字段都是关联数组,其中每个条目都将源地址映射到一批计划事务,这些批本身就是将nonce与事务摘要字符串关联起来的映射,请注意可能有多个交易与同一帐户和nonce关联,如果用户广播多个具有不同天然气配额(甚至完全不同的交易)的多个许可证就会发生这种情况
执行示例:
txpool_status
功能介绍:状态检查属性可以查询当前待在下一个块中包含的事务数量,以及仅用于将来执行的事务,结果是一个对象,其中有两个字段挂起并排队,每个字段都是一个计数器,表示处于该特定状态的事务数
执行示例:
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34102.html