mirror of
https://github.com/alexgo-io/alex-mocknet.git
synced 2026-01-12 14:24:40 +08:00
feat: shim development environment.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,4 @@
|
||||
persistent-data
|
||||
test-connections
|
||||
/unit-tests/
|
||||
.env
|
||||
|
||||
170
development-traefik/docker-compose.yml
Normal file
170
development-traefik/docker-compose.yml
Normal file
@@ -0,0 +1,170 @@
|
||||
version: "3.7"
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v2.5
|
||||
command:
|
||||
- "--log.level=DEBUG"
|
||||
- "--api.insecure=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.watch=true"
|
||||
- "--providers.file.directory=/file-providers"
|
||||
- "--entrypoints.web.address=:80"
|
||||
# - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
|
||||
# - "--entrypoints.web.http.redirections.entrypoint.permanent=false"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entryPoints.tcppg.address=:5555"
|
||||
- "--accesslog"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080"
|
||||
- "5555:5555"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
- "./traefik:/traefik"
|
||||
- "./file-providers:/file-providers"
|
||||
|
||||
labels:
|
||||
- traefik.http.services.traefik-public.loadbalancer.server.port=80
|
||||
- traefik.http.middlewares.whoami-redirectscheme.redirectscheme.scheme=https
|
||||
- traefik.enable=true
|
||||
networks:
|
||||
- backend
|
||||
whoami:
|
||||
image: containous/whoami
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.whoami.entrypoints=web,websecure
|
||||
- traefik.http.routers.whoami.rule=Host(`whoami.localhost`)
|
||||
- traefik.http.routers.whoami.tls=true
|
||||
- traefik.http.services.whoami.loadbalancer.server.port=80
|
||||
networks:
|
||||
- backend
|
||||
postgres:
|
||||
image: "postgres:12.2"
|
||||
ports:
|
||||
- "5490:5432"
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: stacks_blockchain_api
|
||||
POSTGRES_PORT: 5432
|
||||
networks:
|
||||
- backend
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.postgres.entrypoints=tcppg
|
||||
- traefik.http.routers.postgres.rule=Host(`pg.localhost`)
|
||||
- traefik.http.services.postgres.loadbalancer.server.port=5432
|
||||
stacks-blockchain:
|
||||
image: blockstack/stacks-blockchain
|
||||
command: stacks-node start --config=/app/config/Stacks-dev.toml
|
||||
restart: on-failure
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.stacks_blockchain.entrypoints=web,websecure
|
||||
- traefik.http.routers.stacks_blockchain.rule=Host(`stacks-blockchain.localhost`)
|
||||
- traefik.http.services.stacks_blockchain.loadbalancer.server.port=20443
|
||||
- traefik.http.routers.stacks_blockchain.tls=true
|
||||
environment:
|
||||
NOP_BLOCKSTACK_DEBUG: 1
|
||||
STACKS_EVENT_OBSERVER: stacks-blockchain-api:3700
|
||||
XBLOCKSTACK_DEBUG: 1
|
||||
RUST_BACKTRACE: 1
|
||||
STACKS_CHAIN_ID: "0x80000000"
|
||||
PG_HOST: postgres
|
||||
PG_PORT: 5432
|
||||
PG_USER: postgres
|
||||
PG_PASSWORD: postgres
|
||||
PG_DATABASE: postgres
|
||||
V2_POX_MIN_AMOUNT_USTX: 90000000260
|
||||
STACKS_CORE_RPC_HOST: stacks-blockchain
|
||||
STACKS_CORE_RPC_PORT: 20443
|
||||
STACKS_API_ENABLE_FT_METADATA: 1
|
||||
STACKS_API_ENABLE_NFT_METADATA: 1
|
||||
ports:
|
||||
- "20443:20443"
|
||||
- "20444:20444"
|
||||
volumes:
|
||||
- ./stacks-blockchain/:/app/config
|
||||
- ./stacks-blockchain/chaindata:/tmp/stacks-blockchain-data
|
||||
networks:
|
||||
- backend
|
||||
stacks-blockchain-api:
|
||||
image: blockstack/stacks-blockchain-api
|
||||
restart: on-failure
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.services.stacks_blockchain_api.loadbalancer.server.port=3999
|
||||
- traefik.http.routers.stacks_blockchain_api.entrypoints=web,websecure
|
||||
- traefik.http.routers.stacks_blockchain_api.rule=Host(`stacks-blockchain-api.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_api.service=stacks_blockchain_api
|
||||
- traefik.http.routers.stacks_blockchain_api.tls=true
|
||||
|
||||
- traefik.http.services.stacks_blockchain_api_http.loadbalancer.server.port=3999
|
||||
- traefik.http.routers.stacks_blockchain_api_http.entrypoints=web
|
||||
- traefik.http.routers.stacks_blockchain_api_http.rule=Host(`stacks-blockchain-api-http.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_api_http.service=stacks_blockchain_api
|
||||
- traefik.http.routers.stacks_blockchain_api.tls=false
|
||||
|
||||
- traefik.http.services.stacks_blockchain_event.loadbalancer.server.port=9153
|
||||
- traefik.http.routers.stacks_blockchain_event.entrypoints=web
|
||||
- traefik.http.routers.stacks_blockchain_event.rule=Host(`stacks-blockchain-event.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_event.service=stacks_blockchain_event
|
||||
- traefik.http.routers.stacks_blockchain_event.tls=true
|
||||
environment:
|
||||
PG_HOST: postgres
|
||||
PG_PORT: 5432
|
||||
PG_USER: postgres
|
||||
PG_PASSWORD: postgres
|
||||
PG_DATABASE: stacks_blockchain_api
|
||||
STACKS_CORE_EVENT_PORT: "3700"
|
||||
STACKS_CORE_EVENT_HOST: http://0.0.0.0
|
||||
STACKS_BLOCKCHAIN_API_PORT: "3999"
|
||||
STACKS_BLOCKCHAIN_API_HOST: 0.0.0.0
|
||||
STACKS_BLOCKCHAIN_API_DB: pg
|
||||
STACKS_CORE_RPC_HOST: stacks-blockchain
|
||||
STACKS_CORE_RPC_PORT: "20443"
|
||||
STACKS_CHAIN_ID: "0x80000000"
|
||||
NODE_ENV: development
|
||||
ports:
|
||||
- "3999:3999"
|
||||
- "9153:9153"
|
||||
volumes:
|
||||
- ./stacks-blockchain/:/app/config
|
||||
networks:
|
||||
- backend
|
||||
depends_on:
|
||||
- postgres
|
||||
# stacks-blockchain-explorer:
|
||||
# image: blockstack/explorer
|
||||
# labels:
|
||||
# - traefik.enable=true
|
||||
# - traefik.docker.network=development_backend
|
||||
# - traefik.http.services.stacks_blockchain_explorer.loadbalancer.server.port=3000
|
||||
# - traefik.http.routers.stacks_blockchain_explorer.entrypoints=web,websecure
|
||||
# - traefik.http.routers.stacks_blockchain_explorer.rule=Host(`stacks-blockchain-explorer.localhost`)
|
||||
# - traefik.http.routers.stacks_blockchain_explorer.tls=true
|
||||
# ports:
|
||||
# - "3300:3000"
|
||||
# extra_hosts:
|
||||
# - "stacks-blockchain-explorer.localhost:127.0.0.1"
|
||||
# environment:
|
||||
## TESTNET_API_SERVER: https://stacks-blockchain-api.localhost
|
||||
# NEXT_PUBLIC_TESTNET_API_SERVER: https://stacks-blockchain-api.localhost
|
||||
## NEXT_PUBLIC_MAINNET_API_SERVER: https://stacks-blockchain-api.localhost
|
||||
## NEXT_PUBLIC_REGTEST_API_SERVER: https://stacks-blockchain-api.localhost
|
||||
# NEXT_PUBLIC_DEPLOYMENT_URL: https://stacks-blockchain-explorer.localhost
|
||||
# NEXT_PUBLIC_MAINNET_ENABLED: "true"
|
||||
# NODE_ENV: development
|
||||
# networks:
|
||||
# - backend
|
||||
|
||||
|
||||
networks:
|
||||
backend:
|
||||
@@ -38,6 +38,6 @@ amount = 10000000000000000
|
||||
[connection_options]
|
||||
read_only_call_limit_write_length = 15000000
|
||||
read_only_call_limit_read_length = 100000000
|
||||
read_only_call_limit_write_count = 7750
|
||||
read_only_call_limit_read_count = 7750
|
||||
read_only_call_limit_write_count = 15500
|
||||
read_only_call_limit_read_count = 15500
|
||||
read_only_call_limit_runtime = 5000000000
|
||||
@@ -1,49 +1,8 @@
|
||||
version: "3.7"
|
||||
services:
|
||||
traefik:
|
||||
image: traefik:v2.5
|
||||
command:
|
||||
- "--log.level=DEBUG"
|
||||
- "--api.insecure=true"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.watch=true"
|
||||
- "--providers.file.directory=/file-providers"
|
||||
- "--entrypoints.web.address=:80"
|
||||
# - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
|
||||
# - "--entrypoints.web.http.redirections.entrypoint.permanent=false"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entryPoints.tcppg.address=:5555"
|
||||
- "--accesslog"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080"
|
||||
- "5555:5555"
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
- "./traefik:/traefik"
|
||||
- "./file-providers:/file-providers"
|
||||
|
||||
labels:
|
||||
- traefik.http.services.traefik-public.loadbalancer.server.port=80
|
||||
- traefik.http.middlewares.whoami-redirectscheme.redirectscheme.scheme=https
|
||||
- traefik.enable=true
|
||||
networks:
|
||||
- backend
|
||||
whoami:
|
||||
image: containous/whoami
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.whoami.entrypoints=web,websecure
|
||||
- traefik.http.routers.whoami.rule=Host(`whoami.localhost`)
|
||||
- traefik.http.routers.whoami.tls=true
|
||||
- traefik.http.services.whoami.loadbalancer.server.port=80
|
||||
networks:
|
||||
- backend
|
||||
postgres:
|
||||
image: "postgres:12.2"
|
||||
shm_size: 2gb
|
||||
ports:
|
||||
- "5490:5432"
|
||||
environment:
|
||||
@@ -53,24 +12,13 @@ services:
|
||||
POSTGRES_PORT: 5432
|
||||
networks:
|
||||
- backend
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.postgres.entrypoints=tcppg
|
||||
- traefik.http.routers.postgres.rule=Host(`pg.localhost`)
|
||||
- traefik.http.services.postgres.loadbalancer.server.port=5432
|
||||
stacks-blockchain:
|
||||
image: blockstack/stacks-blockchain
|
||||
command: stacks-node start --config=/app/config/Stacks-dev.toml
|
||||
restart: on-failure
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.routers.stacks_blockchain.entrypoints=web,websecure
|
||||
- traefik.http.routers.stacks_blockchain.rule=Host(`stacks-blockchain.localhost`)
|
||||
- traefik.http.services.stacks_blockchain.loadbalancer.server.port=20443
|
||||
- traefik.http.routers.stacks_blockchain.tls=true
|
||||
image: blockstack/stacks-blockchain:2.05.0.1.0
|
||||
command: sh -c "/wait && stacks-node start --config=/app/config/Stacks.toml"
|
||||
environment:
|
||||
WAIT_BEFORE: 3
|
||||
WAIT_AFTER: 3
|
||||
WAIT_HOSTS: "stacks-blockchain-api:3700"
|
||||
NOP_BLOCKSTACK_DEBUG: 1
|
||||
STACKS_EVENT_OBSERVER: stacks-blockchain-api:3700
|
||||
XBLOCKSTACK_DEBUG: 1
|
||||
@@ -90,34 +38,16 @@ services:
|
||||
- "20443:20443"
|
||||
- "20444:20444"
|
||||
volumes:
|
||||
- ./stacks-blockchain/:/app/config
|
||||
- ./stacks-blockchain/config:/app/config
|
||||
- ./stacks-blockchain/chaindata:/tmp/stacks-blockchain-data
|
||||
- ./docker/wait:/wait
|
||||
networks:
|
||||
- backend
|
||||
stacks-blockchain-api:
|
||||
image: blockstack/stacks-blockchain-api
|
||||
image: blockstack/stacks-blockchain-api:2.1.1
|
||||
restart: on-failure
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=development_backend
|
||||
- traefik.http.services.stacks_blockchain_api.loadbalancer.server.port=3999
|
||||
- traefik.http.routers.stacks_blockchain_api.entrypoints=web,websecure
|
||||
- traefik.http.routers.stacks_blockchain_api.rule=Host(`stacks-blockchain-api.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_api.service=stacks_blockchain_api
|
||||
- traefik.http.routers.stacks_blockchain_api.tls=true
|
||||
|
||||
- traefik.http.services.stacks_blockchain_api_http.loadbalancer.server.port=3999
|
||||
- traefik.http.routers.stacks_blockchain_api_http.entrypoints=web
|
||||
- traefik.http.routers.stacks_blockchain_api_http.rule=Host(`stacks-blockchain-api-http.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_api_http.service=stacks_blockchain_api
|
||||
- traefik.http.routers.stacks_blockchain_api.tls=false
|
||||
|
||||
- traefik.http.services.stacks_blockchain_event.loadbalancer.server.port=9153
|
||||
- traefik.http.routers.stacks_blockchain_event.entrypoints=web
|
||||
- traefik.http.routers.stacks_blockchain_event.rule=Host(`stacks-blockchain-event.localhost`)
|
||||
- traefik.http.routers.stacks_blockchain_event.service=stacks_blockchain_event
|
||||
- traefik.http.routers.stacks_blockchain_event.tls=true
|
||||
environment:
|
||||
WAIT_HOSTS: "postgres:5432"
|
||||
PG_HOST: postgres
|
||||
PG_PORT: 5432
|
||||
PG_USER: postgres
|
||||
@@ -136,7 +66,8 @@ services:
|
||||
- "3999:3999"
|
||||
- "9153:9153"
|
||||
volumes:
|
||||
- ./stacks-blockchain/:/app/config
|
||||
- ./docker/wait:/wait
|
||||
|
||||
networks:
|
||||
- backend
|
||||
depends_on:
|
||||
|
||||
BIN
development/docker/wait
Executable file
BIN
development/docker/wait
Executable file
Binary file not shown.
43
development/stacks-blockchain/config/Stacks.toml
Normal file
43
development/stacks-blockchain/config/Stacks.toml
Normal file
@@ -0,0 +1,43 @@
|
||||
[node]
|
||||
working_dir = "/root/stacks-node/data"
|
||||
rpc_bind = "0.0.0.0:20443"
|
||||
p2p_bind = "0.0.0.0:20444"
|
||||
wait_time_for_microblocks = 1000
|
||||
use_test_genesis_chainstate = true
|
||||
|
||||
[[events_observer]]
|
||||
endpoint = "stacks-blockchain-api:3700"
|
||||
retry_count = 255
|
||||
events_keys = ["*"]
|
||||
|
||||
[burnchain]
|
||||
chain = "bitcoin"
|
||||
mode = "mocknet"
|
||||
commit_anchor_block_within = 10000
|
||||
|
||||
[[mstx_balance]]
|
||||
address = "STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "cb3df38053d132895220b9ce471f6b676db5b9bf0b4adefb55f2118ece2478df01"
|
||||
|
||||
[[mstx_balance]]
|
||||
address = "ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "21d43d2ae0da1d9d04cfcaac7d397a33733881081f0b2cd038062cf0ccbb752601"
|
||||
|
||||
[[mstx_balance]]
|
||||
address = "ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "c71700b07d520a8c9731e4d0f095aa6efb91e16e25fb27ce2b72e7b698f8127a01"
|
||||
|
||||
[[mstx_balance]]
|
||||
address = "STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "e75dcb66f84287eaf347955e94fa04337298dbd95aa0dbb985771104ef1913db01"
|
||||
|
||||
[connection_options]
|
||||
read_only_call_limit_write_length = 15000000
|
||||
read_only_call_limit_read_length = 100000000
|
||||
read_only_call_limit_write_count = 15500
|
||||
read_only_call_limit_read_count = 15500
|
||||
read_only_call_limit_runtime = 5000000000
|
||||
@@ -1,28 +0,0 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDe0Hk3UCszqsVE
|
||||
cE7BnZXwrxI8FYY94E95PFxtSWLSPjOryy0erAufRP8p9xzHwsj4t1MvW0aAzMf7
|
||||
ht+TRf1FnyLDSJuk9uFCZ7lVyIERkSVze1fqssD+tSr/SKCmWYdwz/GE0BHE0W5e
|
||||
OEh2gEyMkkaMRra7+SxHg9Suk2PC6M85raUm/ibt8NOMVWsqmUlOeEB0MmzL0sZS
|
||||
IVtTEepm5g/t2YwAwyN75qzvkWK8F8XDM4bDdr6Z25Y1NpfAeE+POywsFzcFNSOq
|
||||
r/GbCuZ1wRgpzOl1vtJw6htSnNOEX/tmjVSvwqswFUFSOXZO/y22b59HX9BeijVO
|
||||
JiEFXb+PAgMBAAECggEBAJ7LrwgXz6JT+6FJ9ScR21GcQ/+kS3b/zUQXG7wbiB1U
|
||||
jVjLRY3Nib7p2nybC9zmWnq/lL50a6vRxljhh6ebQuUChDDvJ1YLSQEdkT2s1yeg
|
||||
7TL/Xen7mYYtscYcibnkpp1k5bkE3RULOYBW1nX1/BhXC4Zfw032SHNzZflBO+Ek
|
||||
29H3yWj+avJxx3snVShSmrGq7c2JEkTkaoWb5b66DQfsHIU5zUvijVYygxlUC8w6
|
||||
YuO7BuYba0lLlEss3bVdcSB1BVewrbRPHQ0KxsNuE5hYO8xlEeRu3d2ygZ+tyI00
|
||||
faEkususWieWUD0R3VBR6106jIpyWSUO2ZK3Gm6zQqECgYEA/FhbtGP7cjbIblEf
|
||||
/9T+tIOhnKvo+9UHtAulScSoSfyiZdPAUK1Ytt3tA6QYUcZ8Iemyj1oSa1OWz6xb
|
||||
vfqeVTRXfG1lsYH9HWSd2ecZknQduOrmvx5L/luHyrnVt1sBwzL21mL+QDWI3V6U
|
||||
pQF4bFIP5XU03u0/CtPPraSFSR8CgYEA4gqfE+KTku509akvfLYCklt3kG0uydD8
|
||||
uKZ3GGuoqieqB74apJnGnlu7pHYi0+7FrbFcjvAj1X48U3wYI7zEx8K8lhhzJr22
|
||||
fDDLYjGYT7wCPzpVivJQm+wfB1ISKOZCPA0ZNaLnzdQV+CqNOxh8Vnwczeza8IZm
|
||||
oK1zF+3lC5ECgYABxHCn+8dIDoAq3aCWvxwlkYJxQXb5RI2wQiCfOqRfGEje47PG
|
||||
HOCxLy64xs5wzC4UYrmgbWYRoF0/CRr/YqD3Qc2XDoEW1C08pnbAjvDL6MpIgESr
|
||||
c//eQS/bSJ/pj9acUmAOMlVLh9R0kHQED9WTFKQN3FtJcGnvnnom4i8YywKBgQCg
|
||||
r2Q+QocdoB3MtKRpRwm0+QiZxsPH+6RrrwpidcXEj8WzE1TlRduHnzZYxxIjDk3A
|
||||
F6Dwi40tqzs/LawLW5mXV7uwB1l0ZNBgoF80QoU/ySrfv5wn1fGvpb64+YKnSGg1
|
||||
QCp3koKuMuIbNESJifJ5mGjxijppWWGDP0nd7OMxwQKBgQDN25TwzooAyn1nkVZk
|
||||
YXHA9AE1vnzGC6ZeFwU8Pc400TUptZAdrIB8GH1Jk73ev/RtLA9HDtj92r01g6OX
|
||||
tGnERyrso6Cub1+WeYW65Mkx/ZgP/DhAj7fzElF5Y5CgICxkWQjCQCEExL1tLMyD
|
||||
xtnsp1vekVb8lPAeee2L49YomA==
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -1,29 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE4zCCA0ugAwIBAgIRAJsScDL1fFlJp1LNV4+osc0wDQYJKoZIhvcNAQELBQAw
|
||||
bTEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMSEwHwYDVQQLDBhjYW9l
|
||||
cjExNUBERVNLVE9QLVZFRVVJM0ExKDAmBgNVBAMMH21rY2VydCBjYW9lcjExNUBE
|
||||
RVNLVE9QLVZFRVVJM0EwHhcNMjExMjEwMDUzMDU5WhcNMjQwMzEwMDUzMDU5WjBH
|
||||
MScwJQYDVQQKEx5ta2NlcnQgZGV2ZWxvcG1lbnQgY2VydGlmaWNhdGUxHDAaBgNV
|
||||
BAsME2Nhb2VyMTE1QHpwcm8ubG9jYWwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
||||
ggEKAoIBAQDe0Hk3UCszqsVEcE7BnZXwrxI8FYY94E95PFxtSWLSPjOryy0erAuf
|
||||
RP8p9xzHwsj4t1MvW0aAzMf7ht+TRf1FnyLDSJuk9uFCZ7lVyIERkSVze1fqssD+
|
||||
tSr/SKCmWYdwz/GE0BHE0W5eOEh2gEyMkkaMRra7+SxHg9Suk2PC6M85raUm/ibt
|
||||
8NOMVWsqmUlOeEB0MmzL0sZSIVtTEepm5g/t2YwAwyN75qzvkWK8F8XDM4bDdr6Z
|
||||
25Y1NpfAeE+POywsFzcFNSOqr/GbCuZ1wRgpzOl1vtJw6htSnNOEX/tmjVSvwqsw
|
||||
FUFSOXZO/y22b59HX9BeijVOJiEFXb+PAgMBAAGjggEiMIIBHjAOBgNVHQ8BAf8E
|
||||
BAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHwYDVR0jBBgwFoAUOKsxHO4qtsgO
|
||||
9KqkoeRPT9Et1SwwgdUGA1UdEQSBzTCByoIJbG9jYWxob3N0ghB3aG9hbWkubG9j
|
||||
YWxob3N0ggxwZy5sb2NhbGhvc3SCG3N0YWNrcy1ibG9ja2NoYWluLmxvY2FsaG9z
|
||||
dIIfc3RhY2tzLWJsb2NrY2hhaW4tYXBpLmxvY2FsaG9zdIIhc3RhY2tzLWJsb2Nr
|
||||
Y2hhaW4tZXZlbnQubG9jYWxob3N0giRzdGFja3MtYmxvY2tjaGFpbi1leHBsb3Jl
|
||||
ci5sb2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQEL
|
||||
BQADggGBACOXUSl9UxNx/GSYvhcnYV8pHLB1Q3OBg+sPQrOEYFmsIm8MOsCc3i2M
|
||||
mH2rPD4Sk1U74l+hZGD5QBGNiQBlBcIH2jWdu0jD6smF5XkWYOyBvuShDJDa6q+O
|
||||
CxOwt1l4+vFSW/elF6Fk4rUDfnT5xv3F67lDmYt90aE+z9KyROcCb7ixaKdHR6fW
|
||||
h6C8ymhGMxqRFc5H03T/0bxfurM8TEmmkl8LytXHQ82O1Xe2dWNcuAX5k0Jkh4bq
|
||||
myW7rIXPQWxCojXtcXSRQe5o1GLclFvOHHSLSsx+xsPQgYjzXCbGw7BKB59RgQp+
|
||||
SX6eJqRpp3Vl/m7Yc+ePqHz2DC2vyUpj1Ctb3CKD1M4e1sxXpXVrr9L6+5/kKg09
|
||||
rNPF8SFivWQon3NyrUtG1x05gDBEzQH5H5TE5hVsvSPLNyVQQafd8hWhh2tu1eyP
|
||||
SU/dVJCPGo5ydCeRvYyXXBjIFStH+uxFLCMwYXgyVC06Szbw7OYXYlJ8qMWcH6Er
|
||||
DIpGergGIA==
|
||||
-----END CERTIFICATE-----
|
||||
10
unit-tests/cleanup.sh
Executable file
10
unit-tests/cleanup.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
echo "Cleaning up mocknet data"
|
||||
rm -rf $DIR/stacks-blockchain/data/mocknet
|
||||
echo "Cleaning up postgres data"
|
||||
rm -rf $DIR/stacks-blockchain-api/postgres
|
||||
|
||||
echo "DONE"
|
||||
77
unit-tests/docker-compose.yml
Normal file
77
unit-tests/docker-compose.yml
Normal file
@@ -0,0 +1,77 @@
|
||||
version: "3.7"
|
||||
services:
|
||||
postgres:
|
||||
image: "postgres:12.2"
|
||||
ports:
|
||||
- "5439:5432"
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: stacks_blockchain_api
|
||||
POSTGRES_PORT: 5432
|
||||
volumes:
|
||||
- "./stacks-blockchain-api/postgres:/var/lib/postgresql/data"
|
||||
networks:
|
||||
- backend
|
||||
|
||||
stacks-blockchain:
|
||||
build:
|
||||
context: "./stacks-blockchain/docker"
|
||||
dockerfile: Dockerfile
|
||||
restart: on-failure
|
||||
environment:
|
||||
WAIT_BEFORE: 3
|
||||
WAIT_AFTER: 3
|
||||
WAIT_HOSTS: "stacks-blockchain-api:3700"
|
||||
NOP_BLOCKSTACK_DEBUG: 1
|
||||
STACKS_EVENT_OBSERVER: stacks-blockchain-api:3700
|
||||
XBLOCKSTACK_DEBUG: 1
|
||||
RUST_BACKTRACE: 1
|
||||
STACKS_CHAIN_ID: "0x80000000"
|
||||
PG_HOST: postgres
|
||||
PG_PORT: 5432
|
||||
PG_USER: postgres
|
||||
PG_PASSWORD: postgres
|
||||
PG_DATABASE: postgres
|
||||
V2_POX_MIN_AMOUNT_USTX: 90000000260
|
||||
STACKS_CORE_RPC_HOST: stacks-blockchain
|
||||
STACKS_CORE_RPC_PORT: 20443
|
||||
STACKS_API_ENABLE_FT_METADATA: 1
|
||||
STACKS_API_ENABLE_NFT_METADATA: 1
|
||||
ports:
|
||||
- "20443:20443"
|
||||
- "20444:20444"
|
||||
volumes:
|
||||
- ./stacks-blockchain/config:/app/config
|
||||
- ./stacks-blockchain/data:/root/stacks-node/data
|
||||
networks:
|
||||
- backend
|
||||
|
||||
stacks-blockchain-api:
|
||||
build:
|
||||
context: "./stacks-blockchain-api/docker"
|
||||
dockerfile: Dockerfile
|
||||
restart: on-failure
|
||||
networks:
|
||||
- backend
|
||||
environment:
|
||||
WAIT_HOSTS: "postgres:5432"
|
||||
PG_HOST: postgres
|
||||
PG_PORT: 5432
|
||||
PG_USER: postgres
|
||||
PG_PASSWORD: postgres
|
||||
PG_DATABASE: stacks_blockchain_api
|
||||
STACKS_CORE_EVENT_PORT: "3700"
|
||||
STACKS_CORE_EVENT_HOST: http://0.0.0.0
|
||||
STACKS_BLOCKCHAIN_API_PORT: "3999"
|
||||
STACKS_BLOCKCHAIN_API_HOST: 0.0.0.0
|
||||
STACKS_BLOCKCHAIN_API_DB: pg
|
||||
STACKS_CORE_RPC_HOST: stacks-blockchain
|
||||
STACKS_CORE_RPC_PORT: "20443"
|
||||
STACKS_CHAIN_ID: "0x80000000"
|
||||
NODE_ENV: development
|
||||
ports:
|
||||
- "3999:3999"
|
||||
- "9153:9153"
|
||||
networks:
|
||||
backend:
|
||||
7
unit-tests/stacks-blockchain-api/docker/Dockerfile
Normal file
7
unit-tests/stacks-blockchain-api/docker/Dockerfile
Normal file
@@ -0,0 +1,7 @@
|
||||
FROM blockstack/stacks-blockchain-api:1.0.4
|
||||
|
||||
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait /wait
|
||||
RUN chmod +x /wait
|
||||
|
||||
CMD /wait && node "./lib/index.js"
|
||||
|
||||
43
unit-tests/stacks-blockchain/config/Stacks.toml
Normal file
43
unit-tests/stacks-blockchain/config/Stacks.toml
Normal file
@@ -0,0 +1,43 @@
|
||||
[node]
|
||||
working_dir = "/root/stacks-node/data"
|
||||
rpc_bind = "0.0.0.0:20443"
|
||||
p2p_bind = "0.0.0.0:20444"
|
||||
wait_time_for_microblocks = 1000
|
||||
use_test_genesis_chainstate = true
|
||||
|
||||
[[events_observer]]
|
||||
endpoint = "stacks-blockchain-api:3700"
|
||||
retry_count = 255
|
||||
events_keys = ["*"]
|
||||
|
||||
[burnchain]
|
||||
chain = "bitcoin"
|
||||
mode = "mocknet"
|
||||
commit_anchor_block_within = 10000
|
||||
|
||||
[[ustx_balance]]
|
||||
address = "STB44HYPYAT2BB2QE513NSP81HTMYWBJP02HPGK6"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "cb3df38053d132895220b9ce471f6b676db5b9bf0b4adefb55f2118ece2478df01"
|
||||
|
||||
[[ustx_balance]]
|
||||
address = "ST11NJTTKGVT6D1HY4NJRVQWMQM7TVAR091EJ8P2Y"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "21d43d2ae0da1d9d04cfcaac7d397a33733881081f0b2cd038062cf0ccbb752601"
|
||||
|
||||
[[ustx_balance]]
|
||||
address = "ST1HB1T8WRNBYB0Y3T7WXZS38NKKPTBR3EG9EPJKR"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "c71700b07d520a8c9731e4d0f095aa6efb91e16e25fb27ce2b72e7b698f8127a01"
|
||||
|
||||
[[ustx_balance]]
|
||||
address = "STRYYQQ9M8KAF4NS7WNZQYY59X93XEKR31JP64CP"
|
||||
amount = 10000000000000000
|
||||
# secretKey = "e75dcb66f84287eaf347955e94fa04337298dbd95aa0dbb985771104ef1913db01"
|
||||
|
||||
[connection_options]
|
||||
read_only_call_limit_write_length = 15000000
|
||||
read_only_call_limit_read_length = 100000000
|
||||
read_only_call_limit_write_count = 15500
|
||||
read_only_call_limit_read_count = 15500
|
||||
read_only_call_limit_runtime = 5000000000
|
||||
6
unit-tests/stacks-blockchain/docker/Dockerfile
Normal file
6
unit-tests/stacks-blockchain/docker/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
||||
FROM blockstack/stacks-blockchain:2.05.0.0.0
|
||||
|
||||
ADD https://github.com/ufoscout/docker-compose-wait/releases/download/2.9.0/wait /wait
|
||||
RUN chmod +x /wait
|
||||
|
||||
CMD /wait && stacks-node start --config=/app/config/Stacks.toml
|
||||
Reference in New Issue
Block a user