AUG56 bitcoin body 258: getnodeinfo
闪电图谱查询里,describegraph 是整本地图,getchaninfo 查一条边,而落在中间层的是 lncli getnodeinfo:按公钥查一个节点的档案。命令很短,返回结构里的几个字段却经常被读错,尤其是那两个看起来像容量的数字。
输入与定位
命令接受目标节点的三十三字节十六进制压缩公钥,可以走 --pub_key 旗标也可以直接位置参数,两者都没有就报参数缺失。另有一个 --include_channels 布尔旗标:置真时返回结果会带上该节点全部已知通道的边信息,否则只有档案摘要。命令帮助里还有一句限定:它打印的是已公告节点的、经过认证的最新状态——纯私有节点不在公开图谱里,查不到公告信息,这类目标该走发票路由提示而不是节点档案。
返回四件套怎么读
响应是一个节点档案对象,顶层四块。第一块是节点身份:公钥、别名、颜色、公告里的地址列表、功能位图,以及该公告的最后更新时间。这个 last_update 是节点公告的时间戳,图谱节点按它择新,档案里看到的别名、地址是不是新鲜,全看这个数离现在多远。第二块 num_channels:该节点的通道总数。第三块 total_capacity:全部通道容量之和,单位聪。第四块是通道边数组(开了旗标才有),每条边带通道编号与双向策略。
两个容易高估的读数
num_channels 和 total_capacity 都只统计公开图谱中可见的通道。私有通道不进图,一个在图里看起来只有两条通道的小节点,实际可能挂着几十条私链;拿这两个数做对方的流动性画像,画像的是橱窗不是仓库。评估付款可达性时,容量总和也不等于可用余额——通道的实时流动性在 HTLC 槽位和余额一侧,静态档案给不了。想逐条读报价策略,看边对象上的双向路由策略字段:时间锁增量、最小额、基础费、百万分比费率、禁用位和上沿限额,这些才是路径搜索实际消费的参数。
与相邻命令的分工
和 getchaninfo 的关系:先 getnodeinfo 开 --include_channels 拿到边编号列表,再逐边 getchaninfo 看更完整的通道侧信息(出资交易、容量确认等),是一条自然的钻取链。和 describegraph 的关系:全图导出适合离线分析,单点档案适合在线核对——比如对方声称改了别名和颜色,getnodeinfo 看公告时间戳是否更新、内容是否生效,十秒钟的事,不用拉整本地图。做通道生意的节点还会用它监控自己的公告是否被网络按预期收录:查自己的公钥,看到的就是全网 gossip 眼中的你。
档案字段里的时间陷阱
公告对象里的最后更新时间是节点自报的时间戳,图谱按新者胜收录。它带来两个实际影响:其一,刚改完别名或地址的节点,在更新时间前进之前,不同观察者的缓存里可能同时存在新旧两版档案,你查到的不一定是最全网看到的那份;其二,一个长期不重启也不重发公告的老节点,档案时间会显得陈旧,但陈旧不等于离线——是否活着要看它通道公告的更新时间,节点公告与通道公告是两类消息,各有各的时间线。把自己的节点调成定期重发公告,本质是在图谱里维持新鲜度;核对别人时,先看节点时间再看边时间,两层都新才是真勤快。
对普通用户,这条命令最接地气的用法是验真:收款方给你节点公钥,查档案看别名、颜色与地址是否能和对方自述对上,再把对方报给你的通道编号与档案里的边列表交叉核对,两头都对上才算完成了最低限度的身份拼图。图谱数据本身不做信用背书,它只保证公告被签名验证过,公告内容说的是什么,仍然要你自己读。
风险提示:图谱数据存在传播延迟且不含私有通道,基于节点档案的路由与流动性判断可能偏离实际;本文为机制说明,不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。