-
Notifications
You must be signed in to change notification settings - Fork 848
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Decouple PoW from ethash Signed-off-by: Antoine Toulme <[email protected]> * Address code review comments, create a dev network for ecip1049, prepare for keccak hasher Signed-off-by: Antoine Toulme <[email protected]> * Add PoW function and a few simple tests as test vectors Signed-off-by: Antoine Toulme <[email protected]> * Make the PoWHasher hash function a bit easier to understand Signed-off-by: Antoine Toulme <[email protected]> * simplify and call out the code of the keccak hash function Signed-off-by: Antoine Toulme <[email protected]> * support fixed difficulty for keccak mining Signed-off-by: Antoine Toulme <[email protected]> * Fix the dev network config Signed-off-by: Antoine Toulme <[email protected]> * Add comment to KeccakHasher Signed-off-by: Antoine Toulme <[email protected]> * Increase fixed difficulty for the ecip1049 dev network to produce hashes a bit less often Signed-off-by: Antoine Toulme <[email protected]> * spotless Signed-off-by: Antoine Toulme <[email protected]> * fix test expectations Signed-off-by: Antoine Toulme <[email protected]> * Fix javadoc issue Signed-off-by: Antoine Toulme <[email protected]> * add acceptance test using keccak mining Signed-off-by: Antoine Toulme <[email protected]> * add changelog entry Signed-off-by: Antoine Toulme <[email protected]> * Address code review comments Signed-off-by: Antoine Toulme <[email protected]>
- Loading branch information
Showing
91 changed files
with
1,147 additions
and
492 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
67 changes: 67 additions & 0 deletions
67
...rc/test/java/org/hyperledger/besu/tests/acceptance/mining/KeccakMiningAcceptanceTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/* | ||
* Copyright ConsenSys AG. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | ||
* the License. You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | ||
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations under the License. | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
*/ | ||
package org.hyperledger.besu.tests.acceptance.mining; | ||
|
||
import org.hyperledger.besu.cli.config.NetworkName; | ||
import org.hyperledger.besu.tests.acceptance.dsl.AcceptanceTestBase; | ||
import org.hyperledger.besu.tests.acceptance.dsl.account.Account; | ||
import org.hyperledger.besu.tests.acceptance.dsl.node.Node; | ||
import org.hyperledger.besu.tests.acceptance.dsl.node.configuration.BesuNodeConfigurationBuilder; | ||
|
||
import org.junit.Before; | ||
import org.junit.Test; | ||
|
||
public class KeccakMiningAcceptanceTest extends AcceptanceTestBase { | ||
|
||
private Node minerNode; | ||
|
||
@Before | ||
public void setUp() throws Exception { | ||
minerNode = | ||
besu.create( | ||
new BesuNodeConfigurationBuilder() | ||
.name("miner1") | ||
.devMode(false) | ||
.network(NetworkName.ECIP1049_DEV) | ||
.miningEnabled() | ||
.jsonRpcEnabled() | ||
.webSocketEnabled() | ||
.build()); | ||
cluster.start(minerNode); | ||
} | ||
|
||
@Test | ||
public void shouldMineTransactions() { | ||
final Account sender = accounts.createAccount("account1"); | ||
final Account receiver = accounts.createAccount("account2"); | ||
minerNode.execute(accountTransactions.createTransfer(sender, 50)); | ||
cluster.verify(sender.balanceEquals(50)); | ||
|
||
minerNode.execute(accountTransactions.createIncrementalTransfers(sender, receiver, 1)); | ||
cluster.verify(receiver.balanceEquals(1)); | ||
|
||
minerNode.execute(accountTransactions.createIncrementalTransfers(sender, receiver, 2)); | ||
cluster.verify(receiver.balanceEquals(3)); | ||
|
||
minerNode.execute(accountTransactions.createIncrementalTransfers(sender, receiver, 3)); | ||
cluster.verify(receiver.balanceEquals(6)); | ||
|
||
minerNode.execute(accountTransactions.createIncrementalTransfers(sender, receiver, 4)); | ||
cluster.verify(receiver.balanceEquals(10)); | ||
|
||
minerNode.execute(accountTransactions.createIncrementalTransfers(sender, receiver, 5)); | ||
cluster.verify(receiver.balanceEquals(15)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,5 +23,6 @@ public enum NetworkName { | |
CLASSIC, | ||
KOTTI, | ||
MORDOR, | ||
YOLO_V3 | ||
YOLO_V3, | ||
ECIP1049_DEV | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.