https://github.com/stacks-archive/stacks-blockchain-testground
https://github.com/stacks-archive/stacks-blockchain-testground
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/stacks-archive/stacks-blockchain-testground
- Owner: stacks-network
- Created: 2020-11-06T22:44:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-11T14:22:49.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T11:50:54.685Z (about 1 year ago)
- Language: Go
- Size: 52.7 KB
- Stars: 3
- Watchers: 17
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Setup
This git repo is just the `plans` dir for a `stacks-node` testground plan.
## Local
Setup local directories:
```bash
export TESTGROUND_ROOT=/opt/testgrounds
export TESTGROUND_HOME=$TESTGROUND_ROOT/testground
export STACKS_BLOCKCHAIN_DIR=$TESTGROUND_ROOT/stacks-blockchain
mkdir -p $TESTGROUND_ROOT
git clone https://github.com/blockstack/stacks-blockchain.git $STACKS_BLOCKCHAIN_DIR
```Download testground and install/configure:
```bash
git clone https://github.com/testground/testground.git $TESTGROUND_HOME
cd $TESTGROUND_HOME \
&& make installcat < $TESTGROUND_HOME/.env.toml
["aws"]
region = "us-west-2"
["daemon"]
influxdb_endpoint = "http://testground-influxdb:8086"
EOF
```
* *`env.toml` in this repo can also be used*Start testground in daemon mode:
```bash
cd $TESTGROUND_HOME && nohup testground daemon &
```Import this test plan:
```bash
testground plan import \
--git \
--from https://github.com/blockstack/stacks-blockchain-testground \
--name stacks-node
```## Debian VM
Setup local directories:
```bash
curl -L https://golang.org/dl/go1.15.6.linux-amd64.tar.gz -o /tmp/go1.15.6.linux-amd64.tar.gz
tar -C /usr/local -xzf /tmp/go1.15.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
apt-get update -y && apt-get install -y software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
apt-get update -y && apt-get install -y git docker-ce docker-ce-cli containerd.io build-essential
export TESTGROUND_ROOT=/opt/testgrounds
export TESTGROUND_HOME=$TESTGROUND_ROOT/testground
export STACKS_BLOCKCHAIN_DIR=$TESTGROUND_ROOT/stacks-blockchain
mkdir -p $TESTGROUND_ROOT
git clone https://github.com/blockstack/stacks-blockchain.git $STACKS_BLOCKCHAIN_DIR
sed -i -e 's|block_time = 60000|block_time = 120000|' $STACKS_BLOCKCHAIN_DIR/net-test/etc/bitcoin-neon-controller.toml.in
```Download testground and install/configure:
```bash
git clone https://github.com/testground/testground.git $TESTGROUND_HOME
cd $TESTGROUND_HOME \
&& make install \
&& cp /root/go/bin/testground /usr/local/bin/cat < $TESTGROUND_HOME/.env.toml
["aws"]
region = "us-west-2"
["daemon"]
influxdb_endpoint = "http://testground-influxdb:8086"
EOF
```
* *`env.toml` in this repo can also be used*Start testground in daemon mode:
```bash
cd $TESTGROUND_HOME && nohup testground daemon &
```Import this test plan:
```bash
testground plan import \
--git \
--from https://github.com/kantai/stacks-blockchain-testground \
--name stacks-node
```## Build Local test images
* *if you change the tag, you'll need to also update the `Dockerfile` in the [repo root](https://github.com/blockstack/stacks-blockchain-testground/blob/main/Dockerfile#L7)*```bash
docker build \
-f $TESTGROUND_HOME/plans/stacks-node/stacks-blockchain-dockerfiles/Dockerfile.buster \
-t blockstack/stacks-blockchain:testground-base \
$STACKS_BLOCKCHAIN_DIR
```# Running the test plan
*data stored at `$TESTGROUND_HOME/data`*
*logs can be tailed with `testground logs -f -t `* 2 instance test to a height of `10`
```bash
testground \
--vv run single \
--plan=stacks-node \
--testcase=blocks \
--runner=local:docker \
--builder=docker:generic \
--instances=2 \
--tp stacks_tip_height=10
```* 30 instance test to a height of `150`
```bash
testground \
--vv run single \
--plan=stacks-node \
--testcase=blocks \
--runner=local:docker \
--builder=docker:generic \
--instances=30 \
--collect \
--tp stacks_tip_height=150
```* 30 instance test to a height of `150` **without** a chain quality test
```bash
testground \
--vv run single \
--plan=stacks-node \
--testcase=blocks \
--runner=local:docker \
--builder=docker:generic \
--instances=30 \
--collect \
--tp stacks_tip_height=150 \
--tp verify_chain=false
```