Ethash DAG(以太坊ethash算法的数据集)

原文https://blog.csdn.net/angciyu/article/details/80433255

大家平时在玩 以太坊geth的时候,经常会看到Ethash DAG,比如“Disk storage enabled for ethash DAGs”,就是说允许Ethash DAG存储在磁盘中,那么它到底是什么东东?

 

Ethash是PoW系统,它需要一个大约1GB的数据集,它就是DAG。这通常需要几个小时才能生成,所以我们倾向于在硬盘中存储它。希望将DAG存储在硬盘中的客户端应符合下面的规范,以便与其他客户端共享缓存:

存储位置

DAG应该存储在一个1GB的转储文件中,存储在一个文件中:

  • Mac / Linux中 $(HOME)/.ethash/full-R<REVISION>-<SEEDHASH>
  • windows: $(HOME)/Appdata/Local/Ethash/full-R<REVISION>-<SEEDHASH>

其中:

  • <REVISION>是一个十进制整数;
  • <SEEDHASH> 是16个小写十六进制数字,指定了纪元的种子散列的前8个字节。

这个目录中可能有多个这样的DAG文件,取决于用户是否及时删除了那些过时的。

内容格式

每个文件应该以8字节的幻数开始,0xfee1deadbaddcafe以little-endian格式(即字节fe ca dd ba ad de e1 fe)写入。

Ethash算法期望DAG作为uint32s(4字节无符号整数)的二维数组,具有维数(n×16),其中n是大数。(n从16777186开始并从那里增长)。在幻数之后,DAG的行应该顺序写入文件中,在行之间没有分隔符,并且每个unint32以little-endian格式编码。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值