如何查询以太信道接口_查询区块
---
概述: 用Go查询以太坊区块。
---
# 查询区块
正如我们所见,您可以有两种方式查询区块信息。
#### 区块头
您可以调用客户端的`HeadByNumber`来返回有关一个区块的头信息。若您传入`nil`,它将返回最新的区块头。
```go
header, err := client.HeaderByNumber(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(header.Number.String()) // 5671744
```
#### 完整区块
调用客户端的`BlockByNumber`方法来获得完整区块。您可以读取该区块的所有内容和元数据,例如,区块号,区块时间戳,区块摘要,区块难度以及交易列表等等。
```go
blockNumber := big.NewInt(5671744)
block, err := client.BlockByNumber(context.Background(), blockNumber)
if err != nil {
log.Fatal(err)
}
fmt.Println(block.Number().Uint64()) // 5671744
fmt.Println(block.Time().Uint64()) // 1527211625
fmt.Println(block.Difficulty().Uint64()) // 3217000136609065
fmt.Println(block.Hash().Hex()) // 0x9e8751ebb5069389b855bba72d94902cc385042661498a415979b7b6ee9ba4b9
fmt.Println(len(block.Transactions())) // 144
```
调用`Transaction`只返回一个区块的交易数目。
```go
count, err := client.TransactionCount(context.Background(), block.Hash())
if err != nil {
log.Fatal(err)
}
fmt.Println(count) // 144
```
在下个章节,我们将学习查询区块中的交易。
### 完整代码
```go
package main
import (
"context"
"fmt"
"log"
"math/big"
"github.com/ethereum/go-ethereum/ethclient"
)
func main() {
client, err := ethclient.Dial("https://mainnet.infura.io")
if err != nil {
log.Fatal(err)
}
header, err := client.HeaderByNumber(context.Background(), nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(header.Number.String()) // 5671744
blockNumber := big.NewInt(5671744)
block, err := client.BlockByNumber(context.Background(), blockNumber)
if err != nil {
log.Fatal(err)
}
fmt.Println(block.Number().Uint64()) // 5671744
fmt.Println(block.Time().Uint64()) // 1527211625
fmt.Println(block.Difficulty().Uint64()) // 3217000136609065
fmt.Println(block.Hash().Hex()) // 0x9e8751ebb5069389b855bba72d94902cc385042661498a415979b7b6ee9ba4b9
fmt.Println(len(block.Transactions())) // 144
count, err := client.TransactionCount(context.Background(), block.Hash())
if err != nil {
log.Fatal(err)
}
fmt.Println(count) // 144
}
```
如何查询以太信道接口_查询区块相关推荐
- 如何查询以太信道接口_浅谈百兆千兆以太网物理层
你知道以下几个问题的答案吗?试着回答看看? 网线有多少类?有什么区别? 百兆网实际信号频率是多少? 千兆网实际信号频率是多少? 以太网信号是模拟的?数字的? 以太网一致性测试的意义? 以太网是什么? ...
- 用sql查询姓名和身份证_查询,更新和身份
在本系列的第一篇文章中,我讨论了RDBMS作为Java™对象存储解决方案的失败. 正如我所解释的那样,在当今的面向对象的世界中,像db4o这样的对象数据库可以为面向对象的开发人员提供更多的功能,而不仅 ...
- 火车飞机票接口_查询火车/机票和机票的申请
火车飞机票接口 泛华 (TransChina) Application For Querying Train/Flights and Tickets. 查询火车/机票和机票的应用程序. View de ...
- 根据IP查询所在城市接口(查询用户所在城市)
最近项目有用到定位用户客户端打开页面时所在的城市的需求,找到如下接口,做个记录 文章为转载 设计蜂巢IP地址查询接口:http://www.hujuntao.com/api/ip/ip.php 腾讯I ...
- 在mysql查询库和表_查询mysql 库和表占的大小
use information_schema; select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables; ...
- 苹果笔记本怎么查看计算机基本信息,如何查询苹果电脑型号_查询苹果电脑型号的方法...
新买入苹果电脑后无法确认是什么型号?虽然可以通过电脑外箱和机身标签识别,但此不够内容不够详细.那么还有什么办法查询苹果电脑型号呢?Mac的机型信息并不是直接可以在电脑的系统信息中查询到,而是根据Mac ...
- mysql查询学生成绩语句_查询每个学生的各科成绩sql语句
展开全部 1.查询每个学生的各科成绩sql语句: select a.studentid,a.name,a.sex,v1.score as '语文',v2.score as '数学', v3.score ...
- mysql查询男女平均年龄_查询计算机系学生的姓名、性别和年龄
[填空题]用 insert命令向学生表student里插入一条新记录:学号为18007,姓名为:张飞驰,男,20岁,师范系 () into student(sno,sname,sex,sdept) v ...
- mysql查询不及格的学生_查询“数据库”不及格的学生的学号和成绩。
[单选题]在下列传输介质中,错误率最低的是() [单选题]The followings are some of the potential risks generally existing in ja ...
最新文章
- 陕西打造12项精品体育赛事 加快建设体育强省
- 粒子滤波 演示与opencv代码
- C++输入、输出优化模板整理
- python获取电脑几核几线程_python编程测试电脑开启最大线程数实例代码
- RFileWriteStream 写入汉字
- Redis和DB数据一致性解决方案
- MATLAB中使用LIBSVM进行SVM参数寻优
- JAVA并发,线程异常捕获
- VMware虚拟机中ubuntu的磁盘怎么扩容
- Java 异常丢失及finally子句
- 十二、Object类
- 朱丹超级搜索术笔记:百度搜索相关的技巧
- vue 下载pdf文件
- 普莱得电器递交注册:上半年营收3.7亿 拟募资5.6亿
- 白细胞直方图C语言,白细胞三分群及其直方图
- YY 0709|视觉报警信号的要求和测试方法
- 可扩展的交互式可视化框架,用于衡量新闻中的性别偏见
- Android手机QQ的UI自动化实践,死磕原理
- 图扑软件数字孪生海上风电 | 向海图强,奋楫争先
- 如何使用MongoDB Go驱动程序在MongoDB中使用Go