{"id":20987428,"url":"https://github.com/stacks-archive/stacks-blockchain-testground","last_synced_at":"2025-05-14T17:33:57.783Z","repository":{"id":54453652,"uuid":"310721410","full_name":"stacks-network/stacks-blockchain-testground","owner":"stacks-network","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-11T14:22:49.000Z","size":54,"stargazers_count":3,"open_issues_count":2,"forks_count":3,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-04-14T11:50:54.685Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stacks-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-06T22:44:46.000Z","updated_at":"2021-11-17T21:42:57.000Z","dependencies_parsed_at":"2022-08-13T16:10:31.537Z","dependency_job_id":null,"html_url":"https://github.com/stacks-network/stacks-blockchain-testground","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacks-network%2Fstacks-blockchain-testground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacks-network%2Fstacks-blockchain-testground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacks-network%2Fstacks-blockchain-testground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stacks-network%2Fstacks-blockchain-testground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stacks-network","download_url":"https://codeload.github.com/stacks-network/stacks-blockchain-testground/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225303944,"owners_count":17453037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T06:16:56.286Z","updated_at":"2025-05-14T17:33:52.478Z","avatar_url":"https://github.com/stacks-network.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Setup\n\nThis git repo is just the `plans` dir for a `stacks-node` testground plan.\n\n## Local\nSetup local directories:\n```bash\nexport TESTGROUND_ROOT=/opt/testgrounds\nexport TESTGROUND_HOME=$TESTGROUND_ROOT/testground\nexport STACKS_BLOCKCHAIN_DIR=$TESTGROUND_ROOT/stacks-blockchain\nmkdir -p $TESTGROUND_ROOT\ngit clone https://github.com/blockstack/stacks-blockchain.git $STACKS_BLOCKCHAIN_DIR\n```\n\nDownload testground and install/configure:\n```bash\ngit clone https://github.com/testground/testground.git $TESTGROUND_HOME\ncd $TESTGROUND_HOME \\\n  \u0026\u0026 make install\n\ncat \u003c\u003cEOF \u003e $TESTGROUND_HOME/.env.toml\n[\"aws\"]\nregion = \"us-west-2\"\n[\"daemon\"]\ninfluxdb_endpoint = \"http://testground-influxdb:8086\"\nEOF\n```\n* *`env.toml` in this repo can also be used*\n\nStart testground in daemon mode:\n```bash\ncd $TESTGROUND_HOME \u0026\u0026 nohup testground daemon \u0026\n```\n\nImport this test plan:\n```bash\ntestground plan import \\\n  --git \\\n  --from https://github.com/blockstack/stacks-blockchain-testground \\\n  --name stacks-node\n```\n\n## Debian VM\nSetup local directories:\n```bash\ncurl -L https://golang.org/dl/go1.15.6.linux-amd64.tar.gz -o /tmp/go1.15.6.linux-amd64.tar.gz\ntar -C /usr/local -xzf /tmp/go1.15.6.linux-amd64.tar.gz\nexport PATH=$PATH:/usr/local/go/bin\ngo version\napt-get update -y \u0026\u0026 apt-get install -y software-properties-common\ncurl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -\nadd-apt-repository \\\n   \"deb [arch=amd64] https://download.docker.com/linux/debian \\\n   $(lsb_release -cs) \\\n   stable\"\napt-get update -y \u0026\u0026 apt-get install -y git docker-ce docker-ce-cli containerd.io build-essential\nexport TESTGROUND_ROOT=/opt/testgrounds\nexport TESTGROUND_HOME=$TESTGROUND_ROOT/testground\nexport STACKS_BLOCKCHAIN_DIR=$TESTGROUND_ROOT/stacks-blockchain\nmkdir -p $TESTGROUND_ROOT\ngit clone https://github.com/blockstack/stacks-blockchain.git $STACKS_BLOCKCHAIN_DIR\nsed -i -e 's|block_time = 60000|block_time = 120000|' $STACKS_BLOCKCHAIN_DIR/net-test/etc/bitcoin-neon-controller.toml.in\n```\n\nDownload testground and install/configure:\n```bash\ngit clone https://github.com/testground/testground.git $TESTGROUND_HOME\ncd $TESTGROUND_HOME \\\n  \u0026\u0026 make install \\\n  \u0026\u0026 cp /root/go/bin/testground /usr/local/bin/\n\ncat \u003c\u003cEOF \u003e $TESTGROUND_HOME/.env.toml\n[\"aws\"]\nregion = \"us-west-2\"\n[\"daemon\"]\ninfluxdb_endpoint = \"http://testground-influxdb:8086\"\nEOF\n```\n* *`env.toml` in this repo can also be used*\n\nStart testground in daemon mode:\n```bash\ncd $TESTGROUND_HOME \u0026\u0026 nohup testground daemon \u0026\n```\n\nImport this test plan:\n```bash\ntestground plan import \\\n  --git \\\n  --from https://github.com/kantai/stacks-blockchain-testground \\\n  --name stacks-node\n```\n\n## Build Local test images\n* *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)*\n\n```bash\ndocker build \\\n  -f $TESTGROUND_HOME/plans/stacks-node/stacks-blockchain-dockerfiles/Dockerfile.buster \\\n  -t blockstack/stacks-blockchain:testground-base \\\n$STACKS_BLOCKCHAIN_DIR\n```\n\n\n# Running the test plan\n*data stored at `$TESTGROUND_HOME/data`*\n*logs can be tailed with `testground logs -f -t \u003cID\u003e`\n\n* 2 instance test to a height of `10`\n```bash\ntestground \\\n    --vv run single \\\n    --plan=stacks-node \\\n    --testcase=blocks \\\n    --runner=local:docker \\\n    --builder=docker:generic \\\n    --instances=2 \\\n    --tp stacks_tip_height=10\n```\n\n* 30 instance test to a height of `150`\n```bash\ntestground \\\n    --vv run single \\\n    --plan=stacks-node \\\n    --testcase=blocks \\\n    --runner=local:docker \\\n    --builder=docker:generic \\\n    --instances=30 \\\n    --collect \\\n    --tp stacks_tip_height=150\n```\n\n* 30 instance test to a height of `150` **without** a chain quality test\n```bash\ntestground \\\n    --vv run single \\\n    --plan=stacks-node \\\n    --testcase=blocks \\\n    --runner=local:docker \\\n    --builder=docker:generic \\\n    --instances=30 \\\n    --collect \\\n    --tp stacks_tip_height=150 \\\n    --tp verify_chain=false\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacks-archive%2Fstacks-blockchain-testground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstacks-archive%2Fstacks-blockchain-testground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstacks-archive%2Fstacks-blockchain-testground/lists"}