前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Management APIs

Management APIs

作者头像
Al1ex
发布于 2023-09-07 02:19:56
发布于 2023-09-07 02:19:56
3050
举报
文章被收录于专栏:网络安全攻防网络安全攻防
文章前言

以太坊是目前最流行的智能合约平台之一,其开放的管理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

功能介绍:状态检查属性可以查询当前待在下一个块中包含的事务数量,以及仅用于将来执行的事务,结果是一个对象,其中有两个字段挂起并排队,每个字段都是一个计数器,表示处于该特定状态的事务数

执行示例:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java JPA 解释
JPA (Java Persistence API) 是 Java 平台的一个规范,用于对象关系映射(ORM)和管理关系数据库中的数据。以下是关于 JPA 的详细解释:
编程小白狼
2025/04/21
860
快速学习-使用JPA完成增删改查操作
基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。
cwl_java
2020/04/01
8180
高级教程-springData-JPA第一天【悟空教程】
ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过 ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联, 操作对象就可以直接操作数据库数据,就可以说这套程序实现了 ORM 对象关系映射
Java帮帮
2018/08/16
4.4K0
高级教程-springData-JPA第一天【悟空教程】
JPA入门和相关操作
ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作数据库数据,就可以说这套程序实现了ORM对象关系映射
不愿意做鱼的小鲸鱼
2022/09/26
3.2K0
JPA的基本操作
基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。
暴躁的程序猿
2022/03/24
7120
高级框架-springDate-JPA 第二天【悟空教程】
通过annotation(注解)来映射实体类和数据库表的对应关系,基于annotation的主键标识为@Id注解, 其生成规则由@GeneratedValue 设定的.这里的@id 和@GeneratedValue 都是 JPA 的标准用法。 其中:JPA 提供的四种标准用法为 TABLE,SEQUENCE,IDENTITY,AUTO。由于我们使用的是 hibernate 实现,它也支持 hibernate 中定义的生成规则。
Java帮帮
2018/09/29
2.6K0
高级框架-springDate-JPA 第二天【悟空教程】
快速学习-JPA的入门案例
由于JPA是sun公司制定的API规范,所以我们不需要导入额外的JPA相关的jar包,只需要导入JPA的提供商的jar包。我们选择Hibernate作为JPA的提供商,所以需要导入Hibernate的相关jar包。
cwl_java
2020/04/02
5100
快速学习-Spring Data JPA 入门
使用Spring Data JPA,需要整合Spring与Spring Data JPA,并且需要提供JPA的服务提供者hibernate,所以需要导入spring相关坐标,hibernate坐标,数据库驱动坐标等
cwl_java
2020/04/01
4230
SSH框架之Hibernate第四篇
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
海仔
2019/09/18
3.6K0
[ SSH框架 ] Hibernate框架学习之四(JPA操作)
一、JPA概述以及它和Hibernate之间的关系 1.1.Hibernate 概述   JPA Java Persistence API,是EJB3规范中负责对象持久化的应用程序编程接口(ORM接口),它定义一系列的注释。这些注释大体可分为:类级别注释、方法级别注释、字段级别注释。给实体类添加适当的注释可以在程序运行时告诉Hibernate如何将一个实体类保存到数据库中以及如何将数据以对象的形式从数据库中读取出来。   目前有两种注释方案可以确定对象与表格之间的对应关系:一种是注释实体类的属性字段(字段级
Kevin_Zhang
2018/05/22
6.9K0
(二)JPA 连接工厂、主键生成策略、DDL自动更新
所以此时可以考虑将部分的代码移交给JPA的专属连接管理类,用这个类可以基于ThreadLocal实现EntityManager存储,这样每一次通过该类的方法获取EntityManager的时候如果不关闭,则获取到的是同一个实例。
用户7630333
2023/12/07
3670
(二)JPA 连接工厂、主键生成策略、DDL自动更新
Spring 全家桶之 Spring Data JPA(一)
3.在applicationContext.xml配置文件中注入jdbcTemplate及数据源的配置
RiemannHypothesis
2022/08/19
1.5K0
Spring 全家桶之 Spring Data JPA(一)
Jpa使用详解
在java工程的resources路径下创建一个名为META-INF的文件夹,在此文件夹下创建一个名为persistence.xml的配置文件
说故事的五公子
2020/06/02
3.4K0
Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?
JPA,Java Persistence API是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术
浅羽技术
2020/12/07
1.4K0
Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?
(四)JPA - JQPL 实现增删改查
用户7630333
2023/12/07
5680
(四)JPA - JQPL 实现增删改查
快速学习-JPA的API介绍
Persistence对象主要作用是用于获取EntityManagerFactory对象的 。通过调用该类的createEntityManagerFactory静态方法,根据配置文件中持久化单元名称创建EntityManagerFactory。
cwl_java
2020/04/01
5630
快速学习-JPA的API介绍
对象持久化API之JPA入门教程
注意:JPA是规范,不是ORM框架,是ORM框架的规范,JPA没有实现ORM,具体实现由ORM厂商提供
SmileNicky
2019/01/17
1.1K0
Hibernate学习笔记 JPA简介
Hibernate除了是一个ORM框架之外,同时还实现了Java EE的一项标准JPA。我们在前面已经看到了Hibernate可以在注解方面直接使用JPA。现在我们来看看如何在Hibernate中使用JPA。
乐百川
2022/05/05
5960
一篇 JPA 总结
下面是 JDBC 在 Java 应用和数据库之间的位置,充当着一个中间者,供 Java 应用程序访问所有类别的数据库,建立一个标准
bgZyy
2018/08/01
5.7K0
一篇 JPA  总结
flea-db使用之JPA分库分表实现
flea-frame-db使用之基于EntityManager实现JPA分表的数据库操作【旧】
huazie
2024/10/24
2870
flea-db使用之JPA分库分表实现
相关推荐
Java JPA 解释
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档