长安链学习研究 - 存储分析 wal 机制
本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
func (bc *Blockchain) initStore() (err error) blockchain_init.go
func (m *Factory) NewStore(chainId string, storeConfig *conf.StorageConfig, logger protocol.Logger, p11Handle *pkcs11.P11Handle) (protocol.BlockchainStore, error) store_factory.go
注册罗盘数据加密,先不看,先看注册 wal
复制代码
复制代码
默认是禁止状态,不走 bfdb 这块
wal 地址
由配置文件的存储路径+chainid +wallogpath 路径组成:
配置文件账本存储路径:
chainid:
wal 路径:
所以组成的路径就是上面拼接的路径位置
这个是 wal.open 方法创建了一个 wallog,注册到了 ioc 容器里
复制代码
进入 open 方法里看看
复制代码
核心就是 l.load 方法了,明天研究。
之前的 tls 连接问题解决了,原因是阿里云环境可能做了特殊处理,导致 sdk 连接的时候,因为不是正式证书,直接被 rst 了,无法握手成功。
评论