Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hirosystems/stacks-e2e-testing
https://github.com/hirosystems/stacks-e2e-testing
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/hirosystems/stacks-e2e-testing
- Owner: hirosystems
- Created: 2022-11-22T17:14:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-05T23:36:03.000Z (3 months ago)
- Last Synced: 2024-09-27T00:19:45.561Z (about 2 months ago)
- Language: TypeScript
- Size: 927 KB
- Stars: 7
- Watchers: 8
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# stacks-devnet-js
Public repository of tests focused on checking the new features coming with the Stacks 2.1 network upgrade.
### How to run
```bash
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:
```sh
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:
```sh
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:
```sh
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`.