Skip to content

Commit 38d2631

Browse files
KolbyMLEikix
authored andcommitted
clients: add portal network client definitions (ethereum#977)
1 parent 86ccb97 commit 38d2631

File tree

10 files changed

+149
-0
lines changed

10 files changed

+149
-0
lines changed

clients/fluffy/Dockerfile

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
ARG branch=amd64-master-latest
2+
3+
FROM statusim/nimbus-fluffy:$branch
4+
5+
ADD fluffy.sh /fluffy.sh
6+
RUN chmod +x /fluffy.sh
7+
8+
RUN echo "latest" > /version.txt
9+
10+
EXPOSE 8545 9009/udp
11+
12+
ENTRYPOINT ["/fluffy.sh"]

clients/fluffy/fluffy.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
IP_ADDR=$(hostname -i | awk '{print $1}')
7+
FLAGS=""
8+
9+
if [ "$HIVE_PORTAL_NETWORKS_SELECTED" != "" ]; then
10+
if [[ $HIVE_PORTAL_NETWORKS_SELECTED =~ "beacon" ]]; then
11+
# Providing atrusted block root is required currently to enable the beacon network.
12+
# It can be a made up value for now as tests are not doing any sync.
13+
FLAGS="$FLAGS --trusted-block-root:0x0000000000000000000000000000000000000000000000000000000000000000"
14+
fi
15+
fi
16+
17+
18+
if [ "$HIVE_CLIENT_PRIVATE_KEY" != "" ]; then
19+
FLAGS="$FLAGS --netkey-unsafe=0x$HIVE_CLIENT_PRIVATE_KEY"
20+
fi
21+
22+
# Fluffy runs all networks by default, so we can not configure to run networks individually
23+
fluffy --rpc --rpc-address="0.0.0.0" --nat:extip:"$IP_ADDR" --network=none --log-level="debug" $FLAGS

clients/trin-bridge/Dockerfile

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
FROM portalnetwork/trin:latest-bridge
2+
3+
ADD https://raw.githubusercontent.com/ethereum/portal-spec-tests/master/tests/mainnet/history/hive/test_data_collection_of_forks_blocks.yaml /test_data_collection_of_forks_blocks.yaml
4+
ADD trin_bridge.sh /trin_bridge.sh
5+
RUN chmod +x /trin_bridge.sh
6+
7+
ADD trin_bridge_version.sh /trin_bridge_version.sh
8+
RUN chmod +x /trin_bridge_version.sh
9+
10+
RUN /trin_bridge_version.sh > /version.txt
11+
12+
# Export the usual networking ports to allow outside access to the node
13+
EXPOSE 8545 9009/udp
14+
15+
# add fake secrets for bridge activation
16+
ENV PANDAOPS_CLIENT_ID=xxx
17+
ENV PANDAOPS_CLIENT_SECRET=xxx
18+
19+
ENTRYPOINT ["/trin_bridge.sh"]

clients/trin-bridge/trin_bridge.sh

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
IP_ADDR=$(hostname -i | awk '{print $1}')
7+
FLAGS=""
8+
9+
if [ "$HIVE_BOOTNODES" != "" ]; then
10+
FLAGS="$FLAGS --bootnodes=$HIVE_BOOTNODES"
11+
else
12+
echo "Warning: HIVE_BOOTNODES wasn't provided"
13+
exit 1
14+
fi
15+
16+
RUST_LOG=debug portal-bridge --node-count 1 $FLAGS --executable-path ./usr/bin/trin --mode test:/test_data_collection_of_forks_blocks.yaml --external-ip $IP_ADDR --epoch-accumulator-path . trin
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
#trin --version | tail -1 | sed "s/ /\//g"
7+
echo "latest"

clients/trin/Dockerfile

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
ARG branch=latest
2+
3+
FROM portalnetwork/trin:$branch
4+
5+
ADD trin.sh /trin.sh
6+
RUN chmod +x /trin.sh
7+
8+
ADD trin_version.sh /trin_version.sh
9+
RUN chmod +x /trin_version.sh
10+
11+
RUN /trin_version.sh > /version.txt
12+
13+
# Export the usual networking ports to allow outside access to the node
14+
EXPOSE 8545 9009/udp
15+
16+
ENTRYPOINT ["/trin.sh"]

clients/trin/trin.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
IP_ADDR=$(hostname -i | awk '{print $1}')
7+
FLAGS=""
8+
9+
if [ "$HIVE_CLIENT_PRIVATE_KEY" != "" ]; then
10+
FLAGS="$FLAGS --unsafe-private-key 0x$HIVE_CLIENT_PRIVATE_KEY"
11+
fi
12+
13+
if [ "$HIVE_PORTAL_NETWORKS_SELECTED" != "" ]; then
14+
FLAGS="$FLAGS --networks $HIVE_PORTAL_NETWORKS_SELECTED"
15+
else
16+
FLAGS="$FLAGS --networks history"
17+
fi
18+
19+
RUST_LOG=debug trin --web3-transport http --web3-http-address http://0.0.0.0:8545 --external-address "$IP_ADDR":9009 --bootnodes none $FLAGS

clients/trin/trin_version.sh

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
#trin --version | tail -1 | sed "s/ /\//g"
7+
echo "latest"

clients/ultralight/Dockerfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
FROM ghcr.io/ethereumjs/ultralight:latest
2+
3+
COPY ultralight.sh /ultralight.sh
4+
RUN chmod +x /ultralight.sh
5+
6+
RUN echo "latest" > /version.txt
7+
8+
# Export the usual networking ports to allow outside access to the node
9+
EXPOSE 8545 9000/udp
10+
11+
ENTRYPOINT ["/ultralight.sh"]

clients/ultralight/ultralight.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
# Immediately abort the script on any error encountered
4+
set -e
5+
6+
IP_ADDR=$(hostname -i | awk '{print $1}')
7+
FLAGS=""
8+
9+
if [ "$HIVE_CLIENT_PRIVATE_KEY" != "" ]; then
10+
FLAGS="$FLAGS --pk=0x1a2408021220$HIVE_CLIENT_PRIVATE_KEY"
11+
fi
12+
13+
if [ "$HIVE_PORTAL_NETWORKS_SELECTED" != "" ]; then
14+
FLAGS="$FLAGS --networks=$HIVE_PORTAL_NETWORKS_SELECTED"
15+
else
16+
FLAGS="$FLAGS --networks=history"
17+
fi
18+
19+
DEBUG=* node /ultralight/packages/cli/dist/index.js --bindAddress="$IP_ADDR:9000" --dataDir="./data" --rpcPort=8545 $FLAGS

0 commit comments

Comments
 (0)