Crowdfunding App
Deploying a crowdfunding App using the Andromeda CLI.
We have covered earlier the App contract and its messages. We briefly discussed the steps to deploying an App. In this section we will be providing an example of how to deploy an App using the Andromeda CLI.
If any of the messages in this example do not work, you might want to cross reference the messages with the ADO specific section which always contains the latest ADO versions to make sure they are correct. Other than that the logic will remain the same.
The examples use uni-5 testnet. As of now, Juno has upgraded to uni-6. The steps of building the App remain the same.
We already have a deployed the ADO DB contract with saved code IDs of the ADOs and a Primitive/Registry contract linked to it. These addresses can be found in Deployed Contracts section. This means that to deploy an App we only need to instantiate it through the CLI.
For this example we will be building a simple crowdfunding app. We will be creating NFTs that are sold in a crowdfund and then the proceeds are distributed between two vaults through a splitter, one as a central vault for the project and a yield vault. If the crowdfund does not reach the threshold of minimum tokens sold, the money is refunded to the buyers.
For this example, our App needs to have 5 components/ADOs:
Although not necessary, if you are unfamiliar with these ADOs, it is suggested to read through each of the them before deploying an app.
Let us first start by representing the instantiation message for each of our ADOs:
Keep in mind that the app takes these messages as base64 encoded.
Some of your base64 messages will not be the exact same as the ones in the example as you will be using your own addresses.
Don't forget to set the minter as the crowdfund ADO.
{
"name":"Example App",
"symbol":"SMMT",
"minter":{
"identifier":"crowdfund"
}
}