8
votes
Accepted
What is the purpose of Görli Testnet?
The Görli testnet is all about bringing cross compatibility across the different Ethereum clients.
Historically, the only cross client testnet was Ropsten, which used Ethereum's mainnet PoW algorithm....
7
votes
Clique: Genesis File
Use something like this:
{
"config": {
"chainId": <yourChainId>,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"...
7
votes
Difference between Geth POA Clique and Parity POA Aura
Since some moderator decided to delete the only answer to this question here it is again:
I do not have time to summarize it.
Good question!
I don't have an answer but I do have a link that ...
6
votes
Why is Geth ignoring --nodiscover?
I've had the same issue. It appears that --nodiscover is just disabling your node from running node-discovering algorithm to find peers to connect, but it doesn't prevent others from discovering and ...
6
votes
Accepted
Synchronisation failed, dropping peer; err="retrieved hash chain is invalid"; message loop
The problem was the signers does not recognize some past block became invalid.
As a solution, first I have updated geth version of signer nodes to equal or above to v1.8.16. Later, I have rewind the ...
6
votes
Accepted
How to set sealers in genesis block extradata for a Clique PoA network?
Clique extradata field, used to define PoA validators/sealers must match the following format:
First part: 32bytes vanity, meaning whatever you want here since it's expressed as an hex string (64 ...
5
votes
Accepted
What is the purpose of non-mining sealer nodes in clique POA private ethereum network with respect to the clique consensus
Non-mining sealer node which is also called non-validator nodes is just deployed so developers and users can connect with these nodes and can interact with the blockchain. As sealer nodes are critical ...
5
votes
Accepted
geth Clique consensus skip empty blocks
Geth doesn't have a predefined flag to achieve this but you can write and then --preload .js files in geth - I use this approach on our private network to only seal blocks when there are new ...
5
votes
Accepted
Setting up a private PoA Clique network with puppeth
You can create a new account from other network then import the Keystore file to your private network.
The steps I took was
Generate a Genesis.json file of a PoW private network from Puppeth
Geth ...
4
votes
How does the Clique PoA consensus protocol choose the next block-minting node?
All the details are documented here: https://github.com/ethereum/EIPs/issues/225
In short, the facts for a system with N sealers:
every block has a preferred sealer (in-turn signing), which will ...
4
votes
Accepted
Clique: New added signers won't show up on other nodes and mining new blocks stopped
eth.coinbase has to point to the sealing account.
If you want to remove again the second account, both accounts will have to propose the removal. You always need 50% + 1 vote, which is 2 for 2 ...
4
votes
Accepted
How to immediately include transactions into blocks if there is still space?
This issue has been solved by the go-ethereum team.
@karalabe:
The transaction should propagate across the network at the same time.
It however is not included in the current block, because ...
4
votes
How well do Proof of Authority (PoA) implementations of Geth (Clique) and Parity (Aura) scale?
This paper addresses detail comparison of Aura, Clique and PBFT.
The key difference in terms of latency according to this paper is :
In Aura, each block proposal requires two
message rounds: in the ...
4
votes
Accepted
How to configure the sealer account for a private Clique PoA network in Pantheon
Pantheon (0.8.1) has no account management. It will only create a server private key, which is stored unencrypted in datadir/key. This key will also be used as the sealer account in Clique-PoA. Hence ...
4
votes
In a clique consensus private network, what happens when a sealer (signer) stops mining
Clique requires int(N/2+1) sealers (where N is the number of sealers
defined in the genesis file — in extraData field) to be online in
order to run.
thx to Ivica Aracic for pointing out that ...
3
votes
geth Clique consensus skip empty blocks
All you have to do is set period:0 in the genesis.json file to achieve this sealing behavior.
3
votes
Accepted
Private PoA Network doesn't mine
The issue could be resolved by only defining two out of 5 authorized sealers in the genesis.json (using puppeth) and only starting them with --mine and the other 3 nodes without it. We also added some ...
3
votes
Ethereum Clique RPC Call | web3.clique undefined issue
clique API is a geth specific extension. You can enable this with --rpcapi clique
Then you can send the corresponding JSON RPC calls.
E.g.
curl -X POST --data '{"jsonrpc":"2.0","method":"...
3
votes
Accepted
geth/parity PoA consensus algorithms - did someone try to measure the performance?
yes, have a look at my current question: parity TPS optimization - please help = I could not really accelerate parity yet. For now, geth looks MUCH faster.
Feel free to run your own benchmarks, it ...
3
votes
Accepted
What number of confirmations is considered secure for Geth PoA Clique?
Since nobody has provided an answer so far, I'll try to summarize my research on this. If someone is able to provide a better "story", I will switch the checkmark to it.
After reading the pBFT paper ...
3
votes
parity TPS optimization - please help
I faced a similar problem a while ago, there was a bottleneck on the time it took transactions to reach the mempool, this was due to the way I was sending them and the fact that they were being signed ...
3
votes
Accepted
How Ethereum 2.0 and sharding will apply to private Ethereum with PoA consensus (Clique)?
Whether Ethereum 2.0 updates (London, etc) are even applicable to PoA chain? Ethereum 2.0 is a migration to PoS consensus algorithm, which seems odd as we already have PoA in the chain.
They are not.
...
2
votes
Accepted
Ethereum POA ( proof of Authority ) for private network
Have you created any sealer accounts prior to creating the genesis file?
if not, create at least one sealer account first by running the following:
geth account new --datadir /path/to/your/custom/...
2
votes
Ethereum POA ( proof of Authority ) for private network
Simply unlock your account with
personal.unlockAccount(eth.accounts[0], "Password", 86400)
Note: The last parameter is time to leave account unlocked in seconds.
Then, start the mining
miner....
2
votes
Modify Clique consensus on geth
I think the reason is this in Clique
Any change needs to be proposed by 50%+1 nodes in the network for it to come into effect. For 2 signers, 50%+1 is actually two. You need to have your second ...
2
votes
What do Ethhash and CliqueConfig refer to in the genesis config?
Ethash is the Proof-of-Work algorithm used by Ethereum. Design rationale and an explanation of the algorithm in pseudo-code can be found on the wiki (and has been discussed in previous questions - see:...
2
votes
Geth signing stops after a period of time
When you have 3 signers, at least 2 have to be online and have the eth.coinbase account unlocked to be able to continue sealing new blocks. Otherwise the sealing process stops with "Signed recently, ...
2
votes
Private PoA Network doesn't mine
Yo should pass --mine as parameter as shellcoder said. You can also send the order to mine from the geth client attached:
- geth attach node_directory/geth.ipc
> miner.start()
Remember that the ...
2
votes
Accepted
txpool on private chain not working unable to submit txn from non-miner
The miners were started with --gasprice 1, but the transaction didn't specify any gas price, so it defaulted to 0, which can also be seen in the calculation "90000 gas × 0 wei".
0 < 1, so the ...
2
votes
Accepted
Geth syncing times out
Yay, sweet self answer.
It seems that bootnodes and sealer nodes are quite different and incompatible. To bootstrap the system I tried to add other peers in the bootnode list. What it does is that the ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
clique × 79go-ethereum × 51
poa × 35
private-blockchain × 18
geth-clique × 11
proof-of-authority × 10
geth-debugging × 6
consensus × 5
openethereum × 5
web3js × 4
mining × 4
synchronization × 4
genesis × 4
aura × 4
testnets × 3
solidity × 2
transactions × 2
blockchain × 2
rinkeby × 2
hardforks × 2
mastering-ethereum × 2
benchmark × 2
gas × 1
events × 1
nodejs × 1