您当前的位置: 首页 >  架构

33357

暂无认证

  • 5浏览

    0关注

    25博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

33357 发布时间:2022-06-01 16:33:27 ,浏览量:5

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

Compound应用架构 服务架构

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

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

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

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

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

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

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

其中的数据流如图所示:

#mermaid-svg-yX5rjTaCBusdbtx2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .error-icon{fill:#552222;}#mermaid-svg-yX5rjTaCBusdbtx2 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-yX5rjTaCBusdbtx2 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-yX5rjTaCBusdbtx2 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-yX5rjTaCBusdbtx2 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-yX5rjTaCBusdbtx2 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-yX5rjTaCBusdbtx2 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-yX5rjTaCBusdbtx2 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-yX5rjTaCBusdbtx2 .marker.cross{stroke:#333333;}#mermaid-svg-yX5rjTaCBusdbtx2 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-yX5rjTaCBusdbtx2 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .cluster-label text{fill:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .cluster-label span{color:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .label text,#mermaid-svg-yX5rjTaCBusdbtx2 span{fill:#333;color:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .node rect,#mermaid-svg-yX5rjTaCBusdbtx2 .node circle,#mermaid-svg-yX5rjTaCBusdbtx2 .node ellipse,#mermaid-svg-yX5rjTaCBusdbtx2 .node polygon,#mermaid-svg-yX5rjTaCBusdbtx2 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-yX5rjTaCBusdbtx2 .node .label{text-align:center;}#mermaid-svg-yX5rjTaCBusdbtx2 .node.clickable{cursor:pointer;}#mermaid-svg-yX5rjTaCBusdbtx2 .arrowheadPath{fill:#333333;}#mermaid-svg-yX5rjTaCBusdbtx2 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-yX5rjTaCBusdbtx2 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-yX5rjTaCBusdbtx2 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-yX5rjTaCBusdbtx2 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-yX5rjTaCBusdbtx2 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-yX5rjTaCBusdbtx2 .cluster text{fill:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 .cluster span{color:#333;}#mermaid-svg-yX5rjTaCBusdbtx2 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-yX5rjTaCBusdbtx2 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
后端
区块链
客户端
私钥签名数据
清算操作
合约状态
可清算账户
链上数据
资产价格
用户操作
链上数据聚合
清算服务
智能合约
价格预言机
Web客户端
Ethereum钱包
合约架构

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

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

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

  3. comptroller:操作条件审查

  4. priceOracle:提供资产价格

其中的数据流如图所示:

#mermaid-svg-DTKF7dj29jJtl7cB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .error-icon{fill:#552222;}#mermaid-svg-DTKF7dj29jJtl7cB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DTKF7dj29jJtl7cB .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-DTKF7dj29jJtl7cB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DTKF7dj29jJtl7cB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DTKF7dj29jJtl7cB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DTKF7dj29jJtl7cB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DTKF7dj29jJtl7cB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DTKF7dj29jJtl7cB .marker.cross{stroke:#333333;}#mermaid-svg-DTKF7dj29jJtl7cB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DTKF7dj29jJtl7cB .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .cluster-label text{fill:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .cluster-label span{color:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .label text,#mermaid-svg-DTKF7dj29jJtl7cB span{fill:#333;color:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .node rect,#mermaid-svg-DTKF7dj29jJtl7cB .node circle,#mermaid-svg-DTKF7dj29jJtl7cB .node ellipse,#mermaid-svg-DTKF7dj29jJtl7cB .node polygon,#mermaid-svg-DTKF7dj29jJtl7cB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DTKF7dj29jJtl7cB .node .label{text-align:center;}#mermaid-svg-DTKF7dj29jJtl7cB .node.clickable{cursor:pointer;}#mermaid-svg-DTKF7dj29jJtl7cB .arrowheadPath{fill:#333333;}#mermaid-svg-DTKF7dj29jJtl7cB .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DTKF7dj29jJtl7cB .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DTKF7dj29jJtl7cB .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-DTKF7dj29jJtl7cB .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-DTKF7dj29jJtl7cB .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DTKF7dj29jJtl7cB .cluster text{fill:#333;}#mermaid-svg-DTKF7dj29jJtl7cB .cluster span{color:#333;}#mermaid-svg-DTKF7dj29jJtl7cB div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-DTKF7dj29jJtl7cB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
利率模型
操作条件审查
用户操作
资产价格
interestRateModel
cToken
comptroller
account
priceOracle
关注
打赏
1654608207
查看更多评论
立即登录/注册

微信扫码登录

0.0820s