Stargaze runs community-governed CosmWasm. All this means is that custom smart contracts have to be uploaded via governance.
Why community-governed CosmWasm?
Because Stargaze has zero gas, smart contracts have to be designed to not exceed compute or storage limits.
Without going through governance, it would be easy to upload a malicious contract that exploits having zero gas (such a state bloat attack). By going through governance, custom contracts can be reviewed by the community and core team.
How do I write a contract that works with Stargaze?
Write your contract, deploy it on testnet, and make sure it works as intended.
If the contract charges any fees, be sure to use Stargaze’s developer-incentivized Fair Burn mechanism. Developers can earn 10% of all fees that go through their custom contracts.
Submit a Commonwealth post, explaining what your contract does, with a link to the source code.
After validating the project with the community, submit a governance proposal with the contract code. See the following command to submit your proposal: starsd tx gov submit-proposal wasm-store -h.
Join Discord for more information on deploying on testnet. The testnet is completely permission-less. A faucet is also available in Discord.