我正在与在 Docker 中运行的私有以太坊网络进行集成测试。生成 DAG 需要几分钟时间,至少需要 2 Gb(epoch 0 和 1 为 1Gb)。我在自定义创世块 0x1 中设置了难度,但仍然很多。
我可以在本地机器上运行测试并挂载卷以/root/.ethash
在测试之间重用 DAG。但由于时间和存储限制,它阻止了我在 Bitbucket 上运行测试。
有什么方法可以避免为测试生成 DAG?
我正在与在 Docker 中运行的私有以太坊网络进行集成测试。生成 DAG 需要几分钟时间,至少需要 2 Gb(epoch 0 和 1 为 1Gb)。我在自定义创世块 0x1 中设置了难度,但仍然很多。
我可以在本地机器上运行测试并挂载卷以/root/.ethash
在测试之间重用 DAG。但由于时间和存储限制,它阻止了我在 Bitbucket 上运行测试。
有什么方法可以避免为测试生成 DAG?
Ethash 挖矿需要DAG。
私有测试网的一个快速解决方法是改用 Clique(PoA 共识)。
您可以像这样在 genesis.json 中配置 Clique:
"config": {
"clique": {
"period": 5,
"epoch": 30000
}
}
密封将每隔period
几秒进行一次。对网络或合同的运行没有其他影响。
唯一潜在的缺点是 Clique 至少需要 2 个节点。