组件

组件

核心组件

以下的 blockchainyudbtxpool 均为interface, 内置默认的实现, 如果开发者有特殊需求,可自行重新实现interface

  • blockchain: 链结构,负责存储区块数据 并 组织链结构与分叉逻辑。
  • yudb: yu的数据库,存储所有区块中的具体交易数据、 交易执行后的 eventerror
  • txpool: 交易池,负责验证和缓存从外部发来的交易。
  • state: 存储状态, 储存着每个交易执行后的状态,比如账户余额等。
  • tripod: 运行区块链 和 供开发者定制逻辑 的 基本最小单元, 开发者可以定制多个tripod并将他们排序组合装载入land里供框架调用。

底层组件

  • store: 存储层,支持 kv、sql、 fs 等多种形式的存储,且均为interface,开发者可以指定需要的存储引擎(比如kv目前具备badgerboltdb两种存储引擎) 目前state内的存储是用boltdb实现的, 而blockchainyudb内的存储使用sqlite实现的
  • p2p: 点对点传输网络,用来发现网络中的节点以及传播交易和区块等。
  • keypair: 公私钥的非对称加密算法,目前支持 sr25519ed25519。该组件以interface形式,可自行扩展其他加密算法。

image