{"content":{"title":"[原创]以太坊私链，如何调整出块速度","body":"## 以太坊私链的共识算法有2种：\r\n1）PoW (Proof of Work，工作量证明)\r\n2）PoA (Proof of Authority，权威证明)\r\n\r\n目前，以太坊ethash和clique两个共识引擎分别对应这2种共识算法。\r\n\r\n对于PoA，出块速度(出块间隔，单位：秒)可以直接由创世块文件里的clique字段里的period字段来指定，如指定出块间隔为5秒\r\n```\r\n“clique”: {\r\n“period”: 5,\r\n“epoch”: 30000\r\n}\r\n```\r\n我们可以使用puppeth这个工具来帮助我们生成创世块文件，它会一步一步地引导我们如何生成创世块文件。完全编译以太坊的代码，就会产生puppeth这个工具。\r\n\r\n对于PoW，既然是工作量证明，那么出块的快慢就取决于cpu挖矿难度。只要调整一下创世块文件里的difficulty字段的数值，就能调整出块速度的快慢。difficulty的数值越大，表示cpu挖矿难度越大，那么出块就越慢。反之，difficulty的数值越小，表示cpu挖矿难度越小，那么出块就越快。\r\n\r\n基于POW共识算法的以太坊私链的创世块文件的例子如下：\r\n```\r\n{\r\n  \"config\": {\r\n        \"chainId\": 10,\r\n        \"homesteadBlock\": 0,\r\n\t\"eip150Block\":1,\r\n        \"eip155Block\": 1,\r\n        \"eip158Block\": 1\r\n    },\r\n  \"alloc\"      : {},\r\n  \"coinbase\"   : \"0x0000000000000000000000000000000000000000\",\r\n  \"difficulty\" : \"0x08000\",\r\n  \"extraData\"  : \"\",\r\n  \"gasLimit\"   : \"0x1000000000000000\",\r\n  \"nonce\"      : \"0x0000000000000042\",\r\n  \"mixhash\"    : \"0x0000000000000000000000000000000000000000000000000000000000000000\",\r\n  \"parentHash\" : \"0x0000000000000000000000000000000000000000000000000000000000000000\",\r\n  \"timestamp\"  : \"0x00\"\r\n}\r\n```\r\n更多的技术文章，可以参考我的学习笔记\r\n\r\n------------------------------------------------------------------------------\r\n**我是powervip**\r\n\r\n**我的公众号：区块链战斗机\r\n我的网盘：https://pan.baidu.com/s/1frOZuMxdp5IVaY94ZdoN-A\r\n我的知乎：https://www.zhihu.com/people/powervip\r\n我的学习笔记：www.study.win**\r\n\r\n\r\n*如果你觉得这篇文章写得还可以，请帮忙点个赞，谢谢！著作权归作者所有。如需转载，请注明原文出处并保留原文链接。*\r\n​\r\n*你的鼓励，我的动力！*"},"author":{"user":"https://learnblockchain.cn/people/5018","address":null},"history":"QmSj6HMpbjjKS9un57uinTFvHUdSCCoasddtKyTNRn49w3","timestamp":1669368771,"version":1}