onflow / flow-go

A fast, secure, and developer-friendly blockchain built to support the next generation of games, apps, and the digital assets that power them.
GNU Affero General Public License v3.0
532 stars 176 forks source link

Expose bootstrapping options with fvm #2812

Open bluesign opened 2 years ago

bluesign commented 2 years ago

Problem Definition

Currently there is no way to influence bootstrapping, I am trying to implement some options for emulator ( something like simpleContracts, to skip deploying often not used contracts) https://github.com/onflow/flow-emulator/issues/170

Proposed Solution

Adding fvm options to enable and disable deployments for the below parts would be amazing.

cc: @janezpodhostnik

janezpodhostnik commented 2 years ago

LockedTokens and Contract Audits could be removed without any problems, but I'm not sure if everything would still function without DKG, QC and Staking.

Is the main purpose of this to make bootstrapping faster? If so maybe we can make a measurement first and see what the expensive bits are.

bluesign commented 2 years ago

My main objective is to bootstrap emulator without those bits. https://github.com/onflow/flow-emulator/issues/170

sideninja commented 2 years ago

@janezpodhostnik I think this would mostly apply and be useful in the case of running the emulator. We would also have a use for that on Playground where we just want a clean state without any pre-deployed contracts as none are required. Could the bootstrap procedure be configurable?

github-actions[bot] commented 4 days ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.