分析go项目源码,采用plantuml自动生成uml类图_PATH:ATH价格

使用工具go-package-plantuml分析go项目源码,自动生成uml类图

plantuml工具介绍

plantuml支持将“文本描述的UML类图”转换成图片形式的类图等。

类图使用例子如下

@startuml

慢雾xToken被黑事件分析:两个合约分别遭受“假币”攻击和预言机操控攻击:据慢雾区消息,以太坊 DeFi 项目 xToken 遭受攻击,损失近 2500 万美元,慢雾安全团队第一时间介入分析,结合官方事后发布的事故分析,我们将以通俗易懂的简讯形式分享给大家。

本次被黑的两个模块分别是 xToken 中的 xBNTa 合约和 xSNXa 合约。两个合约分别遭受了“假币”攻击和预言机操控攻击。

一)xBNTa 合约攻击分析

1. xBNTa 合约存在一个 mint 函数,允许用户使用 ETH 兑换 BNT,使用的是 Bancor Netowrk 进行兑换,并根据 Bancor Network 返回的兑换数量进行铸币。

2. 在 mint 函数中存在一个 path 变量,用于在 Bancor Network 中进行 ETH 到 BNT 的兑换,但是 path 这个值是用户传入并可以操控的

3. 攻击者传入一个伪造的 path,使 xBNTa 合约使用攻击者传入的 path 来进行代币兑换,达到使用其他交易对来进行铸币的目的。绕过了合约本身必须使用 ETH/BNT 交易对进行兑换的限制,进而达到任意铸币的目的。

二)xSNXa 合约攻击分析

1. xSNXa 合约存在一个 mint 函数,允许用户使用 ETH 兑换 xSNX,使用的是 Kyber Network 的聚合器进行兑换。

2. 攻击者可以通过闪电贷 Uniswap 中 ETH/SNX 交易对的价格进行操控,扰乱 SNX/ETH 交易对的报价,进而扰乱 Kyber Network 的报价。从而影响 xSNXa 合约的价格获取

3. 攻击者使用操控后的价格进行铸币,从而达到攻击目的。

总结:本次 xToken 项目被攻击充分展现了 DeFi 世界的复杂性,其中针对 xSNXa 的攻击更是闪电贷操控价格的惯用手法。慢雾安全团队建议 DeFi 项目开发团队在进行 DeFi 项目开发的时候要做好参数校验,同时在获取价格的地方需要防止预言机操控攻击,可使用 Uniswap 和 ChainLink 的预言机进行价格获取,并经过专业的安全团队进行审计, 保护财产安全。详情见官网。[2021/5/13 21:57:48]

Class11<|.Class12

分析 | 减半未推动价格上涨或使矿工及矿机商面临困境:12月23日,LongHash发文《比特币的减半如何导致矿难》称,由于人们对比特币减半会推动价格上涨的普遍期待,很多人已投身采矿业,购买挖矿设备挖矿,这已导致比特币算力持续增长。但根据历史记录,比特币价格和减半并无直接明确相关性。而算力持续增长,已使得矿工挖矿成本增加,没有理由相信增加的采矿成本会推高价格。价格由供求关系决定,若需求低,不管开采成本是多少,价格都有可能下降。算力持续上涨,矿工奖励又将减半,矿工面临压力,同时这种压力也会给矿机制造商带来压力。鉴于目前顶级矿商比特大陆、嘉楠耘智等各自面临困境,若减半未能推动价格上涨,对矿工和矿机制造商而言都将带来灾难。[2019/12/25]

Class13-->Class14

分析丨金色盘面:XRP三角震荡区间 等待选择方向:金色盘面综合分析:XRP在三角区间内震荡,成交量持续缩量,等待选择方向。市场情绪偏空,注意风险。[2018/8/10]

@enduml

安装go-package-plantuml

go-package-plantuml项目代码地址

下载和编译项目:

gogetgit.oschina.net/jscode/go-package-plantuml

gobuildgit.oschina.net/jscode/go-package-plantuml

使用go-package-plantuml分析go项目,生成uml类图描述文件

./go-package-plantuml--codedir/appdev/gopath/src/github.com/contiv/netplugin\--gopath/appdev/gopath\--outputfile/tmp/result\--ignoredir/appdev/gopath/src/github.com/contiv/netplugin/vendor

参数说明--codedir要分析的代码目录--gopathGOPATH环境变量目录--outputfile分析结果保存到该文件--ignoredir不需要进行代码分析的目录

使用plantuml生成类图

下载plantuml

提示:如果系统没有安装jdk,需要先安装jdk;yuminstall-yjava

执行下面命令生成图片形式的类图/tmp/uml.png

java-jarplantuml.jar/tmp/text.uml

如果想生成svg格式的文件,使用-tsvg参数。svg格式的文件,使用浏览器打开,可以搜索类名。

java-jarplantuml.jar/tmp/text.uml-tsvg

viapengrk

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:0ms0-0:430ms