Hi team,
I am reviewing the process of deploying a generic Besu domain. So from what the script ruh.sh advanced
it shows
- bring up a Besu network
- bring up a canton container without running the canton process
- use canton script
sequencer_deployment.canton
to use wallet of seq1 to deploy the bytecode on the besu. the contract address will be used for bringing up the canton process. - run the canton process with the seq1 configuration with contract address. the bootstrap is done with domain manager, seq1 and mediator1. note that seq2 is not bootstrapped yet.
- use seq1 to authorize wallet of seq2
- onboard seq2 to the domain using
mydomain.setup.onboard_new_sequencer
- connect participant nodes to sequencers
My understanding of seq1 and seq2 are implemented separately due to the authorization is enabled on the sequencer contract. In step 3, the wallet of seq1 is already authorized, and step 5 is required before seq2 can join the domain.
There are several questions
(a) in my network I already have several sequencers and their wallets are known. is it possible to authorize them before we run the canton process with all sequencer configuration, such that we don’t need to do this one-by-one.
(b) i don’t think the current canton command/script supports this. Instead I send ethereum transactions directly to the besu network to deploy the sequencer contract and invoke authorizeAccount
to authorize those wallets. is this ok?
(c) In particular, inside the code the function authorizeAccount
there is an argument traceParent. What shall it be if I invoke transaction directly instead of using canton command/script?
Thanks for your advice.
kc