Zeus runs on the Mocha / Chai framework. In the below example, we will run ./tests/ethtokenpeg.spec.js.
This test runs:
  • block producing state history nodeos instance
  • ETH node via gnache
  • IPFS node
  • PostgreSQL database to handle service requests
  • 2 full DSPs with
    • demux (services listening to nodeos web socket)
    • DSP API (default:13115)
    • All DSP related services (vRAM, LiquidHarmony, LiquidScheduler, LiquidLink)
  • Setup all system contracts (eosio.bpay, eosio.names, eosio.token, eosio.ram, eosio.ramfee, eosio.saving, eosio.msig, eosio.stake, and eosio.vpay)
  • creates and manages all private keys ~/.zeus/networks/development/accounts/
  • handles resource allocation (CPU/NET/RAM for EOSIO, gas for ETH)
  • compiles the dapp client library typescript
To setup our environment, we'll run the following commands:
mkdir ethtokenpeg; cd ethtokenpeg
# creates the box, like npm init
zeus box create
# installs all boxes and their sub-dependencies
zeus unbox ethtokenpeg
# compiles all contracts then runs full unit testing suite
zeus test -c --services "cron,ipfs,oracle,sign"
Logs are available in the ./logs directory. Logs may also be cleared by running zeus test with the -d flag to delete the ./logs folder.