Skip to content

hirosystems/stacks-e2e-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7a6a050 · May 23, 2023
Dec 23, 2022
Apr 21, 2023
Apr 22, 2023
May 22, 2023
Nov 22, 2022
Dec 22, 2022
Dec 2, 2022
May 23, 2023
Dec 23, 2022
Apr 24, 2023
Dec 22, 2022
Jan 9, 2023
Apr 27, 2023

Repository files navigation

stacks-devnet-js

Public repository of tests focused on checking the new features coming with the Stacks 2.1 network upgrade.

How to run

yarn install
yarn test:dev

To run tests from one file, use:

yarn vitest --run direct-stacking-with-bug

Or to run a specific test, use the -t flag to specify the complete name:

yarn test:dev run -t "using stacks-increase in the same cycle should result in increased rewards"

When running multiple tests, you'll want to limit it to one test at a time because multiple tests in parallel will sometimes cross contaminate. To avoid this, you can use the --threads false flag, for example, the following will run all of the tests in the pox/stacking/ directory, one at a time:

yarn vitest --run tests/integration/pox/stacking/ --threads false

Using 2.4 stacks-node

To run tests using the 2.2 node (the tests in the pox-disabled/ directory), you'll need to use a currently unpublished version of the stacks-devnet-js package which has support for the new settings. To build this locally:

git clone https://github.com/hirosystems/clarinet.git
cd clarinet
git checkout feat/devnet-epoch-2.2
cd components/stacks-devnet-js
npm install

Then you'll want to run one of the following commands, depending on your platform:

npm run build-linux-x64-glibc
npm run build-linux-x64-musl
npm run build-windows-x64
npm run build-darwin-x64   # Mac with Intel
npm run build-darwin-arm64 # Mac with Apple Silicon

Finally, you'll use npm link to utilize this version in this testing repo. First, in the stacks-devnet-js directory, run:

npm link

This will create a symbolic link from the local package directory to the global node_modules directory.

Then back in this testing directory, run:

npm link @hirosystems/stacks-devnet-js

Now, you can run the tests expecting this 2.2 node, i.e. those in the pox-disabled/ directory.

To switch back to the default version, run:

npm unlink @hirosystems/stacks-devnet-js --no-save
yarn install

2.4 stacks-node Image

To run with the latest node, you'll need to specify the docker image URL to use via an environment variable:

export CUSTOM_STACKS_NODE="blockstack/stacks-blockchain:devnet-2.4.0.0.0"

On a Mac with Apple Silicon, the published stacks-node image, blockstack/stacks-blockchain:devnet-2.4.0.0.0 does not seem to work correctly. You will know you have run into this problem if your tests fail with:

Unknown Error: waitForNextStacksBlock maxErrors reached

and in the stacks-node logs, you see this error repeated:

Apr 26 15:56:09.987721 INFO Anchor block selected for cycle 1: 58cae3b5f5ae5c0cd5b459795805118d16979da8/64563a5269476a9c5ade56b42af3eb3921dd18396692d12e3079e6888ba63a3e (txid 775781e42691dfa2c52d5e8175f48831ae49fd993beae35499d3f223b563577a)
Apr 26 15:56:09.991729 ERRO Relayer: Failure fetching recipient set: ChainstateError(ClarityError(Interpreter(Unchecked(NoSuchContract("ST000000000000000000002AMW42H.pox-2")))))

As an alternative, you can build this image locally, or update the image URL in the environment variable to use:

export CUSTOM_STACKS_NODE="stacksbrice/stacks-node:devnet-2.4.0.0.0"

If this environment variable is not defined, stacks-devnet-js will default to an older version of the stacks-node.

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published