主页 > imtoken苹果钱包 > 链桨PaddleDTX系列——xdb源码分析(一)

链桨PaddleDTX系列——xdb源码分析(一)

imtoken苹果钱包 2023-02-05 07:05:06

本文基于链桨开源master分支分析xdb模块代码。 最新的提交是 4e59e197e7ca92e5560ebc0f945023eb500d238c

xdb是一个基于区块链的去中心化存储系统以太坊源码分析,实现文件存储、文件摘要上传、副本维护证书、健康状态监控、文件迁移等功能。 xdb代码结构如下图所示:

以太坊源码分析_以太坊挖矿源码_sitejianshu.com 以太坊源码

区块链模块

区块链模块实现了xdb与区块链网络的交互。 xdb暂时支持Xuperchain(xchain)和Fabric,以xchain为例:

以太坊源码分析_sitejianshu.com 以太坊源码_以太坊挖矿源码

以太坊源码分析_以太坊挖矿源码_sitejianshu.com 以太坊源码

xchain.go 实现xchain客户端初始化相关函数

类型 XChain 结构 {

合同名称字符串

sitejianshu.com 以太坊源码_以太坊挖矿源码_以太坊源码分析

ContractAccount 字符串

链名字符串

帐户 *帐户.帐户

XchainClient *xchain.XuperClient

以太坊源码分析_sitejianshu.com 以太坊源码_以太坊挖矿源码

}

// 新建一个 XChain 客户端,用于连接和请求区块链

func New(conf *config.XchainConf) (*XChain, error) {

如果 len(conf.Mnemonic) == 0 {

以太坊挖矿源码_以太坊源码分析_sitejianshu.com 以太坊源码

返回 nil以太坊源码分析,errorx。 New(errorx.ErrCodeConfig, "缺少助记词")

}

...

}

以太坊源码分析_sitejianshu.com 以太坊源码_以太坊挖矿源码

客户端模块

client模块是xdb的客户端工具,可以通过该模块与xdb server进行交互。 具体参见client/http/http.go

命令模块

cmd模块是xdb的命令行工具,通过client request server服务支持以下功能:

以太坊源码分析_以太坊挖矿源码_sitejianshu.com 以太坊源码

具体用法见cmd/client/README.md