CosmWasm Contracts
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 as 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 take advantage of Stargaze’s Developer Royalties. Developer Royalties enable developers to earn 50% 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. Smart contracts on Stargaze are required to be open source. Non-contract code such as frontend and backend may be private.
Contact the Core Team for a review and audit of your code.
After validating the project with the community and team, submit a governance proposal with the contract code. See the following command to submit your proposal:
starsd tx gov submit-proposal wasm-store -h
.
How do I obtain a deploy address for permissionless contract deployment?
Trusted development teams can request a whitelisted deployment address via governance, following a process similar to contract deployment.
Submit a Commonwealth post detailing the team's background, the purpose for obtaining the deployment address, and the benefits to Stargaze. Here's an example.
Allow ample time for discussion. A minimum of one week.
Submit the proposal to chain governance. Here's an example.
Join Discord for more information on deploying on testnet. The testnet is completely permissionless. A faucet is also available in Discord.
Developer Royalties cannot be combined with bounties or Community Pool funding. For example, if you receive Community Pool funding for your contract, it cannot also receive Developer Royalties.
Last updated