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
Create 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
Smart Contract Steps
#define LIQUIDX
#define LIQUIDX
At 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.
If you are already using an existing contract such as tokenpegx
then this is already handled for you
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.json
update 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 thechainentry
table, thedappservices_contract
key will list the account name needed
chain_account for jungle3 is testdappxxxx
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
Jungle3 sidechain name: liquidjungl3
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
.
Ensure that you add @eosio.code
to the active permission level of the account. This can be done with the --add-code
flag on the cleos set account permission
command.
The side chain name is the account on the EOS mainnet that has registered the chain. You may find what this contract is by asking a DSP, a BP, or the chain team itself.
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