去中心化借贷,Compound应用架构

原文发布在 https://github.com/33357/smartcontract-apps这是一个面向中文社区,分析市面上智能合约应用的架构与实现的仓库。欢迎关注开源知识项目!

Compound应用架构

服务架构

Compound 整个应用所依赖的服务分为以下几块:

  1. Web服务:为用户提供合约数据显示和操作的界面

  2. Ethereum钱包服务(Metamask):保管用户私钥,并负责签名和向区块链发送数据

  3. 智能合约服务:保存用户资产,提供可信的资产管理服务

  4. 价格预言机服务:提供资产价格

  5. 链上数据聚合服务(Subgraph):快速获得合约的状态

  6. 清算服务:清算超过禁戒线的账户资产

其中的数据流如图所示:

后端
区块链
客户端
私钥签名数据
清算操作
合约状态
可清算账户
链上数据
资产价格
用户操作
链上数据聚合
清算服务
智能合约
价格预言机
Web客户端
Ethereum钱包

合约架构

Compound合约主体分为以下几块:

  1. cToken:用户直接操作的合约,保存用户资产,提供业务接口

  2. interestRateModel:提供资产利率的计算模型

  3. comptroller:操作条件审查

  4. priceOracle:提供资产价格

其中的数据流如图所示:

利率模型
操作条件审查
用户操作
资产价格
interestRateModel
cToken
comptroller
account
priceOracle

你可能感兴趣的:(去中心化,区块链,以太坊)