Auctioning App
Deploying an auctioning App using the Andromeda CLI.
If unfimailar with the steps of deploying an app, go back to the first example where we explain in detail all the different parts of deploying an App.
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.
For this example, we will be building a simple auction app. We only need two components/ADOs:
We will perform the following steps:
- Mint an NFT
- Send it to auction starting an auction on it
- Place bids on the NFT
- End the auction
- Claim the funds and transfer the NFT to the new owner
Our contracts use a “ado db” contract to store code ids and a “registry” or "primitive" to store important contract addresses (such as the ado db). The addresses for both can be found in the deployed contracts section. In the contracts discussed below the references to “primitive contract” are a reference to the “registry” contract.
Since both the “registry” and “ado db” contracts have already been instantiated, all what is left for us to do is make our App.
For this app we would need only 2 components:
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.
The primitive_contract and modules fields can be omitted without affecting the result.
{
"name":"Auction Sale",
"symbol":"AS",
"minter":{
"identifier":"juno1zkpthqsz3ud97fm6p4kxcra8ae99jgzauugyem"
}
}