How to Initialize a new network

After building a blockchain app on top of Cosmos SDK how do I go about initializing a new network where the base genesis file is set up that all validators will have to utilize, restrict the number of validators, set up the seed node, generate the first set of validators and implement other controls if needed?

Is there a general setup script that allows for this or documentation that provides the necessary instructions?

Have you seen the Gaia documentation for deploying your own testnet? https://hub.cosmos.network/master/gaia-tutorials/deploy-testnet.html

I’m not sure if this is documented so clearly in the Cosmos-SDK docs, but the process should be reasonably similar to Gaia for any SDK app. Gaia is the Cosmos Hub SDK app.