Search…
ssv.network Docs
Network Overview
Network Overview
Operators
Operators
Installation - Operator
Install ssv Node
Local Setup
Register Operator
Operators Grafana Dashboard
Node flags
Node Troubleshooting FAQ
Scoring
Statuses
Validators
Validators
Installation - Validator
SSV Token
Upgrading to SSV Token
Developers
Contracts
Powered By
GitBook
Install ssv Node
​
SSV node setup
is also available using
eth-docker
.
eth-docker
. Special thanks to Yorick from
cryptomanfakur.io
for the documentation.
1. Setup Hosting Server
All cloud services are supported for your node setup (see a reference example on AWS
here
).
When you setup your firewall, make sure to expose the ports that you set under "
5. Set Configuration File
" (Default are 12000 UDP and 13000 TCP).
2. Login with SSH
Windows
1
cd /{path to the folder to which the key pair file was downloaded}
2
​
3
ssh -i {key pair file name}
[email protected]
{instance public IP you took from AWS}
Copied!
MacOS
1
cd ./{path to the folder to which the key pair file was downloaded}
2
​
3
chmod 400 {key pair file name}
4
​
5
ssh -i {key pair file name}
[email protected]
{instance public IP you took from AWS}
Copied!
3. Installation Script
1
sudo su
2
​
3
$ wget https://raw.githubusercontent.com/bloxapp/ssv/main/install.sh
4
​
5
chmod +x install.sh
6
​
7
./install.sh
Copied!
4. Generate Operator Keys
Public key ("pk") and Secret key ("sk")
Your PK is required when you
register your operator
to the network.
1
docker run -d --name=ssv_node_op_key -it 'bloxstaking/ssv-node:latest' \
2
/go/bin/ssvnode generate-operator-keys && docker logs ssv_node_op_key --follow \
3
&& docker stop ssv_node_op_key && docker rm ssv_node_op_key
Copied!
PK Example
SK Example
LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBMDswYVdEK3RibndzYVdLYjF3UnEKM0xheW8rL1dSeGh3aVJ0aXFsL0dmZGozaHY0Unh5K1FwVzh6666RK1dJNmJ1VFc4bzN2ZmsydDMwNUlQRTdCVApZR3ZoS666MFNoYmlHVXVQcXpxQnVSTjB6OTUxV3VlcEJwV3RkeTdUaDVsT0w1cTQ3REFqbFFDdi95NlJLZzM5Ck9nTXZnZ1BaNTRNWHJZcFdINlJqa3hoVUxvWXQxTEVBN05pU3JHU3JqdGxCTlZiRHR5d666WFp0SnNkM2tjbTMKNkw0anZHd2I0RjhqTmlzSUU5eWFLd2J1SmV6dHpGdjY1YXRiV25hVFdzbmg1bDNrZ05uMlJLWktqZ1pycmRGdApuT2t3Vmh6M2JDRTFUZWpua1kwLzN4QTBIWjVONC9IUUF1Rit2TllYb040aDBicnVTdlVmZTBLTndvMDNFQ3l3Ckl3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0U
LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBMCswYVdEK3RibndzYVdLYjF3UnEzTGF5bysvV1J4aHdpUnRpcWwvR2ZkajNodjRSCnh5K1FwVzhFRUNRK1dJNmJ1VFc4bzN8YmsydDMwNUlQRTdCVFlHdmhKem4wU2hiaUdVdVBxenFCdVJOMHo5NTEKV3VlcEJwV3RkeTdUaDVsT0w1cTQ3REFqbFFDdi95NlJLZzM5T2dNdmdnUFo2VE1YcllwV0g2UmpreGhVTG9ZcwpxTEVBN05pU3JHU3JqdGxCTlZiRHR5d3lGWFp0SnNkM6gykTM2TDRqdkd3YjRGOGpOaXNJRTl5YUt3YnVKZXq0RnpGdjY1YXRiV25hVFdzbmg1bDNrZ05uMlJLWktqZ1pycmRGdG5Pa3dWaHozYkNFMVRlam5rWTAvM3hBMEhaNU4KNC9IU666Rit2TllYb040aDBicnVTdlVmZTBLTndvMDNFQ3l3SXdJREFRQUJBb0lCQUQvbW9XZjBvMlhLR1ZZWgpmcVlCMWZzQk43SkkwaEtUNHZMa2lBYVpaRzl6NlljUnV1aVZoZ2JzQjR5RENSWWd3Z0hCbTBTc1NFamFRY0pRCnF5MGpvTEJWTndtdDV1UWtMRDYyVXZhdGFJb1d2TVVrN2J2Z1dFMzgrZFlURDRNMmphVzdBSUZ2TG50eVBwOHkKT21FMDRLTUtiTnZHTDRHcWZ6dzdseVpwV2dEeTY0bWdkMk8rd21aZFNhdkR0TGNza666bHVSTEQxYklKVDQxSApwY3hKVk5qVmhFU3NGM1NGdXM4ZmpERXJiYmFQbnNTNWI3Z0hGUUJpZG5iYWhjOG5MOGFkT2M5Nks4a2FIWEFYCjJlSEloQitwSmdwUjU0bXY1bjZWTFljTUhXVTVyWE14emNicXQxVGFuMjI3MTA2NTRRQmIzY1ByT1V5UkI3REkKU1NEUzc0a0NnWUVBN1U4M0t4cWJpQy9mR2c4VUxMVjAzWktrOCtHWlNKZFlhN2ZnS2dXVCsvQjJLa2xPY2Y0TAoxcHYxMmlFbTdnVE5FYnNhaElpTm8wYlo5eEx2aG9NdTZoNSp
Please make sure to store and backup your operator
secret key
in a safe place.
Do not share
this key with anyone.
5. Create Configuration File
Fill all the placeholders (e.g.
<ETH 2.0 node>
or
<db folder>
) with actual values, and run the command below to create a config.yaml file.
1
$ yq n db.Path "<db folder>" | tee config.yaml \
2
&& yq w -i config.yaml eth2.Network "prater" \
3
&& yq w -i config.yaml eth2.BeaconNodeAddr "<ETH 2.0 node>" \
4
&& yq w -i config.yaml eth1.ETH1Addr "<ETH1 node WebSocket address>" \
5
&& yq w -i config.yaml eth1.RegistryContractAddr "0x687fb596F3892904F879118e2113e1EEe8746C2E" \
6
&& yq w -i config.yaml OperatorPrivateKey "<private key of the operator>"
Copied!
Please make sure your ETH 1 endpoint is communicating
over Websocket
and
not over HTTPS
in order to support subscriptions and noitifications
5.1 Debug Configuration
In order to see
debug
level logs, add the corresponding section to the
config.yaml
by running:
1
$ yq w -i config.yaml global.LogLevel "debug"
Copied!
5.2 Metrics Configuration
In order to enable
metrics
, the corresponding config should be in place:
1
$ yq w -i config.yaml MetricsAPIPort "15000"
Copied!
6. Start Node in Docker
6.1 Run the docker image in the same folder you created the config.yaml:
1
docker run -d --restart unless-stopped --name=ssv_node -e \
2
CONFIG_PATH=./config.yaml -p 13000:13000 -p 12000:12000 -v \
3
$(pwd)/config.yaml:/config.yaml -v $(pwd):/data -it \
4
'bloxstaking/ssv-node:latest' make BUILD_PATH=/go/bin/ssvnode start-node \
5
&& docker logs ssv_node --follow
Copied!
6.2 Update SSV Node Image
Kill running container and pull the latest image or a specific version
(
bloxstaking/ssv-node:<version>
)
1
$ docker rm -f ssv_node && docker pull bloxstaking/ssv-node:latest
Copied!
Operators - Previous
Installation - Operator
Next
Local Setup
Last modified
3mo ago
Copy link
Contents
1. Setup Hosting Server
2. Login with SSH
3. Installation Script
4. Generate Operator Keys
5. Create Configuration File
6. Start Node in Docker