ava-labs / avalanche-cli

Other
105 stars 67 forks source link

Unified `avalanche blockchain deploy` flow #2318

Closed meaghanfitzgerald closed 1 day ago

meaghanfitzgerald commented 3 weeks ago

Goal

Support PoS and PoA L1 deployment via avalanche blockchain deploy.

Details

On acp-77 branch, the flow to create either a PoA or PoS L1 with the default Validator Manager Contracts should be the essentially identical. When a user is asked which mechanism they would like to use for validator management, their input will determine whether the genesis file is fed either PoA or PoS proxy-implementation contracts to be encoded.

  1. If PoA, the user should be prompted to provide an "owner" address that is required by the PoA contract for future validator addition and removal.

  2. PoS example supported by CLI should be NativeTokenStakingManager. If PoS, the contract is given defaults for the following values:

To Note

regardless of the implementation, the initial validators added as part of ConvertSubnetTx are treated as PoA and are not eligible for staking rewards, so no additional prompting needed.

meaghanfitzgerald commented 3 weeks ago

Reference implementation, POC

meaghanfitzgerald commented 1 day ago

closed by https://github.com/ava-labs/avalanche-cli/pull/2140