How to Bootstrap a Network
cometbft helm values
disable state sync
stateSync:
- enable: true
- rpcServers: "..."
+ enable: false
For the single sv config, you are now bootstraping a single sv so put your own keys in:
sv1:
+ keyAddress: "..."
+ nodeId: "..."
+ publicKey: "..."
scan helm values
add 1 value:
+ isFirstSv: true
sv helm values
remove joinWithKeyOnboarding
- joinWithKeyOnboarding:
- sponsorApiUrl: https://sv.sv-2.whatever.global.canton.network.digitalasset.com
Add initial helm values You may use these number values or choose other ones
+ isDevNet: true
+ onboardingType: found-dso
+
+ // see note below about the rest of these:
+ initialSynchronizerFeesConfig:
+ baseRateBurstAmount: 400000
+ baseRateBurstWindowMins: 20
+ extraTrafficPrice: 16.670000000000002
+ minTopupAmount: 200000
+ readVsWriteScalingFactor: 4
+ onboardingFoundingSvRewardWeightBps: 10000
the note below if you plan to practice HDMs in this environment, initialSynchronizerFeesConfig and onboardingFoundingSvRewardWeightBps cannot be set when you are deploying in the phase with migrating=true. Your SV app will fail to become healthy otherwise
You probably want to point decentralizedSynchronizerUrl at your own bootstrap node
- decentralizedSynchronizerUrl: https://sequencer-0.sv-2.whatever.global.canton.network.digitalasset.com
+ decentralizedSynchronizerUrl: https://sequencer-0.sv-0.my.domain.com
+ // or you could try cluster DNS:
+ // decentralizedSynchronizerUrl: 'http://global-domain-0-sequencer:5008',
other helm values you may need to consider
in all the places you use TARGET_CLUSTER / TARGET_HOSTNAME, you’ll want to point to your network’s base domain
for example, we’re basing our network on hub-scratch.global.canton.network.digitalasset.com, so we set:
targetCluster = hub-scratch
targetHostname = hub-scratch.global.canton.network.digitalasset.com
if you use walletSweep, you probably won’t use it in this scratch environment unless you also plan to deploy a validator
Infra-level things you might want to consider
IP allowlist: just set it to our devnet VPNs:
allowlist_json_modified = merge(local.allowlist_json, {
scratchnet : {
vpns : {
"Digital Asset" : local.allowlist_json["devnet"].vpns["Digital Asset"]
}
}
})
approved SV identities (which make their way into sv helm values): if you are deploying a single bootstraping node, you can set this to []
How to run through a HDM
if your network is size 1 all your votes go through immediately, so you can schedule a HDM for like 5 minutes in the future
New vote > Set DSO Rules Configuration > check “Set next scheduled domain upgrade”
then you should be able to just run through the process as normal