-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile
88 lines (65 loc) · 10.5 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Use the latest Ubuntu image as the base
FROM ubuntu:latest
# Avoid prompts from apt during installation
ENV DEBIAN_FRONTEND=noninteractive
ENV CGO_ENABLED=1
ENV GOOS=linux
ENV GOARCH=amd64
ARG NODE_NAME
RUN apt-get update && apt-get install -y
# Update the system and install essential components
RUN apt-get update && apt-get install -y wget curl git nano jq build-essential g++-x86-64-linux-gnu libc6-dev-amd64-cross
RUN rm -rf /var/lib/apt/lists/* \
&& wget https://golang.org/dl/go1.21.4.linux-amd64.tar.gz \
&& tar -C /usr/local -xzf go1.21.4.linux-amd64.tar.gz \
&& rm go1.21.4.linux-amd64.tar.gz \
&& dpkg --add-architecture amd64
# Set the Go path
ENV PATH=$PATH:/usr/local/go/bin
# Set the working directory
WORKDIR /app
# Copy the local directory contents into the container
COPY . /app
# Clone the Babylon repository
RUN git clone https://github.com/babylonchain/babylon.git \
&& cd babylon \
&& git checkout v0.8.5 \
&& make build . \
# Copy babylond to /usr/local/bin to make it globally accessible
&& cp ./build/babylond /usr/local/bin
# Verify the installation - This is primarily for Docker build feedback,
# the command's output won't be visible during the build, but it will fail the build if babylond doesn't work
RUN babylond --help
# Initialisation of the node
RUN mkdir -p /root/.babylond \
&& babylond init ${NODE_NAME?nodenamenotset} --chain-id bbn-test-3 \
# Download the genesis file
&& wget https://github.com/babylonchain/networks/raw/main/bbn-test-3/genesis.tar.bz2 \
# Extract genesis.json and clean up
&& tar -xjf genesis.tar.bz2 && rm genesis.tar.bz2 \
# Move genesis.json into the correct directory
&& mv genesis.json /root/.babylond/config/genesis.json
# Configuration of the Babylon files
# Placeholder for seeds will be replaced with actual seeds
RUN sed -i '/^\s*seeds/c\seeds = "16c7e580da86a32162428304e7f75b716565e172@109.199.122.14:26656,060846d3870cd79e52c8302cecbdb92c47950668@37.120.178.36:26656,91b89cf8c823884361561c5b1cbfd025d317f6e7@207.180.233.6:26656,bea8b67a270714058e9094131c6af5402df16a95@89.58.27.59:26656,fbff2472587a987a4873d83aff0c28f14ad61b3c@37.60.248.151:26656,eead23a6ef597bd613d9e5c22033c2d88efab70e@213.199.53.126:26700,8cb145885b43e77007cbb1bf661f32854678a360@173.212.251.224:26656,70f252385e31d1cc63351bf40a66954a17008e78@95.111.230.110:20656,8b40f51bcfd600278edcb9fd666f52b490b0c67c@154.26.137.255:26656,5a0fd94b24d115d8f4707a82a7d52ad81ef0391a@5.189.132.8:26656,827641f83a2dadc056f03a51083125c461bff576@149.56.18.134:26656,3e6f886318c1d1850028ab205f965f1463ba1f21@37.120.191.196:26656,444067c6a233ce94cc168af089d3058c9283c5d9@109.199.117.45:26656,7d7aad93096f4b1dae8c11e3801c9ba2b55df25c@194.233.95.139:26656,79e00df888f58754175f461095086d4ac2bc0349@109.199.124.231:26656,0ef99deac6f27200afa1189f4f8350c647d40438@85.208.48.24:26656,021e04e9e0b6f2d7cde1ff1cf155f7fbe0046647@154.26.134.238:26656,6fa3307f37dcd0fb8dc23c65129ba85f9d4eed31@154.26.135.96:26656,3e8b4282a845b3fa3d81833fc7d8ddda957cb5d1@144.126.156.170:26656,a747fec310ed2b4193c02d36d2105ac6f582aa0c@109.199.117.89:26656,880a0cf76749e3fec166e868391e3212b25a9bc2@35.87.65.17:26656,4f27de403c2160cc8fb1eca1397b3661ace58607@37.60.235.133:26656,5bfbca12d8e0374f5dae24bcfbf3b5bba4532c02@35.88.143.25:26656,d72cedc16d46c69a0c1b5901cf10a97f837287ec@194.163.190.128:26656,0515c5df5673e79a2c56495ee99c85e4b29ff736@154.12.245.42:26656,4edc6cbd46a3de2b0c710298bf403e06d5e7725d@209.126.3.74:26656,2a48cab6265889d43f6ed54e05cfaeab27ada274@161.97.157.215:26656,8f7e89f25f4a9d6b5de8eb006f8820565663ac28@213.199.52.216:26656,4b883c1630693385b0455c0da3dcbdcdfe3feab4@109.199.103.58:26656,faf2b157f2708d42a6290ffb8c0973c878ae070e@46.250.240.29:26656,0d54afe9faee734593c8f34bfd95db5a77802dce@95.111.225.90:26656,ee86509efe884fa332513e845b9d0f656ea74cf3@84.247.138.89:26656,5476f04c4ff44d89289f5ca6938e0f4291cac864@154.12.244.235:26656,18abdd8a059db5e1a2bc79c354971f51ab37ac58@44.221.49.128:26656,7aff157c9b8acdb9a08ccd815e3c84291f788d97@213.199.35.110:26656,1a34a682210d72380c24af5e93e84f751983e396@207.180.193.69:26656,7fec018659598df350f8d7fab77f84ce00d9592c@95.216.249.128:26656,b6a1eda71e741bc30013fa34c75bd00665ed49bf@144.126.132.28:26656,c2a154c94db2d3420c90f6ffb000a8455b0ca3c6@158.220.85.36:26656,44e931c4123e8a6ccebd0bf9d461fb8ebe2ca074@37.60.237.248:26656,82d4073826cafd7871b1d66cf94b53eb2e87651c@213.199.37.134:26656,2ee26c25e190c200517a359209f079b00dab3420@109.199.124.226:26656,317fe00292707fb14ada256d1685586bdeb948b7@123.118.9.33:26656,6563d4a89eeb574a635f74b6ed36d70cdd437656@173.249.35.247:26656,c840c85d5a8c40d57428656981e1bf9a24e51b92@167.86.77.30:26656,7d9eddcebd4d281bbe040c9150c447b10fa8d3fe@148.251.195.184:26656,444ea4a5b4ef12172627b715409644fb50ccb3ca@62.171.149.112:26656,3409a42d37103f5a184f3c7dd67d66851defaf7e@213.199.39.202:26656,702228072fc2df5be0ea37733dc72116cb72a870@109.199.124.233:26656,f2aed4ea48b54838a06104343adce119adeb5ce6@213.199.46.253:26656,b582fd51fc73b4db69bd3d96a88ba14d423c002f@144.91.101.255:26656,b3b23957800179c772f2697382f0f2efe64fcc35@89.72.55.119:26656,e7848e82dc4ed1e84ed984e1b5fafbea0b2dd88e@109.199.125.212:26656,f9329236699182882deb559f95bf4c87eeaa986f@173.212.247.205:26656,b4d3f8c8cd17f77c4b735c3dcf614ad214aaedba@147.45.71.126:26656,1541f6f3700c265cadb9f2eaef5fcb6ceab8950d@144.91.112.79:26700,455400419ca3feeb75d175605e86cd8f3b7609f6@149.102.129.144:26656,8050f737958e7c8ad691f2bed8190050528a6019@38.91.107.236:20656,7c271c3fd7051cf1e52be6d84de65dc92fa7629b@213.199.35.27:26656,ca04d19ca74759d3e5edc8782b522ba091a5bf36@89.117.49.23:26656,a3d0e46ba4715079dc796c130994b026d9c7f126@109.199.108.19:26656,2e53b8bea549c2c3128dc43cfc9e7dce867be42f@178.124.188.210:26656,1bf7dbdcb7d08ab1e94cc1b32ac1a20082dd034e@89.117.20.196:26656,f53c5a6184f33a8c9a1d4ecd39b7982261dbbe9d@173.249.17.188:26656,a6f7dfe6ad6899d454b3249ea80192a8b690cbd8@213.199.42.111:26656,98ae191671b87dfa15b1c098e470ba309fbbaedf@37.120.175.209:26656,4f4973d54a32348f37f8085a38c7a10a7d30f60d@46.250.240.28:26656,1653a6dcf378467673ed0e837680ecffd5b1ff22@37.60.234.80:26656,251960ba3e7498e2ee7714ecbb6ff1dfffec35f8@213.199.32.254:26656,ba110e5597ae6533187fbb5e750e65e7b9b81e39@213.199.49.109:26656,5b0761812c24ee1288e1c57db8ddf9a3a9a28520@84.247.139.15:26656,a51f1d1df04757ae47df35a6c29417a352a55aca@23.162.200.231:26656,93187d76f68379e638a765d29085b3ba9563d9a2@109.199.124.225:26656,1765b6edbe1707e7fb2e4de35fbb43fa617690ba@213.199.45.106:26656,54a479fb5b9f87f71ba909135985d59430f1f447@185.187.169.180:26656,de820378224463e699fc51e93c6b16a8c6cb2cf4@213.199.49.104:26656,efb4b5c0274eae783fc3061195eb190c09d932a8@109.123.236.193:26656,70e48b8da492ea80e4c2d03434e4a3700a0df267@84.46.252.156:26656,f86a9def9717d958d6bf32e2ca0d5da1623c437c@213.98.64.137:26656,74190795eb8a9b87cdd144d58764633d30ab4275@82.219.13.245:26656,9933217130c508d3bae1d8d24020247ee71d581d@37.60.229.254:26700,79870ad22fdf23027a36f3b515d8a0d28be9beeb@109.123.237.16:26656,fa3ee91b6ee163eac98b78780754efba8f12ba50@45.41.204.210:26656,4b5ed6e8caed5bbaa7669d113f92efbb6641f83c@84.247.139.5:26656,b9bb09fe2e4a238fc2ac3d242f2c4942f1de887d@89.58.29.171:26656,acca2380e72b373f675377cb701c4d7c53bf60f5@158.220.123.155:26656,5e02bb2c9a644afae6109bf2c264d356fad27618@15.165.166.210:26656,b845d57ec7090860afb04df2fd3b69d6076c21da@65.109.32.125:26656,cd6329188b8a94afca163812081f6b46daa74731@89.58.59.69:26656,47a7101a7a47e0b3c4324ff1ff3006f4b5432b63@89.58.36.186:26656,f999e0e4c3cdca471a0c482fe9c0bc01b63b53bf@144.76.14.158:20735,19e816dece206d37d997b6ba14798ffe2a6d48f3@213.199.46.11:20656,5c8c0de422a6bedaabcc582252aebe4f77d51be8@185.209.223.10:26656,2b192c278abb626af9465c75b94f932d48a391a8@185.218.125.65:26656,dd7a541e505517a065c34b5dfa24ca03158ef4a4@176.9.20.101:26656,ba6782372f1d6f378f611d239d70558486442c91@154.26.132.31:26656,b03d191f81c05263ed047330681b011e32f413bf@209.145.62.91:26656,d3b2c3323a1eef519cec232d209710d1f0539daa@88.198.57.55:26656,8e1381ae6bc0551d152a5259b935cdd5cd6dcca6@38.242.200.164:26656,9041f8c106c94b4703a8fa09bd41e857b104f60b@84.247.163.55:20656,67090988292901f282913132a3ac0ee8d08c9a82@95.217.237.154:35656,6f117f7e259482f4477a09664b4528e4a0fe9be2@5.199.173.45:26656,91558185f61a1b814772975ed291b38916228d70@5.42.94.82:26656,68b2ac39f0c2685edb39c82b4608174f3e55a6c9@51.79.230.113:26656,ca9c851b6fcdd3ebc493b56acbbf7407d274d024@144.126.157.206:26656,27b082cf14efb5fdde430b2d85ecd6dc75a61bb7@95.216.249.134:26656,183e96b9d51d84d0ff38ad2fe785b0c74fa6ac98@154.12.245.253:26656,44ff1d4f2a0690a76fd817f4847b1ced0925f505@45.94.209.44:26656,980d020f2cb645e036e8df76596410f4728cacfb@185.209.228.147:26656,c1da4727ada4178884074782ed3a510bd67783f7@154.53.50.56:26656,f7dd0df8fe0a3f03f57991982b72e1af09826bc2@66.94.99.104:26656,45d03b2b835a1c0882a9b897b35f980aac673b4d@207.180.196.23:20656,48e4119697326fbdf02fb6639a7ecd2ae53e062c@38.242.253.174:26656,ac829edf5a6b980a3826aac5e9858cd0330e029f@193.187.129.68:26656,69f9af24d68a73b30afa2490fcde51abd665b878@207.180.233.46:20656,21d9dd05fa924cbcdaf501b92b74bf106af29c95@89.58.32.218:25000,0bf64111fbab730ea78ab7d544053aba4c94c3de@46.250.240.33:26656,f41eb8396c59d7da8f6738972ed4da4547a8d0c7@164.68.98.191:26656,0f2a17d473547c8f6b7fc847a4347fbf395f3fdb@213.199.40.42:26656,e2575c08b197e7f8802b3f4416d0a1eb3eca8110@75.119.158.38:26656,0bd249baef9e533b9f7302ba4a5a5eea39dafade@213.199.44.64:26656"' ~/.babylond/config/config.toml \
&& PEERS="de820378224463e699fc51e93c6b16a8c6cb2cf4@213.199.49.104:26656,8e1381ae6bc0551d152a5259b935cdd5cd6dcca6@38.242.200.164:26656,5e02bb2c9a644afae6109bf2c264d356fad27618@15.165.166.210:26656,9041f8c106c94b4703a8fa09bd41e857b104f60b@84.247.163.55:20656,4b5ed6e8caed5bbaa7669d113f92efbb6641f83c@84.247.139.5:26656" \
&& sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" /root/.babylond/config/config.toml \
&& sed -i '/^\[btc-config\]$/,/^\[/ s/network\s*=.*/network = "signet"/' /root/.babylond/config/app.toml \
&& sed -i 's/^\s*minimum-gas-prices\s*=.*$/minimum-gas-prices = "0.00001ubbn"/' /root/.babylond/config/app.toml
# Install Cosmovisor
RUN go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
# Create directories for Cosmovisor
RUN mkdir -p /root/.babylond/cosmovisor \
&& mkdir -p /root/.babylond/cosmovisor/genesis \
&& mkdir -p /root/.babylond/cosmovisor/genesis/bin \
&& mkdir -p /root/.babylond/cosmovisor/upgrades
# Copy babylond to the Cosmovisor genesis bin directory
RUN cp /usr/local/bin/babylond /root/.babylond/cosmovisor/genesis/bin/babylond
# Copy Cosmovisor to the bin directory
RUN cp /root/go/bin/cosmovisor /usr/local/bin/
# Set environment variables for Cosmovisor
ENV DAEMON_NAME=babylond \
DAEMON_HOME=/root/.babylond \
DAEMON_ALLOW_DOWNLOAD_BINARIES=false \
DAEMON_RESTART_AFTER_UPGRADE=true
WORKDIR /root