Skip to content

Commit 2f9fa24

Browse files
author
brady.ouren
committed
chore(tests): try swapping out deploy-krypton
1 parent bb30911 commit 2f9fa24

File tree

8 files changed

+282
-2
lines changed

8 files changed

+282
-2
lines changed

docker/devnet/Clarinet.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[project]
2+
name = "devnet"
3+
description = ""
4+
authors = []
5+
telemetry = false
6+
cache_dir = "./.cache"
7+
8+
[repl.analysis]
9+
passes = ["check_checker"]
10+
check_checker = { trusted_sender = false, trusted_caller = false, callee_filter = false }
11+
12+
# Check-checker settings:
13+
# trusted_sender: if true, inputs are trusted after tx_sender has been checked.
14+
# trusted_caller: if true, inputs are trusted after contract-caller has been checked.
15+
# callee_filter: if true, untrusted data may be passed into a private function without a
16+
# warning, if it gets checked inside. This check will also propagate up to the
17+
# caller.
18+
# More informations: https://www.hiro.so/blog/new-safety-checks-in-clarinet

docker/devnet/Dockerfile

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
FROM --platform=$BUILDPLATFORM rust:1.68 as builder
2+
3+
ARG CLARINET_VERSION=v2.8.0
4+
WORKDIR /usr/src/clarinet
5+
6+
RUN apt-get update && apt-get install -y \
7+
git \
8+
&& rm -rf /var/lib/apt/lists/*
9+
10+
# building from source because I wasn't able to get the platform working from binary
11+
RUN git clone https://github.com/hirosystems/clarinet.git . && \
12+
git checkout main && \
13+
cargo build --release
14+
15+
# Final stage (using Docker-in-Docker)
16+
FROM --platform=$BUILDPLATFORM docker:dind
17+
18+
# Install necessary packages
19+
RUN apk add --no-cache \
20+
ca-certificates \
21+
docker \
22+
sudo \
23+
net-tools \
24+
iproute2 \
25+
shadow
26+
27+
# Add root to the docker group
28+
RUN usermod -aG docker root
29+
30+
# Copy Clarinet binary from builder stage
31+
COPY --from=builder /usr/src/clarinet/target/release/clarinet /usr/local/bin/clarinet
32+
33+
WORKDIR /app
34+
35+
VOLUME /chainstate
36+
37+
# Stacks API
38+
EXPOSE 3700
39+
# Stacks-node RPC
40+
EXPOSE 20443
41+
# Bitcoind JSON-RPC
42+
EXPOSE 18443
43+
# Postgres
44+
EXPOSE 5490
45+
46+
# Copy Clarinet config files
47+
COPY Clarinet.toml .
48+
COPY settings/Devnet.toml ./settings/
49+
COPY start.sh .
50+
51+
RUN chmod +x start.sh
52+
53+
# Start the Docker daemon and the devnet
54+
CMD ["sh", "-c", "dockerd-entrypoint.sh && /app/start.sh"]

docker/devnet/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
all: build run
2+
3+
build:
4+
docker build -t clarinet-devnet .
5+
6+
run:
7+
docker run --privileged --network host clarinet-devnet
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
id: 0
3+
name: Devnet deployment
4+
network: devnet
5+
stacks-node: "http://localhost:20443"
6+
bitcoin-node: "http://devnet:devnet@localhost:18453"
7+
plan:
8+
batches: []

docker/devnet/docker-compose.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
services:
2+
clarinet-devnet:
3+
networks:
4+
- stacks
5+
build:
6+
context: .
7+
# platform: ${BUILDPLATFORM:-linux/amd64}
8+
ports:
9+
- "3700:3700"
10+
- "20443:20443"
11+
- "18443:18443"
12+
- "5490:5490"
13+
volumes:
14+
- chainstate:/chainstate
15+
environment:
16+
- CLARINET_VERSION=v2.8.0
17+
18+
networks:
19+
stacks:
20+
volumes:
21+
chainstate:

docker/devnet/settings/Devnet.toml

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
[network]
2+
name = "devnet"
3+
deployment_fee_rate = 10
4+
5+
[accounts.deployer]
6+
mnemonic = "twice kind fence tip hidden tilt action fragile skin nothing glory cousin green tomorrow spring wrist shed math olympic multiply hip blue scout claw"
7+
balance = 100_000_000_000_000
8+
# secret_key: 753b7cc01a1a2e86221266a154af739463fce51219d97e4f856cd7200c3bd2a601
9+
# stx_address: ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM
10+
# btc_address: mqVnk6NPRdhntvfm4hh9vvjiRkFDUuSYsH
11+
12+
[accounts.wallet_1]
13+
mnemonic = "sell invite acquire kitten bamboo drastic jelly vivid peace spawn twice guilt pave pen trash pretty park cube fragile unaware remain midnight betray rebuild"
14+
balance = 100_000_000_000_000
15+
# secret_key: 7287ba251d44a4d3fd9276c88ce34c5c52a038955511cccaf77e61068649c17801
16+
# stx_address: ST1SJ3DTE5DN7X54YDH5D64R3BCB6A2AG2ZQ8YPD5
17+
# btc_address: mr1iPkD9N3RJZZxXRk7xF9d36gffa6exNC
18+
19+
[accounts.wallet_2]
20+
mnemonic = "hold excess usual excess ring elephant install account glad dry fragile donkey gaze humble truck breeze nation gasp vacuum limb head keep delay hospital"
21+
balance = 100_000_000_000_000
22+
# secret_key: 530d9f61984c888536871c6573073bdfc0058896dc1adfe9a6a10dfacadc209101
23+
# stx_address: ST2CY5V39NHDPWSXMW9QDT3HC3GD6Q6XX4CFRK9AG
24+
# btc_address: muYdXKmX9bByAueDe6KFfHd5Ff1gdN9ErG
25+
26+
[accounts.wallet_3]
27+
mnemonic = "cycle puppy glare enroll cost improve round trend wrist mushroom scorpion tower claim oppose clever elephant dinosaur eight problem before frozen dune wagon high"
28+
balance = 100_000_000_000_000
29+
# secret_key: d655b2523bcd65e34889725c73064feb17ceb796831c0e111ba1a552b0f31b3901
30+
# stx_address: ST2JHG361ZXG51QTKY2NQCVBPPRRE2KZB1HR05NNC
31+
# btc_address: mvZtbibDAAA3WLpY7zXXFqRa3T4XSknBX7
32+
33+
[accounts.wallet_4]
34+
mnemonic = "board list obtain sugar hour worth raven scout denial thunder horse logic fury scorpion fold genuine phrase wealth news aim below celery when cabin"
35+
balance = 100_000_000_000_000
36+
# secret_key: f9d7206a47f14d2870c163ebab4bf3e70d18f5d14ce1031f3902fbbc894fe4c701
37+
# stx_address: ST2NEB84ASENDXKYGJPQW86YXQCEFEX2ZQPG87ND
38+
# btc_address: mg1C76bNTutiCDV3t9nWhZs3Dc8LzUufj8
39+
40+
[accounts.wallet_5]
41+
mnemonic = "hurry aunt blame peanut heavy update captain human rice crime juice adult scale device promote vast project quiz unit note reform update climb purchase"
42+
balance = 100_000_000_000_000
43+
# secret_key: 3eccc5dac8056590432db6a35d52b9896876a3d5cbdea53b72400bc9c2099fe801
44+
# stx_address: ST2REHHS5J3CERCRBEPMGH7921Q6PYKAADT7JP2VB
45+
# btc_address: mweN5WVqadScHdA81aATSdcVr4B6dNokqx
46+
47+
[accounts.wallet_6]
48+
mnemonic = "area desk dutch sign gold cricket dawn toward giggle vibrant indoor bench warfare wagon number tiny universe sand talk dilemma pottery bone trap buddy"
49+
balance = 100_000_000_000_000
50+
# secret_key: 7036b29cb5e235e5fd9b09ae3e8eec4404e44906814d5d01cbca968a60ed4bfb01
51+
# stx_address: ST3AM1A56AK2C1XAFJ4115ZSV26EB49BVQ10MGCS0
52+
# btc_address: mzxXgV6e4BZSsz8zVHm3TmqbECt7mbuErt
53+
54+
[accounts.wallet_7]
55+
mnemonic = "prevent gallery kind limb income control noise together echo rival record wedding sense uncover school version force bleak nuclear include danger skirt enact arrow"
56+
balance = 100_000_000_000_000
57+
# secret_key: b463f0df6c05d2f156393eee73f8016c5372caa0e9e29a901bb7171d90dc4f1401
58+
# stx_address: ST3PF13W7Z0RRM42A8VZRVFQ75SV1K26RXEP8YGKJ
59+
# btc_address: n37mwmru2oaVosgfuvzBwgV2ysCQRrLko7
60+
61+
[accounts.wallet_8]
62+
mnemonic = "female adjust gallery certain visit token during great side clown fitness like hurt clip knife warm bench start reunion globe detail dream depend fortune"
63+
balance = 100_000_000_000_000
64+
# secret_key: 6a1a754ba863d7bab14adbbc3f8ebb090af9e871ace621d3e5ab634e1422885e01
65+
# stx_address: ST3NBRSFKX28FQ2ZJ1MAKX58HKHSDGNV5N7R21XCP
66+
# btc_address: n2v875jbJ4RjBnTjgbfikDfnwsDV5iUByw
67+
68+
[accounts.faucet]
69+
mnemonic = "shadow private easily thought say logic fault paddle word top book during ignore notable orange flight clock image wealth health outside kitten belt reform"
70+
balance = 100_000_000_000_000
71+
# secret_key: de433bdfa14ec43aa1098d5be594c8ffb20a31485ff9de2923b2689471c401b801
72+
# stx_address: STNHKEPYEPJ8ET55ZZ0M5A34J0R3N5FM2CMMMAZ6
73+
# btc_address: mjSrB3wS4xab3kYqFktwBzfTdPg367ZJ2d
74+
75+
[devnet]
76+
disable_stacks_explorer = false
77+
disable_stacks_api = false
78+
# disable_subnet_api = false
79+
disable_bitcoin_explorer = true
80+
# working_dir = "tmp/devnet"
81+
# stacks_node_events_observers = ["host.docker.internal:8002"]
82+
# miner_mnemonic = "fragile loan twenty basic net assault jazz absorb diet talk art shock innocent float punch travel gadget embrace caught blossom hockey surround initial reduce"
83+
# miner_derivation_path = "m/44'/5757'/0'/0/0"
84+
# faucet_mnemonic = "shadow private easily thought say logic fault paddle word top book during ignore notable orange flight clock image wealth health outside kitten belt reform"
85+
# faucet_derivation_path = "m/44'/5757'/0'/0/0"
86+
# orchestrator_port = 20445
87+
# bitcoin_node_p2p_port = 18444
88+
bitcoin_node_rpc_port = 18443
89+
bitcoin_node_username = "devnet"
90+
bitcoin_node_password = "devnet"
91+
# bitcoin_controller_block_time = 30_000
92+
stacks_node_rpc_port = 20443
93+
# stacks_node_p2p_port = 20444
94+
# stacks_api_port = 3999
95+
stacks_api_events_port = 3700
96+
# bitcoin_explorer_port = 8001
97+
# stacks_explorer_port = 8000
98+
# postgres_port = 5432
99+
postgres_port = 5490
100+
# postgres_username = "postgres"
101+
# postgres_password = "postgres"
102+
# postgres_database = "postgres"
103+
# bitcoin_node_image_url = "quay.io/hirosystems/bitcoind:26.0"
104+
# stacks_node_image_url = "quay.io/hirosystems/stacks-node:devnet-2.5"
105+
# stacks_signer_image_url = "quay.io/hirosystems/stacks-signer:devnet-2.5"
106+
# stacks_api_image_url = "hirosystems/stacks-blockchain-api:master"
107+
# stacks_explorer_image_url = "hirosystems/explorer:latest"
108+
# bitcoin_explorer_image_url = "quay.io/hirosystems/bitcoin-explorer:devnet"
109+
# postgres_image_url = "postgres:alpine"
110+
# enable_subnet_node = true
111+
# subnet_node_image_url = "hirosystems/stacks-subnets:0.8.1"
112+
# subnet_leader_mnemonic = "twice kind fence tip hidden tilt action fragile skin nothing glory cousin green tomorrow spring wrist shed math olympic multiply hip blue scout claw"
113+
# subnet_leader_derivation_path = "m/44'/5757'/0'/0/0"
114+
# subnet_contract_id = "ST173JK7NZBA4BS05ZRATQH1K89YJMTGEH1Z5J52E.subnet-v3-0-1"
115+
# subnet_node_rpc_port = 30443
116+
# subnet_node_p2p_port = 30444
117+
# subnet_events_ingestion_port = 30445
118+
# subnet_node_events_observers = ["host.docker.internal:8002"]
119+
# subnet_api_image_url = "hirosystems/stacks-blockchain-api:master"
120+
# subnet_api_postgres_database = "subnet_api"
121+
122+
# For testing in epoch 2.1 / using Clarity2
123+
# epoch_2_0 = 100
124+
# epoch_2_05 = 100
125+
# epoch_2_1 = 101
126+
# epoch_2_2 = 102
127+
# epoch_2_3 = 103
128+
# epoch_2_4 = 104
129+
# epoch_2_5 = 108
130+
131+
132+
# Send some stacking orders
133+
[[devnet.pox_stacking_orders]]
134+
start_at_cycle = 1
135+
duration = 12
136+
wallet = "wallet_1"
137+
slots = 2
138+
btc_address = "mr1iPkD9N3RJZZxXRk7xF9d36gffa6exNC"
139+
140+
[[devnet.pox_stacking_orders]]
141+
start_at_cycle = 1
142+
duration = 12
143+
wallet = "wallet_2"
144+
slots = 1
145+
btc_address = "muYdXKmX9bByAueDe6KFfHd5Ff1gdN9ErG"
146+
147+
[[devnet.pox_stacking_orders]]
148+
start_at_cycle = 1
149+
duration = 12
150+
wallet = "wallet_3"
151+
slots = 1
152+
btc_address = "mvZtbibDAAA3WLpY7zXXFqRa3T4XSknBX7"

docker/devnet/start.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
set -x # Enable debugging output
4+
5+
# Clean up existing network and containers
6+
docker network rm devnet.devnet || true
7+
docker rm -f $(docker ps -a -q --filter name=devnet.devnet) || true
8+
9+
# List existing networks and containers
10+
echo "Existing networks:"
11+
docker network ls
12+
echo "Existing containers:"
13+
docker ps -a
14+
15+
16+
netstat -tuln | grep 18443
17+
netstat -tuln | grep 18453
18+
19+
# Start Clarinet devnet
20+
clarinet devnet start --no-dashboard --manifest-path /app/Clarinet.toml

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
"devenv:stop": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml down -v -t 0",
5757
"devenv:deploy:subnets": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.subnets.yml up --force-recreate -V",
5858
"devenv:stop:subnets": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.subnets.yml down -v -t 0",
59-
"devenv:deploy-krypton": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-krypton.yml up --force-recreate -V",
60-
"devenv:stop-krypton": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-krypton.yml down -v -t 0",
59+
"devenv:deploy-krypton": "docker compose -f docker/devnet/docker-compose.yml up -d --force-recreate -V",
60+
"devenv:stop-krypton": "docker compose -f docker/devnet/docker-compose.yml down -v -t 0",
6161
"devenv:stop:pg": "docker compose -f docker/docker-compose.dev.postgres.yml down -v -t 0",
6262
"devenv:logs": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml logs -t -f",
6363
"devenv:logs:subnets": "docker compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.subnets.yml logs -t -f",

0 commit comments

Comments
 (0)