Seele Doc
Search…
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.
1
seele-anchor-cli // employ, call subchain contracts
2
├── seele-stemsdk-javascript // subchain node api, keys, tx
3
└── seele-contract-core // compile, deploy contracts
4
└── seele-sdk-javascript // mainchain node api, keys, tx
Copied!

Environment

Place the components in your project root. In every component's root directory, run npm link, then in seele-anchor-cli run npm i. Your changes in seele-stemsdk-javascript should reflect in seele-anchor-cli.
1
project_root
2
├── seele-anchor-cli
3
├── seele-contract-core
4
└── seele-stemsdk-javascript
Copied!

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
# 1. Initiate config directory in .subchain/node
2
snc init
3
# 2. After configuring, use the following
4
snc start # start nodes
5
snc list # list all running nodes
6
snc list --l # list all running nodes in more details
7
snc kill # kiill all nodes
8
snc clean # clears ~/.seele dir and ~/seeleTemp
9
snc node version # check node version
10
snc node compile mainchain # replace mainchain nodes
11
snc node compile subchain # replace subchain nodes
Copied!
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:
1
# Add -p option to deposite for other accounts instead of just yourself
2
# Add -n option to self configure nonce
3
# Similarly for adtx, send
4
anc trade in ...\
5
-p 0xd345ed9cdfe3fc27a0382c5dbcaeec17836343a75e00cac37a81660714af8260
6
-n 11
Copied!
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 modified 2yr ago