-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial commit. Add start scripts for SSC testnet and mainnet nodes.
- Loading branch information
0 parents
commit 2a2688b
Showing
17 changed files
with
1,208 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
name: ShellCheck | ||
|
||
on: [push] | ||
|
||
permissions: | ||
contents: read | ||
jobs: | ||
shellcheck: | ||
name: Run shellcheck | ||
runs-on: ubuntu-latest | ||
env: | ||
GOPRIVATE: github.com/sagaxyz/* | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Run ShellCheck | ||
uses: ludeeus/action-shellcheck@master | ||
env: | ||
SHELLCHECK_OPTS: -e SC2086 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name: shfmt | ||
|
||
on: [push] | ||
|
||
permissions: | ||
contents: read | ||
jobs: | ||
shfmt: | ||
name: Run shfmt | ||
runs-on: ubuntu-latest | ||
env: | ||
GOPRIVATE: github.com/sagaxyz/* | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: '>=1.22.2' | ||
- uses: actions/checkout@v4 | ||
- name: Install shfmt | ||
run: go install mvdan.cc/sh/v3/cmd/shfmt@latest | ||
- name: Check Shell Script Formatting | ||
run: find . -type f -name "*.sh" -exec shfmt -i 2 -ci -d {} + |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2024 Saga.xyz | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# helper-tools | ||
This repository contains some helper tools, scripts etc. | ||
|
||
- gcp-ssc-scripts - bash scripts to simplify SSC full nodes deployment | ||
|
||
|
||
For detailed instructions check Readme files in subdirectories. More tools will be added in the future. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# SSC startup scripts | ||
These scripts simplify a spin-up process of SSC nodes. Initially designed for GCP, they can be easily reused for basically any Linux machine. | ||
|
||
## Requirements | ||
Ubuntu 20.04/22.04. Other Linux distributions are not yet tested though will likely work too. | ||
|
||
## What do they do | ||
- Install Go and other helper tools | ||
- Create sscdserviceuser | ||
- Build sscd (SSC daemon binary) | ||
- Create systemd service for sscd | ||
- Init sscd and adjust configuration files | ||
- Modify configuration files depending of the node type - RPC, gRPC, archival and so on | ||
- Start sscd service | ||
|
||
## How to use | ||
|
||
For GCP these scripts can be used as [startup scritps](https://cloud.google.com/compute/docs/instances/startup-scripts/linux). For other cases you can just run one of these scripts manually. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
#!/bin/bash | ||
|
||
set -e pipefail | ||
|
||
# if service exists, do nothing | ||
if systemctl list-units --full -all | grep -q 'sscd.service'; then | ||
echo "Service exists." | ||
exit 0 | ||
fi | ||
|
||
# install dependencies | ||
apt update | ||
apt upgrade -y | ||
apt install build-essential make wget git daemon jq python3-pip -y | ||
pip install yq | ||
|
||
GO_VERSION="${GO_VERSION:-1.22.2}" | ||
SSC_VERSION="${SSC_VERSION:-v0.1.5}" | ||
|
||
wget https://golang.org/dl/go$GO_VERSION.linux-amd64.tar.gz | ||
tar -C /usr/local -xzf go$GO_VERSION.linux-amd64.tar.gz | ||
# shellcheck disable=SC2016 | ||
# shellcheck disable=SC1091 | ||
echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile | ||
# shellcheck disable=SC2016 | ||
echo 'export GOPATH=$HOME/go' | tee -a /etc/profile | ||
# shellcheck disable=SC1091 | ||
source /etc/profile | ||
go version | ||
|
||
# create a user for sscd | ||
useradd -r -s /bin/false -d /opt/sscd sscdserviceuser | ||
mkdir -p /opt/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /opt/sscd | ||
mkdir -p /var/log/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /var/log/sscd | ||
|
||
# install ssc | ||
sudo -u sscdserviceuser git clone -b $SSC_VERSION https://github.com/sagaxyz/ssc /tmp/ssc | ||
sudo -u sscdserviceuser PATH=$PATH:/usr/local/go/bin make install -C /tmp/ssc/ | ||
cp /opt/sscd/go/bin/sscd /usr/local/bin/ | ||
sudo -u sscdserviceuser sscd version | ||
|
||
# create sscd service | ||
sudo tee /etc/systemd/system/sscd.service <<EOF | ||
[Unit] | ||
Description=sscd daemon | ||
After=network-online.target | ||
[Service] | ||
User=sscdserviceuser | ||
Group=sscdserviceuser | ||
ExecStart=sscd start --home /opt/sscd/.ssc/ | ||
StandardOutput=append:/var/log/sscd/sscd.log | ||
StandardError=append:/var/log/sscd/sscd_error.log | ||
Restart=always | ||
RestartSec=3 | ||
LimitNOFILE=4096 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
|
||
# init ssc | ||
sudo -u sscdserviceuser HOME=/opt/sscd/ sscd init saganode --chain-id ssc-1 | ||
|
||
# set seeds | ||
sudo -u sscdserviceuser tomlq -t '.p2p.seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# get genesis file | ||
sudo -u sscdserviceuser wget -O /opt/sscd/.ssc/config/genesis.json 'https://raw.githubusercontent.com/sagaxyz/mainnet/main/genesis/genesis.json' | ||
|
||
# adjust config.toml | ||
sudo -u sscdserviceuser tomlq -t '.rpc.laddr = "tcp://0.0.0.0:26657"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# adjust app.toml | ||
sudo -u sscdserviceuser tomlq -t '.pruning = "nothing"' /opt/sscd/.ssc/config/app.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/app.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/app.toml.out /opt/sscd/.ssc/config/app.toml | ||
|
||
# for archival node we need to get a snapshot | ||
sudo -u sscdserviceuser wget -O /opt/sscd/latest.tar https://saga-snapshots-mainnet.s3.amazonaws.com/ssc/archive/latest.tar | ||
sudo -u sscdserviceuser tar -xvf /opt/sscd/latest.tar -C /opt/sscd/.ssc/ | ||
sudo -u sscdserviceuser mv /opt/sscd/.ssc/root/ /opt/sscd/.ssc/ | ||
sudo -u sscdserviceuser rm -f /opt/sscd/latest.tar | ||
|
||
# start | ||
systemctl enable sscd.service | ||
systemctl start sscd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
#!/bin/bash | ||
|
||
set -e pipefail | ||
|
||
# if service exists, do nothing | ||
if systemctl list-units --full -all | grep -q 'sscd.service'; then | ||
echo "Service exists." | ||
exit 0 | ||
fi | ||
|
||
# install dependencies | ||
apt update | ||
apt upgrade -y | ||
apt install build-essential make wget git daemon jq python3-pip -y | ||
pip install yq | ||
|
||
GO_VERSION="${GO_VERSION:-1.22.2}" | ||
SSC_VERSION="${SSC_VERSION:-v0.1.5}" | ||
|
||
wget https://golang.org/dl/go$GO_VERSION.linux-amd64.tar.gz | ||
tar -C /usr/local -xzf go$GO_VERSION.linux-amd64.tar.gz | ||
# shellcheck disable=SC2016 | ||
# shellcheck disable=SC1091 | ||
echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile | ||
# shellcheck disable=SC2016 | ||
echo 'export GOPATH=$HOME/go' | tee -a /etc/profile | ||
# shellcheck disable=SC1091 | ||
source /etc/profile | ||
go version | ||
|
||
# create a user for sscd | ||
useradd -r -s /bin/false -d /opt/sscd sscdserviceuser | ||
mkdir -p /opt/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /opt/sscd | ||
mkdir -p /var/log/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /var/log/sscd | ||
|
||
# install ssc | ||
sudo -u sscdserviceuser git clone -b $SSC_VERSION https://github.com/sagaxyz/ssc /tmp/ssc | ||
sudo -u sscdserviceuser PATH=$PATH:/usr/local/go/bin make install -C /tmp/ssc/ | ||
cp /opt/sscd/go/bin/sscd /usr/local/bin/ | ||
sudo -u sscdserviceuser sscd version | ||
|
||
# create sscd service | ||
sudo tee /etc/systemd/system/sscd.service <<EOF | ||
[Unit] | ||
Description=sscd daemon | ||
After=network-online.target | ||
[Service] | ||
User=sscdserviceuser | ||
Group=sscdserviceuser | ||
ExecStart=sscd start --home /opt/sscd/.ssc/ | ||
StandardOutput=append:/var/log/sscd/sscd.log | ||
StandardError=append:/var/log/sscd/sscd_error.log | ||
Restart=always | ||
RestartSec=3 | ||
LimitNOFILE=4096 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
|
||
# init ssc | ||
sudo -u sscdserviceuser HOME=/opt/sscd/ sscd init saganode --chain-id ssc-1 | ||
|
||
# set seeds | ||
sudo -u sscdserviceuser tomlq -t '.p2p.seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# get genesis file | ||
sudo -u sscdserviceuser wget -O /opt/sscd/.ssc/config/genesis.json 'https://raw.githubusercontent.com/sagaxyz/mainnet/main/genesis/genesis.json' | ||
|
||
# adjust app.toml | ||
sudo -u sscdserviceuser tomlq -t '.grpc.address = "0.0.0.0:9090"' /opt/sscd/.ssc/config/app.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/app.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/app.toml.out /opt/sscd/.ssc/config/app.toml | ||
|
||
# obtain state sync actual data | ||
RPC_URL=https://ssc-rpc.sagarpc.io | ||
CURRENT_BLOCK=$(curl -s $RPC_URL/status | jq '.result.sync_info.latest_block_height' | awk 'gsub("\"","",$0)') | ||
TRUST_HEIGHT=$((CURRENT_BLOCK - 1000)) | ||
TRUST_BLOCK=$(curl -s $RPC_URL/block\?height=$TRUST_HEIGHT) | ||
TRUST_HASH=$(echo $TRUST_BLOCK | jq -r '.result.block_id.hash') | ||
|
||
# configure state sync | ||
sudo -u sscdserviceuser tomlq -t '.statesync.enable = true' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.trust_height = '$TRUST_HEIGHT'' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.trust_hash = '\"$TRUST_HASH\"'' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.rpc_servers = "tcp://ssc-statesync-eu.sagarpc.io:80,tcp://ssc-statesync-us.sagarpc.io:80,tcp://ssc-statesync-kr.sagarpc.io:80"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.discovery_time = "30s"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.chunk_request_timeout = "60s"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# start | ||
systemctl enable sscd.service | ||
systemctl start sscd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
#!/bin/bash | ||
|
||
set -e pipefail | ||
|
||
# if service exists, do nothing | ||
if systemctl list-units --full -all | grep -q 'sscd.service'; then | ||
echo "Service exists." | ||
exit 0 | ||
fi | ||
|
||
# install dependencies | ||
apt update | ||
apt upgrade -y | ||
apt install build-essential make wget git daemon jq python3-pip -y | ||
pip install yq | ||
|
||
GO_VERSION="${GO_VERSION:-1.22.2}" | ||
SSC_VERSION="${SSC_VERSION:-v0.1.5}" | ||
|
||
wget https://golang.org/dl/go$GO_VERSION.linux-amd64.tar.gz | ||
tar -C /usr/local -xzf go$GO_VERSION.linux-amd64.tar.gz | ||
# shellcheck disable=SC2016 | ||
# shellcheck disable=SC1091 | ||
echo 'export PATH=$PATH:/usr/local/go/bin' | tee -a /etc/profile | ||
# shellcheck disable=SC2016 | ||
echo 'export GOPATH=$HOME/go' | tee -a /etc/profile | ||
# shellcheck disable=SC1091 | ||
source /etc/profile | ||
go version | ||
|
||
# create a user for sscd | ||
useradd -r -s /bin/false -d /opt/sscd sscdserviceuser | ||
mkdir -p /opt/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /opt/sscd | ||
mkdir -p /var/log/sscd | ||
chown -R sscdserviceuser:sscdserviceuser /var/log/sscd | ||
|
||
# install ssc | ||
sudo -u sscdserviceuser git clone -b $SSC_VERSION https://github.com/sagaxyz/ssc /tmp/ssc | ||
sudo -u sscdserviceuser PATH=$PATH:/usr/local/go/bin make install -C /tmp/ssc/ | ||
cp /opt/sscd/go/bin/sscd /usr/local/bin/ | ||
sudo -u sscdserviceuser sscd version | ||
|
||
# create sscd service | ||
sudo tee /etc/systemd/system/sscd.service <<EOF | ||
[Unit] | ||
Description=sscd daemon | ||
After=network-online.target | ||
[Service] | ||
User=sscdserviceuser | ||
Group=sscdserviceuser | ||
AmbientCapabilities=CAP_NET_BIND_SERVICE | ||
ExecStart=sscd start --home /opt/sscd/.ssc/ | ||
StandardOutput=append:/var/log/sscd/sscd.log | ||
StandardError=append:/var/log/sscd/sscd_error.log | ||
Restart=always | ||
RestartSec=3 | ||
LimitNOFILE=4096 | ||
[Install] | ||
WantedBy=multi-user.target | ||
EOF | ||
|
||
# init ssc | ||
sudo -u sscdserviceuser HOME=/opt/sscd/ sscd init saganode --chain-id ssc-1 | ||
|
||
# set seeds | ||
sudo -u sscdserviceuser tomlq -t '.p2p.seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# get genesis file | ||
sudo -u sscdserviceuser wget -O /opt/sscd/.ssc/config/genesis.json 'https://raw.githubusercontent.com/sagaxyz/mainnet/main/genesis/genesis.json' | ||
|
||
# adjust app.toml | ||
sudo -u sscdserviceuser tomlq -t '.api.enable = true' /opt/sscd/.ssc/config/app.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/app.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/app.toml.out /opt/sscd/.ssc/config/app.toml | ||
sudo -u sscdserviceuser tomlq -t '.api.address = "tcp://0.0.0.0:80"' /opt/sscd/.ssc/config/app.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/app.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/app.toml.out /opt/sscd/.ssc/config/app.toml | ||
sudo -u sscdserviceuser tomlq -t '.api."enabled-unsafe-cors" = true' /opt/sscd/.ssc/config/app.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/app.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/app.toml.out /opt/sscd/.ssc/config/app.toml | ||
|
||
# obtain state sync actual data | ||
RPC_URL=https://ssc-rpc.sagarpc.io | ||
CURRENT_BLOCK=$(curl -s $RPC_URL/status | jq '.result.sync_info.latest_block_height' | awk 'gsub("\"","",$0)') | ||
TRUST_HEIGHT=$((CURRENT_BLOCK - 1000)) | ||
TRUST_BLOCK=$(curl -s $RPC_URL/block\?height=$TRUST_HEIGHT) | ||
TRUST_HASH=$(echo $TRUST_BLOCK | jq -r '.result.block_id.hash') | ||
|
||
# configure state sync | ||
sudo -u sscdserviceuser tomlq -t '.statesync.enable = true' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.trust_height = '$TRUST_HEIGHT'' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.trust_hash = '\"$TRUST_HASH\"'' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.rpc_servers = "tcp://ssc-statesync-eu.sagarpc.io:80,tcp://ssc-statesync-us.sagarpc.io:80,tcp://ssc-statesync-kr.sagarpc.io:80"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.discovery_time = "30s"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
sudo -u sscdserviceuser tomlq -t '.statesync.chunk_request_timeout = "60s"' /opt/sscd/.ssc/config/config.toml | sudo -u sscdserviceuser tee /opt/sscd/.ssc/config/config.toml.out >/dev/null && sudo -u sscdserviceuser mv /opt/sscd/.ssc/config/config.toml.out /opt/sscd/.ssc/config/config.toml | ||
|
||
# start | ||
systemctl enable sscd.service | ||
systemctl start sscd |
Oops, something went wrong.