Comments (7)
Great job @davebryson. I was just struggling to understand how the genesis file was created. It seems like the Running.md has some mistakes. Am I correct?
According to the genesis.json file the following is correct:
key1 vote key 1, block maker 1
key2 block maker 2
key3 vote key 2
key4 vote key 3
key5 vote key 4
from quorum.
@davebryson That is a useful tool. Thank you!
@A92hm Good catch. The roles are actually different (see https://github.com/jpmorganchase/quorum-examples/blob/master/examples/7nodes/start.sh.) We will update the documentation.
from quorum.
@patrickmn Yes according to start.sh
key1 observer
key2 maker
key3 voter
key4 voter
key5 voter
but then why is the key 1
(i.e 0xed9d02e382b34818e88b88a309c7fe71e65f419d
) is included in the genesis.json block as a voter 0x29ecdbdf95c7f6ceec92d6150c697aa14abeb0f8595dd58d808842ea237d8494
and as a block maker 0xaca3b76ed4968740c3180dd7fa37f4aa229a2c758a848f53920e9ccb4c4bb74e
from quorum.
Also it seems like you're allocating ether for key1: 0xed9d02e382b34818e88b88a309c7fe71e65f419d
twice on lines 20 and 32
These were the only things that threw me off a bit, otherwise great job with the software and documentation. Simply AMAZING.
I don't mind making a PR with fixes, let me know.
from quorum.
@A92hm note that the genesis.json file is used to specify which keys are allowed to vote/make blocks, but actually when you start up your node you don't have to set your node to have any role. Equally you don't have to set your node to have the role that is defined in the genesis file, but of course if you start your node as a voter but have not configured your key to be a voter in the genesis file then it will not be able to vote. This is why you see key1 being configured as a voter&maker but not actually run as those. Thanks for the catch on the duplicate ether balance, that has now been fixed in the quorum-examples repo and we'll update the running.md documentation accordingly too. We're also going to better document the genesis file within the wiki.
@davebryson thanks very much for the tool! We would like to link to it from the Quorum repo if you don't have any objections?
from quorum.
@tylobban No objections at all.
from quorum.
Hi all, is that possible we can add a new node to the network which is not defined initially in the genesis json ?
from quorum.
Related Issues (20)
- Berlin fork causing panic when accessing private state.
- QBFT Block time < 1 seconds HOT 3
- Memory usage of non-validator nodes grows indefinitely, leading to OOM and unclean shutdown HOT 1
- Panic randomly occurs on node shutdown, leading to unclean shutdown HOT 1
- Fatal: Consensus not specified. Exiting!! HOT 1
- Is the Quorum Network Remix plugin not available anymore? HOT 2
- QBFT: maxRequestTimeoutSeconds triggers ROUND-CHANGE storm after some rounds and the cluster cannot recover even when all nodes are back
- Role level 2: can deploy, cannot transact.
- Debug tracing via debug_traceCall endpoint does not work on private smart contracts HOT 1
- Upgrade geth to at least 1.10.20
- Bootnodes in genesis file
- Add function to toggle on/off IP Validation in Enhanced Permissioing NodeManager HOT 1
- Can we leverage Privacy Enhancements feature along with Privacy marker transactions (PMTs)? HOT 1
- The Round Change continues indefinitely, BUT no new block is being generated. HOT 3
- Need to create peer node on another VM and enable mine too
- highest solidity compiler compatible with quorum
- contract creation code storage out of gas
- EOF while setting up TLS connection between qlight.server and qlight.client
- net.peerCount is 0 for QBFT private network with 5 validator nodes
- The Quorum network built on the AKS cluster with Quorum-Kubernetes repeats the round change and causes block generation to stop HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quorum.