Issue To Be Solved
flow init is an effective way to instantiate a Cadence project so that developers can begin writing Cadence with a single command. However, in order to deploy their contracts, the developer must still create accounts and configure deployments in their flow.json, which can be burdensome.
(Optional): Suggest A Solution
To reduce friciton, flow init can create accounts & configure a default deployment for the generated starter contract. flow project deploy --network=testnet (or mainnet) would then work out-of-box. This gives developers a 0-configuration path to create and deploy a contract with 2 commands.
The account creation could be parallelized for both testnet/mainnet & the total slowdown shouldn't be more than ~8s. Users who wish to opt out should have the option to do so using a flag, e.g. --skip-deployments.
(Optional): Context
Reduce developer friction deploying contracts.
Issue To Be Solved
flow initis an effective way to instantiate a Cadence project so that developers can begin writing Cadence with a single command. However, in order to deploy their contracts, the developer must still create accounts and configure deployments in theirflow.json, which can be burdensome.(Optional): Suggest A Solution
To reduce friciton,
flow initcan create accounts & configure a default deployment for the generated starter contract.flow project deploy --network=testnet(or mainnet) would then work out-of-box. This gives developers a 0-configuration path to create and deploy a contract with 2 commands.The account creation could be parallelized for both testnet/mainnet & the total slowdown shouldn't be more than ~8s. Users who wish to opt out should have the option to do so using a flag, e.g.
--skip-deployments.(Optional): Context
Reduce developer friction deploying contracts.