长安链区块订阅起始块高问题
【问题分类】
- bug
- P2P网络相关(包含libp2p,liquid)
- 链账户身份与权限相关(证书问题、public、多签投票问题)
- 核心交易引擎相关(交易池、DAG)
- 共识相关
- 智能合约相关
- 存储相关
- SDK相关
- 长安链CMC工具
- 长安链管理台
- 长安链浏览器
- 长安链合约IDE
- 长安链web签名插件
- 跨链相关
- 轻节点相关
- 隐私计算相关
- 密码学相关
- 环境依赖
- 其他补充:
【问题描述】(请对问题进行描述,方便定位问题)
具体的现象,操作步骤,前置条件等,尽可能描述清楚,有截图说明更佳
- 相关引用包版本:
chainmaker.org/chainmaker/pb-go/v2 v2.1.0
chainmaker.org/chainmaker/sdk-go/v2 v2.1.0
chainmaker.org/chainmaker/common/v2 v2.1.0
-
区块链网络版本: v2.2.0
-
问题描述:
在使用go-sdk(v2.1.0),对长安链的区块订阅时(SubscribeBlock),发现起始块startBlock(图中offset参数)一旦大于最新块高,则会发现订阅失败,但不会返回订阅失败错误,只会关闭订阅时返回的channel(dataChan),打印图中的"Chan is Closed"。 但是通过查看chainmaker/subscribeBlock的源码发现,此处应该是返回错误的,如下图所示:
问题1:如果起始块高不能大于最新块高,则每次程序启动时,都会接收一次重复的区块信息。这个貌似不太合理
问题2:如果起始块高不能大于最新快高,这个错误没返回的问题是什么?
【相关日志文件】(如果有报错日志请贴图,或者上传附件)
chainmaker-go 的 log/system.log & bin/panic.log file *
SDK 的 sdk.log file
【系统信息】(请填写系统信息,方便定位问题)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information