Smart Contract Steps
Smart contract commands
Unbox LiquidX box
We will unbox the liquidx box to give us all of the logic, contracts, and unit tests
mkir liquidx; cd liquidx
zeus unbox liquidxCreate Contract
Create smart contract, or if you're using thise guide as a part of another guide, you can skip this and go to the compiling section
export MY_CONTRACT_NAME=
zeus create contract $MY_CONTRACT_NAME
cd zeus_boxes/contracts/eos
# edit MY_CONTRACT_NAME.cpp
cd ../../../Smart Contract Steps
#define LIQUIDX
#define LIQUIDXAt the smart contract level, the liquidx box must be unboxed and #define LIQUIDX must be added at the top of the smart contract which uses the DAPP Network services.
Adding files to Zeus
2 files must be added and 2 files deleted as to not conflict
liquidx-mappings/sidechain_name.dappservices.json
liquidx-mappings/sidechain_name.dappservices.jsonupdate sidechain_name to chain_account
/zeus_boxes/liquidx/models/liquidx-mappings/sidechain_name.dappservices.json - this maps the dappservices account on the mainnet to the dappservicex account name on the new chain
sidechain_name- EOS mainnet account that has registered the chainmainnet_account- dappservices account on EOS mainnetchain_account- dappservicex account on new chain - enter the sidechain_name as the scope for thechainentrytable, thedappservices_contractkey will list the account name needed
eosio-chains/${CHAIN_ACCOUNT}.json
eosio-chains/${CHAIN_ACCOUNT}.json/zeus_boxes/liquidx/models/eosio-chains/${CHAIN_ACCOUNT}.json - this maps the chainβs configuration details
dsp_port- port DSP gateway runs onwebhook_dapp_port- webhook portnodeos_host- nodeos host addressnodeos_port- nodeos portsecured- bool true/false for http/https for the nodeos addressnodeos_state_history_port- port for nodeos state history websocketnodeos_p2p_port- nodeos peer 2 peer portnodeos_endpoint- full nodeos endpointdemux_port- demux portname- name of the chain accountlocal- bool whether chain is local or not
Remove files:
Removing the following if they exist:
Compile Contract Again with new files
In order for the compiler to know which network the contract intends to be deployed on the --sidechain flag must be passed to zeus compile --sidechain $SIDE_CHAIN_NAME.
dappservices config file
Now let's see why we did all of that, in the ./contracts/eos/dappservices/dappservices.config.hpp we see:
If you see _TEST1 at all above, something is wrong and likely you need to remove the files suggested above.
Set Contract
Last updated
Was this helpful?