Contract Origination
The smart contract is written in Archetype language. Go to the Smart contract section for a detailed presentation.
In VSCode, open the terminal and enter the following command line to originate (deploy) the smart contract is:
./contracts/deploy.sh
cat ./contracts/deploy.sh
#! /bin/bash
COINS="XPA XLD XNY XRO XTK XAT XMO XSD XRI"
addrs=()
for coin in $COINS; do
completium-cli deploy coin_fa12.arl --named $coin > /dev/null
addr=`completium-cli show contract $coin | sed 's/ *$//g'`
addrs+=(@$addr)
echo $coin "deployed: " $addr
done
printf -v params '%s,' "${addrs[@]}"
completium-cli deploy dex.arl --init "(${params%,})" --named dex > /dev/null
echo "dex deployed, done"
The originate command triggers two operations:
- the contract compilation to Michelson with archetype compiler
- the Michelson contract origination with Tezos client
The contract may then be referred to as dex
in future interactions.
If you are using the preset Gitpod environement, note that completium-cli is pre-installed with the admin account. See this section for more information.
The address of the newly originated contract is visible with this command:
completium-cli show contract dex
A smart contract address starts with KT1
. In the situation above, the new contract's address is KT1UTJoUXgyXPW34wca92dGfiP4tjQyrG64f
.
You may got to Better call dev contract explorer to check it:
The new contract address needs to be set in the DApp's src/settings.js
file, like for example:
export const dexContract = "KT1MNgjnJg7c2WmnCwCAkhmcAGbrrPMoxcSa"