I want to know what is the procedure for preparing a protocol proposal.

From my understanding it goes like this.

Take the current Protocol src and make the changes in .ml files. Use a script to generate a new protocol version # and Name. - This part I was not able to give the protocol hash a desired prefix. Start a tezos node with genesis block. - I wasn't able to get ./tezos-node run --network sandbox to work with my proto source. Create a public testnet for the protocol. Provide bootstrappers / genesis bakers. begin running tests. write documentation about the proposal to share to tezos community. inject protocol hash with a baker during proposal period. vote yes for proposal during voting phase. furthur testing in adoption phase. migrate to new protocol.

I am sure there are some steps missing. If anyone has a step-by-step guide or would like to help me learn this procedure let me know.


1 Answer 1


The best documentation available for this is:

To summarize, you'll want to:

  • patch src/proto_alpha
  • use scripts/snapshot_alpha_and_link.sh to copy the protocol into a new directory with the final hash
  • create a branch with the result
  • start a test network with your branch, using tezos-client activate protocol to activate your protocol
  • inject your proposal on Mainnet
  • communicate about your proposal
  • Thank you Romain for the response. Ill keep trying.
    – Sebuh
    Dec 30, 2021 at 12:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.