Test Guide
Setup
Components
The subchain controller,
seele-anchor-cli
(short as 'anc'), is consist of many components that require tuning. The following is the project's major dependencies.
seele-anchor-cli // employ, call subchain contracts
├── seele-stemsdk-javascript // subchain node api, keys, tx
└── seele-contract-core // compile, deploy contracts
└── seele-sdk-javascript // mainchain node api, keys, tx
Environment
Place the components in your project root. In every component's root directory, run
npm link
, then inseele-anchor-cli
runnpm i
. Your changes inseele-stemsdk-javascript
should reflect inseele-anchor-cli
.
project_root
├── seele-anchor-cli
├── seele-contract-core
└── seele-stemsdk-javascript
Testing
Using snc
This is a tool used for fast access to a subchain-mainchain-private environment. In case someone is curious, snc
stands for Seele Nice Commandline.
# 1. Initiate config directory in .subchain/node
snc init
# 2. After configuring, use the following
snc start # start nodes
snc list # list all running nodes
snc list --l # list all running nodes in more details
snc kill # kiill all nodes
snc clean # clears ~/.seele dir and ~/seeleTemp
snc node version # check node version
snc node compile mainchain # replace mainchain nodes
snc node compile subchain # replace subchain nodes
The ./test/node
directory contains the configuration file nodecliconfig.json
for snc start
, use the nodecliconfig.json_bac
in case your editor or terminal crashes. The nodecliconfig.json
is configured as follows:
main-conf: array of mainchain configs to start
stem-conf: array of subchain configs to start
main-info: cli filled after
snc start
stem-info: cli filled after
snc start
The ./test/node/cli.js
file contains the code for this tool. The function defined in this file, run()
, wraps regular bash statements. With this, it would easy to modify the too drastic "rm -rf ~/.seele; rm -rf seeleTemp;"
command to NOT DELETE all your node database that snc clean
runs.
Using anc
Most anc
command are introduced in user guide, using the -h
option in anc and you may find other helpful options. One common one is the following:
# Add -p option to deposite for other accounts instead of just yourself
# Add -n option to self configure nonce
# Similarly for adtx, send
anc trade in ...\
-p 0xd345ed9cdfe3fc27a0382c5dbcaeec17836343a75e00cac37a81660714af8260
-n 11
Refer to the scriptTest.js
and flow.test.js
, in the ./test
directory to know how to write your own test scripts in javascript, or scriptTest.sh
to write in bash.
Running npm test
would run all files in ./test
directory with .test.js
filename extesion, use .only
and .skip
to only run a single test, or selectively skip tests.
Last updated
Was this helpful?