EOSIO Side Setup
Install Zeus if not installed, zeus is used to unbox or install all the necessary dependencies to compile and deploy the necessary contracts.
Ensure you're using node version 16, IPFS can be picky with other versions
mkdir atomictokenpeg
cd atomictokenpeg
zeus box create
zeus unbox atomictokenpeg
const name NFT_ACCOUNT = "bridgeassets"_n;
Compile contracts
zeus compile
Create 3 Kylin and 3 Mumbai Testnet accounts using these guides:
Kylin Accounts:
- Kylin token contract account (token being bridged
eosio.token.cpp
) - Kylin bridge contract account (
atomictokenpeg.cpp
) - Kylin test Account no contract
Mumbai Testnet Accounts
- ERC721 Contract (
atomicnft.sol
) with extensions- ERC721Enumerable
- ERC721Burnable
- ERC721Pausable
- Mumbai bridge contract Account (
atomictokenpeg.sol
) - Mumbai test Account no contract
export KYLIN_BRIDGE_ACCOUNT=maticnftbrdg
export KYLIN_TOKEN_ACCOUNT=bridgeassets
export KYLIN_TEST_ACCOUNT=natdeveloper
export KYLIN_ENDPOINT=https://kylin.eosn.io
Import our keys into zeus to deploy contracts to Kylin, or can use cleos as well
Zeus
cleos
zeus key import $KYLIN_BRIDGE_ACCOUNT --network kylin --active-private-key 5JB... --owner-private-key 5JB...
# import owner private key
cleos wallet import --private-key 5JB...
# import active private key
cleos wallet import --private-key 5JB...
Create contract deployment files to migrate contracts to Kylin, located in
./zeus_boxes/contract-migrations-extensions/models/contract-deployments/
zeus create contract-deployment atomictokenpeg $KYLIN_BRIDGE_ACCOUNT kylin
Migrate contracts to Kylin/Jungle
Zeus Migrate
cleos set contract
zeus migrate atomictokenpeg --network=kylin --creator $KYLIN_BRIDGE_ACCOUNT --no-reset --no-compile-all --creator-key=""
# if migration fails
cd contracts/eos
cleos -u $KYLIN_ENDPOINT set contract $KYLIN_BRIDGE_ACCOUNT atomictokenpeg
cleos -u $KYLIN_ENDPOINT set contract $KYLIN_TOKEN_ACCOUNT eosio.token
Stake for services
Now that we've prepared that part let's move onto staking DAPP for services. First stop is the faucet for some DAPP tokens here. Use the account that has the
atomictokenpeg
contract set to it.Stake to required services vRAM, LiquidHarmony Oracles, LiquidScheduler, LiquidLink
Using the DSP Portal we can see these packages, stake 10 DAPP to each (Amount to Stake):
Below we'll select each package then stake for it.
vRAM
LiquidHarmony
LiquidScheduler
LiquidLink
export PROVIDER=uuddlrlrbass
export PACKAGE=ipfs2
export SERVICE=ipfsservice1
export QUANTITY="10.0000 DAPP"
cleos -u $KYLIN_ENDPOINT push action dappservices selectpkg "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$PACKAGE\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
cleos -u $KYLIN_ENDPOINT push action dappservices stake "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$QUANTITY\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
export PROVIDER=uuddlrlrbass
export PACKAGE=oracleservi2
export SERVICE=oracleservic
export QUANTITY="10.0000 DAPP"
cleos -u $KYLIN_ENDPOINT push action dappservices selectpkg "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$PACKAGE\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
cleos -u $KYLIN_ENDPOINT push action dappservices stake "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$QUANTITY\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
export PROVIDER=uuddlrlrbass
export PACKAGE=cronservice2
export SERVICE=cronservices
export QUANTITY="10.0000 DAPP"
cleos -u $KYLIN_ENDPOINT push action dappservices selectpkg "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$PACKAGE\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
cleos -u $KYLIN_ENDPOINT push action dappservices stake "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$QUANTITY\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
export PROVIDER=uuddlrlrbass
export PACKAGE=sign
export SERVICE=signfndspsvc
export QUANTITY="10.0000 DAPP"
cleos -u $KYLIN_ENDPOINT push action dappservices selectpkg "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$PACKAGE\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
cleos -u $KYLIN_ENDPOINT push action dappservices stake "[\"$KYLIN_BRIDGE_ACCOUNT\",\"$PROVIDER\",\"$SERVICE\",\"$QUANTITY\"]" -p $KYLIN_BRIDGE_ACCOUNT@active
Use the command line login option, top right, this will auto-create the cleos commands for you!
Now let's head over to the EVM side.
Last modified 1yr ago