如何避免为测试生成以太坊DAG?

时间:2018-05-31 18:42:28

标签: java docker integration-testing ethereum geth

我正在与Docker中运行的私有以太坊网络进行集成测试。生成DAG需要几分钟和至少2 Gb(1Gb用于纪元0和1)。我在自定义创世块0x1中设置了难度,但它仍然很多。

我可以在本地计算机上运行测试并将卷装载到/root/.ethash以在测试之间重用DAG。但由于时间和存储限制,它阻止我在Bitbucket上运行测试。

有没有办法避免为测试生成DAG?

1 个答案:

答案 0 :(得分:1)

Ethash挖掘needs DAG。

私有测试网的快速解决方法是使用Clique(PoA共识)。

您可以在genesis.json中配置Clique,如下所示:

  "config": {

    "clique": {
      "period": 5,
      "epoch": 30000
    }
  }

密封将以period秒的固定间隔发生。对网络或合同的运作没有其他影响。

唯一潜在的缺点是Clique至少需要2个节点。