@@ -41,8 +41,8 @@ The bootstrapping will generate the following information:
4141
4242#### Root Blocks for Collector clusters
4343_ Each cluster_ of collector nodes needs to have its own root Block and root QC
44- * Root ` ClusterBlockProposal `
45- * Root QC from cluster for their respective ` ClusterBlockProposal `
44+ * Root ` cluster.Block `
45+ * Root QC from cluster for their respective ` cluster.Block ` : votes from collector nodes for the root block
4646
4747
4848# Usage
@@ -97,6 +97,8 @@ Each input is a config file specified as a command line parameter:
9797* folder containing the ` <NodeID>.node-info.pub.json ` files for _ all_ partner nodes (see ` .example_files/partner-node-infos ` )
9898* ` json ` containing the weight value for all partner nodes (see ` ./example_files/partner-weights.json ` ).
9999 Format: ``` <NodeID>: <weight value> ```
100+ * random seed for the new collector node clustering and epoch RandomSource (min 32 bytes in hex encoding)
101+ Provided seeds should be derived from a verifiable random source, such as the previous epoch's RandomSource.
100102
101103#### Example
102104``` bash
@@ -121,6 +123,19 @@ go run . keygen \
121123
122124```
123125
126+ ``` bash
127+ go run . cluster-assignment \
128+ --epoch-counter 0 \
129+ --collection-clusters 1 \
130+ --clustering-random-seed 00000000000000000000000000000000000000000000000000000000deadbeef \
131+ --config ./bootstrap-example/node-config.json \
132+ -o ./bootstrap-example \
133+ --partner-dir ./example_files/partner-node-infos \
134+ --partner-weights ./example_files/partner-weights.json \
135+ --internal-priv-dir ./bootstrap-example/keys
136+
137+ ```
138+
124139``` bash
125140go run . rootblock \
126141 --root-chain bench \
@@ -131,15 +146,19 @@ go run . rootblock \
131146 --epoch-length 30000 \
132147 --epoch-staking-phase-length 20000 \
133148 --epoch-dkg-phase-length 2000 \
149+ --random-seed 00000000000000000000000000000000000000000000000000000000deadbeef \
134150 --collection-clusters 1 \
135151 --protocol-version=0 \
136152 --use-default-epoch-timing \
137- --epoch-commit-safety-threshold=1000 \
153+ --kvstore-finalization-safety-threshold=1000 \
154+ --kvstore-epoch-extension-view-count=2000 \
138155 --config ./bootstrap-example/node-config.json \
139156 -o ./bootstrap-example \
140157 --partner-dir ./example_files/partner-node-infos \
141158 --partner-weights ./example_files/partner-weights.json \
142- --internal-priv-dir ./bootstrap-example/keys
159+ --internal-priv-dir ./bootstrap-example/keys \
160+ --intermediary-clustering-data ./bootstrap-example/public-root-information/root-clustering.json \
161+ --cluster-votes-dir ./bootstrap-example/public-root-information/root-block-votes/
143162```
144163
145164``` bash
@@ -187,14 +206,6 @@ go run . finalize \
187206* file ` dkg-data.pub.json `
188207 - REQUIRED at NODE START by all nodes
189208
190- * file ` <ClusterID>.root-cluster-block.json `
191- - root ` ClusterBlockProposal ` for collector cluster with ID ` <ClusterID> `
192- - REQUIRED at NODE START by all collectors of the respective cluster
193- - file can be made accessible to all nodes at boot up (or recovery after crash)
194- * file ` <ClusterID>.root-cluster-qc.json `
195- - root Quorum Certificate for ` ClusterBlockProposal ` for collector cluster with ID ` <ClusterID> `
196- - REQUIRED at NODE START by all collectors of the respective cluster
197- - file can be made accessible to all nodes at boot up (or recovery after crash)
198209
199210## Generating networking key for Observer
200211
0 commit comments