Skip to content

Commit 800cfe9

Browse files
committed
Solana. Added new Agave client and ARM support
1 parent eec97d7 commit 800cfe9

14 files changed

+150
-100
lines changed

lib/solana/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ pwd
129129
cp ./sample-configs/.env-sample-baserpc .env
130130
nano .env
131131
```
132-
> **NOTE:** *Example configuration parameters are set in the local `.env-sample` file. You can find more examples inside `sample-configs` directory.*
132+
> **NOTE:** *You can find more examples inside `sample-configs` directory.*
133133
134134

135135
4. Deploy common components such as IAM role, and Amazon S3 bucket to store data snapshots

lib/solana/lib/assets/build-binaries.sh

100644100755
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,33 @@ source /etc/environment
55
echo "Install rustc, cargo and rustfmt."
66
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rust-installer.sh
77
chmod 755 ./rust-installer.sh
8-
./rust-installer.sh -q -y
8+
./rust-installer.sh -y
9+
10+
export HOME="/root"
911
source $HOME/.cargo/env
1012
rustup component add rustfmt
1113

1214
echo "Verifying we use the latest stable version of Rust"
1315
rustup update
1416

15-
export RUST_STABLE_VERSION=$(rustc --version | awk '{print $2}')
17+
echo "Getting the source for stable version v$SOLANA_VERSION"
18+
wget https://github.com/anza-xyz/agave/archive/refs/tags/v$SOLANA_VERSION.tar.gz
19+
tar -xzvf v$SOLANA_VERSION.tar.gz
20+
cd agave-$SOLANA_VERSION
21+
22+
echo "Configuring rust version..."
23+
source $PWD/ci/rust-version.sh all
1624

1725
echo "Installing libssl-dev, pkg-config, zlib1g-dev, protobuf etc."
1826
apt-get update
1927
apt-get -y install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler
2028

21-
echo "Getting the source for stable version v$SOLANA_VERSION"
22-
wget https://github.com/solana-labs/solana/archive/refs/tags/v$SOLANA_VERSION.tar.gz
23-
tar -xzvf v$SOLANA_VERSION.tar.gz
24-
cd solana-$SOLANA_VERSION
25-
2629
echo "Building Solana..."
27-
./scripts/cargo-install-all.sh --validator-only .
28-
29-
echo "Check solana-validator version"
30+
./scripts/cargo-install-all.sh .
3031

31-
./bin/solana-validator --version
32+
echo "Check agave-validator version"
33+
./bin/agave-validator --version
3234

3335
echo "Modifying path"
34-
echo export PATH=$PWD/bin:$PATH >> /home/ssm-user/.profile
35-
source /home/ssm-user/.profile
36+
mv $PWD/bin/* /home/solana/bin
37+
echo export PATH=/home/solana/bin:$PATH >> /home/solana/.profile

lib/solana/lib/assets/setup-instance-store-volumes.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ if [ -n "$DATA_VOLUME_ID" ]; then
4040

4141
sudo mount -a
4242

43-
sudo mkdir /data/solana/data/ledger
44-
sudo chown -R solana:solana /data/solana
4543
else
4644
echo "Data volume is mounted, nothing changed"
4745
fi

lib/solana/lib/assets/solana/node-consensus-template.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ulimit -n 1000000
1414
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
1515
export EC2_INTERNAL_IP=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/local-ipv4)
1616

17-
/home/solana/bin/solana-validator \
17+
/home/solana/bin/agave-validator \
1818
--ledger /data/solana/data/ledger \
1919
--identity /home/solana/config/validator-keypair.json \
2020
--vote-account /home/solana/config/vote-account-keypair.json \

lib/solana/lib/assets/solana/node-heavy-rpc-template.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ulimit -n 1000000
1414
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
1515
export EC2_INTERNAL_IP=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/local-ipv4)
1616

17-
/home/solana/bin/solana-validator \
17+
/home/solana/bin/agave-validator \
1818
--ledger /data/solana/data/ledger \
1919
--identity /home/solana/config/validator-keypair.json \
2020
__KNOWN_VALIDATORS__ \

lib/solana/lib/assets/solana/node-light-rpc-template.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ulimit -n 1000000
1414
TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600")
1515
export EC2_INTERNAL_IP=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/local-ipv4)
1616

17-
/home/solana/bin/solana-validator \
17+
/home/solana/bin/agave-validator \
1818
--ledger /data/solana/data/ledger \
1919
--identity /home/solana/config/validator-keypair.json \
2020
__KNOWN_VALIDATORS__ \

lib/solana/lib/assets/user-data/node.sh

Lines changed: 77 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ aws s3 cp $ASSETS_S3_PATH ./assets.zip --region $AWS_REGION
3333
unzip -q assets.zip
3434

3535
echo "Install and configure CloudWatch agent"
36-
wget -q https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
37-
sudo dpkg -i -E amazon-cloudwatch-agent.deb
36+
if [ "$arch" == "x86_64" ]; then
37+
CW_AGENT_BINARY_URI=https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb
38+
else
39+
CW_AGENT_BINARY_URI=https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb
40+
fi
41+
42+
wget -q $CW_AGENT_BINARY_URI
43+
dpkg -i -E amazon-cloudwatch-agent.deb
3844

3945
echo 'Configuring CloudWatch Agent'
4046
mkdir -p /opt/aws/amazon-cloudwatch-agent/etc/
@@ -43,7 +49,7 @@ cp /opt/cw-agent.json /opt/aws/amazon-cloudwatch-agent/etc/custom-amazon-cloudwa
4349
echo "Starting CloudWatch Agent"
4450
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \
4551
-a fetch-config -c file:/opt/aws/amazon-cloudwatch-agent/etc/custom-amazon-cloudwatch-agent.json -m ec2 -s
46-
systemctl status amazon-cloudwatch-agent
52+
systemctl restart amazon-cloudwatch-agent
4753

4854
case $SOLANA_CLUSTER in
4955
"mainnet-beta")
@@ -71,7 +77,7 @@ case $SOLANA_CLUSTER in
7177
esac
7278

7379
echo "Fine tune sysctl to prepare the system for Solana"
74-
sudo bash -c "cat >/etc/sysctl.d/20-solana-additionals.conf <<EOF
80+
bash -c "cat >/etc/sysctl.d/20-solana-additionals.conf <<EOF
7581
kernel.hung_task_timeout_secs=600
7682
vm.stat_interval=10
7783
vm.dirty_ratio=40
@@ -85,47 +91,48 @@ net.ipv4.tcp_fastopen=3
8591
fs.nr_open = 1000000
8692
EOF"
8793

88-
sudo bash -c "cat >/etc/sysctl.d/20-solana-mmaps.conf <<EOF
94+
bash -c "cat >/etc/sysctl.d/20-solana-mmaps.conf <<EOF
8995
# Increase memory mapped files limit
9096
vm.max_map_count = 1000000
9197
EOF"
9298

93-
sudo bash -c "cat >/etc/sysctl.d/20-solana-udp-buffers.conf <<EOF
99+
bash -c "cat >/etc/sysctl.d/20-solana-udp-buffers.conf <<EOF
94100
# Increase UDP buffer size
95101
net.core.rmem_default = 134217728
96102
net.core.rmem_max = 134217728
97103
net.core.wmem_default = 134217728
98104
net.core.wmem_max = 134217728
99105
EOF"
100106

101-
sudo bash -c "echo 'DefaultLimitNOFILE=1000000' >> /etc/systemd/system.conf"
107+
bash -c "echo 'DefaultLimitNOFILE=1000000' >> /etc/systemd/system.conf"
102108

103-
sudo sysctl -p /etc/sysctl.d/20-solana-mmaps.conf
104-
sudo sysctl -p /etc/sysctl.d/20-solana-udp-buffers.conf
105-
sudo sysctl -p /etc/sysctl.d/20-solana-additionals.conf
109+
sysctl -p /etc/sysctl.d/20-solana-mmaps.conf
110+
sysctl -p /etc/sysctl.d/20-solana-udp-buffers.conf
111+
sysctl -p /etc/sysctl.d/20-solana-additionals.conf
106112

107-
sudo systemctl daemon-reload
113+
systemctl daemon-reload
108114

109-
sudo bash -c "cat >/etc/security/limits.d/90-solana-nofiles.conf <<EOF
115+
bash -c "cat >/etc/security/limits.d/90-solana-nofiles.conf <<EOF
110116
# Increase process file descriptor count limit
111117
* - nofile 1000000
112118
EOF"
113119

114120
echo 'Preparing fs for Solana installation'
115-
sudo mkdir /data
116-
sudo mkdir /data/solana
117-
sudo mkdir /data/solana/data
118-
sudo mkdir /data/solana/accounts
121+
mkdir /data
122+
mkdir /data/solana
123+
mkdir /data/solana/data
124+
mkdir /data/solana/accounts
119125

120126
echo 'Adding solana user and group'
121-
sudo groupadd -g 1002 solana
122-
sudo useradd -u 1002 -g 1002 -m -s /bin/bash solana
127+
groupadd -g 1002 solana
128+
useradd -u 1002 -g 1002 -m -s /bin/bash solana
129+
usermod -aG solana solana
123130

124131
if [[ "$STACK_ID" != "none" ]]; then
125132
echo "Install CloudFormation helper scripts"
126133
mkdir -p /opt/aws/
127134
pip3 install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz
128-
sudo ln -s /usr/local/init/ubuntu/cfn-hup /etc/init.d/cfn-hup
135+
ln -s /usr/local/init/ubuntu/cfn-hup /etc/init.d/cfn-hup
129136

130137
echo "Configuring CloudFormation helper scripts"
131138
mkdir -p /etc/cfn/
@@ -155,120 +162,123 @@ if [[ "$DATA_VOLUME_TYPE" == "instance-store" ]]; then
155162
echo "Data volume type is instance store"
156163

157164
cd /opt
158-
sudo chmod +x /opt/setup-instance-store-volumes.sh
165+
chmod +x /opt/setup-instance-store-volumes.sh
159166

160167
(crontab -l; echo "@reboot /opt/setup-instance-store-volumes.sh >/tmp/setup-instance-store-volumes.log 2>&1") | crontab -
161168
crontab -l
162169

163-
sudo /opt/setup-instance-store-volumes.sh
170+
/opt/setup-instance-store-volumes.sh
164171

165172
else
166173
echo "Data volume type is EBS"
167174

168175
DATA_VOLUME_ID=/dev/$(lsblk -lnb | awk -v VOLUME_SIZE_BYTES="$DATA_VOLUME_SIZE" '{if ($4== VOLUME_SIZE_BYTES) {print $1}}')
169-
sudo mkfs -t xfs $DATA_VOLUME_ID
176+
mkfs -t xfs $DATA_VOLUME_ID
170177
sleep 10
171178
DATA_VOLUME_UUID=$(lsblk -fn -o UUID $DATA_VOLUME_ID)
172179
DATA_VOLUME_FSTAB_CONF="UUID=$DATA_VOLUME_UUID /data/solana/data xfs defaults 0 2"
173180
echo "DATA_VOLUME_ID="$DATA_VOLUME_ID
174181
echo "DATA_VOLUME_UUID="$DATA_VOLUME_UUID
175182
echo "DATA_VOLUME_FSTAB_CONF="$DATA_VOLUME_FSTAB_CONF
176-
echo $DATA_VOLUME_FSTAB_CONF | sudo tee -a /etc/fstab
177-
sudo mount -a
183+
echo $DATA_VOLUME_FSTAB_CONF | tee -a /etc/fstab
184+
mount -a
178185
fi
179186

180187
if [[ "$ACCOUNTS_VOLUME_TYPE" == "instance-store" ]]; then
181188
echo "Accounts volume type is instance store"
182189
if [[ "$DATA_VOLUME_TYPE" != "instance-store" ]]; then
183190
cd /opt
184-
sudo chmod +x /opt/setup-instance-store-volumes.sh
191+
chmod +x /opt/setup-instance-store-volumes.sh
185192
(crontab -l; echo "@reboot /opt/setup-instance-store-volumes.sh >/tmp/setup-instance-store-volumes.log 2>&1") | crontab -
186193
crontab -l
187-
sudo /opt/setup-instance-store-volumes.sh
194+
/opt/setup-instance-store-volumes.sh
188195
else
189196
echo "Data and Accounts are configured by now"
190197
fi
191198
else
192199
echo "Accounts volume type is EBS"
193200
ACCOUNTS_VOLUME_ID=/dev/$(lsblk -lnb | awk -v VOLUME_SIZE_BYTES="$ACCOUNTS_VOLUME_SIZE" '{if ($4== VOLUME_SIZE_BYTES) {print $1}}')
194-
sudo mkfs -t xfs $ACCOUNTS_VOLUME_ID
201+
mkfs -t xfs $ACCOUNTS_VOLUME_ID
195202
sleep 10
196203
ACCOUNTS_VOLUME_UUID=$(lsblk -fn -o UUID $ACCOUNTS_VOLUME_ID)
197204
ACCOUNTS_VOLUME_FSTAB_CONF="UUID=$ACCOUNTS_VOLUME_UUID /data/solana/accounts xfs defaults 0 2"
198205
echo "ACCOUNTS_VOLUME_ID="$ACCOUNTS_VOLUME_ID
199206
echo "ACCOUNTS_VOLUME_UUID="$ACCOUNTS_VOLUME_UUID
200207
echo "ACCOUNTS_VOLUME_FSTAB_CONF="$ACCOUNTS_VOLUME_FSTAB_CONF
201-
echo $ACCOUNTS_VOLUME_FSTAB_CONF | sudo tee -a /etc/fstab
208+
echo $ACCOUNTS_VOLUME_FSTAB_CONF | tee -a /etc/fstab
202209

203-
sudo mount -a
210+
mount -a
204211
fi
205212

206-
sudo mkdir /data/solana/data/ledger
207-
sudo usermod -aG sudo solana
213+
mkdir /data/solana/data/ledger
208214

209215
cd /home/solana
210-
sudo mkdir ./bin
216+
mkdir ./bin
211217

212218
ln -s /data/solana/data/ledger /home/solana
213219

214-
echo "Downloading x86 binaries for version v$SOLANA_VERSION"
215-
sudo wget -q https://github.com/solana-labs/solana/releases/download/v$SOLANA_VERSION/solana-release-x86_64-unknown-linux-gnu.tar.bz2
216-
sudo tar -xjvf solana-release-x86_64-unknown-linux-gnu.tar.bz2
217-
sudo mv solana-release/bin/* ./bin/
220+
echo "Build binaries for version v$SOLANA_VERSION"
221+
/opt/build-binaries.sh
222+
# continue only if the previous script has finished
223+
if [ "$?" == 0 ]; then
224+
echo "Build successful"
225+
else
226+
echo "Build failed"
227+
fi
218228

219229
echo "Preparing Solana start script"
220230

221231
cd /home/solana/bin
222232

223233
if [[ $NODE_IDENTITY_SECRET_ARN == "none" ]]; then
224234
echo "Create node identity"
225-
sudo ./solana-keygen new --no-passphrase -o /home/solana/config/validator-keypair.json
235+
./solana-keygen new --no-passphrase -o /home/solana/config/validator-keypair.json
226236
else
227237
echo "Get node identity from AWS Secrets Manager"
228-
sudo aws secretsmanager get-secret-value --secret-id $NODE_IDENTITY_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/validator-keypair.json
229-
sudo mv ~/validator-keypair.json /home/solana/config/validator-keypair.json
238+
aws secretsmanager get-secret-value --secret-id $NODE_IDENTITY_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/validator-keypair.json
239+
mv ~/validator-keypair.json /home/solana/config/validator-keypair.json
230240
fi
231241
if [[ "$SOLANA_NODE_TYPE" == "consensus" ]]; then
232242
if [[ $NODE_IDENTITY_SECRET_ARN == "none" ]]; then
233243
echo "Store node identity to AWS Secrets Manager"
234-
NODE_IDENTITY=$(sudo ./solana-keygen pubkey /home/solana/config/vote-account-keypair.json)
235-
sudo aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Solana Node Identity Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/validator-keypair.json --region $AWS_REGION
244+
NODE_IDENTITY=$(./solana-keygen pubkey /home/solana/config/vote-account-keypair.json)
245+
aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Solana Node Identity Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/validator-keypair.json --region $AWS_REGION
236246
fi
237247
if [[ $VOTE_ACCOUNT_SECRET_ARN == "none" ]]; then
238248
echo "Create Vote Account Secret"
239-
sudo ./solana-keygen new --no-passphrase -o /home/solana/config/vote-account-keypair.json
240-
NODE_IDENTITY=$(sudo ./solana-keygen pubkey /home/solana/config/vote-account-keypair.json)
249+
./solana-keygen new --no-passphrase -o /home/solana/config/vote-account-keypair.json
250+
NODE_IDENTITY=$(./solana-keygen pubkey /home/solana/config/vote-account-keypair.json)
241251
echo "Store Vote Account Secret to AWS Secrets Manager"
242-
sudo aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Solana Vote Account Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/vote-account-keypair.json --region $AWS_REGION
252+
aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Solana Vote Account Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/vote-account-keypair.json --region $AWS_REGION
243253
if [[ $AUTHORIZED_WITHDRAWER_ACCOUNT_SECRET_ARN == "none" ]]; then
244254
echo "Create Authorized Withdrawer Account Secret"
245-
sudo ./solana-keygen new --no-passphrase -o /home/solana/config/authorized-withdrawer-keypair.json
246-
NODE_IDENTITY=$(sudo ./solana-keygen pubkey /home/solana/config/authorized-withdrawer-keypair.json)
255+
./solana-keygen new --no-passphrase -o /home/solana/config/authorized-withdrawer-keypair.json
256+
NODE_IDENTITY=$(./solana-keygen pubkey /home/solana/config/authorized-withdrawer-keypair.json)
247257
echo "Store Authorized Withdrawer Account to AWS Secrets Manager"
248-
sudo aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Authorized Withdrawer Account Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/authorized-withdrawer-keypair.json --region $AWS_REGION
258+
aws secretsmanager create-secret --name "solana-node/"$NODE_IDENTITY --description "Authorized Withdrawer Account Secret created for stack $CF_STACK_NAME" --secret-string file:///home/solana/config/authorized-withdrawer-keypair.json --region $AWS_REGION
249259
else
250260
echo "Get Authorized Withdrawer Account Secret from AWS Secrets Manager"
251-
sudo aws secretsmanager get-secret-value --secret-id $AUTHORIZED_WITHDRAWER_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/authorized-withdrawer-keypair.json
252-
sudo mv ~/authorized-withdrawer-keypair.json /home/solana/config/authorized-withdrawer-keypair.json
261+
aws secretsmanager get-secret-value --secret-id $AUTHORIZED_WITHDRAWER_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/authorized-withdrawer-keypair.json
262+
mv ~/authorized-withdrawer-keypair.json /home/solana/config/authorized-withdrawer-keypair.json
253263
fi
254264
if [[ $REGISTRATION_TRANSACTION_FUNDING_ACCOUNT_SECRET_ARN != "none" ]]; then
255265
echo "Get Registration Transaction Funding Account Secret from AWS Secrets Manager"
256-
sudo aws secretsmanager get-secret-value --secret-id $REGISTRATION_TRANSACTION_FUNDING_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/id.json
257-
sudo mkdir -p /root/.config/solana
258-
sudo mv ~/id.json /root/.config/solana/id.json
266+
aws secretsmanager get-secret-value --secret-id $REGISTRATION_TRANSACTION_FUNDING_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/id.json
267+
mkdir -p /root/.config/solana
268+
mv ~/id.json /root/.config/solana/id.json
259269
echo "Creating Vote Account on-chain"
260-
sudo ./solana create-vote-account /home/solana/config/vote-account-keypair.json /home/solana/config/validator-keypair.json /home/solana/config/authorized-withdrawer-keypair.json
270+
./solana create-vote-account /home/solana/config/vote-account-keypair.json /home/solana/config/validator-keypair.json /home/solana/config/authorized-withdrawer-keypair.json
261271
echo "Delete Transaction Funding Account Secret from the local disc"
262-
sudo rm /root/.config/solana/id.json
272+
rm /root/.config/solana/id.json
263273
else
264274
echo "Vote Account not created. Please create it manually: https://docs.solana.com/running-validator/validator-start#create-vote-account"
265275
fi
266276
echo "Delete Authorized Withdrawer Account from the local disc"
267-
sudo rm /home/solana/config/authorized-withdrawer-keypair.json
277+
rm /home/solana/config/authorized-withdrawer-keypair.json
268278
else
269279
echo "Get Vote Account Secret from AWS Secrets Manager"
270-
sudo aws secretsmanager get-secret-value --secret-id $VOTE_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/vote-account-keypair.json
271-
sudo mv ~/vote-account-keypair.json /home/solana/config/vote-account-keypair.json
280+
aws secretsmanager get-secret-value --secret-id $VOTE_ACCOUNT_SECRET_ARN --query SecretString --output text --region $AWS_REGION > ~/vote-account-keypair.json
281+
mv ~/vote-account-keypair.json /home/solana/config/vote-account-keypair.json
272282
fi
273283
mv /opt/solana/node-consensus-template.sh /home/solana/bin/validator.sh
274284
fi
@@ -285,27 +295,27 @@ sed -i "s;__SOLANA_METRICS_CONFIG__;\"$SOLANA_METRICS_CONFIG\";g" /home/solana/b
285295
sed -i "s/__EXPECTED_GENESIS_HASH__/$EXPECTED_GENESIS_HASH/g" /home/solana/bin/validator.sh
286296
sed -i "s/__KNOWN_VALIDATORS__/$KNOWN_VALIDATORS/g" /home/solana/bin/validator.sh
287297
sed -i "s/__ENTRY_POINTS__/$ENTRY_POINTS/g" /home/solana/bin/validator.sh
288-
sudo chmod +x /home/solana/bin/validator.sh
298+
chmod +x /home/solana/bin/validator.sh
289299

290-
sudo chown -R solana:solana /data/solana
291-
sudo chown -R solana:solana /home/solana
300+
chown -R solana:solana /data/solana
301+
chown -R solana:solana /home/solana
292302

293303
echo "Starting solana as a service"
294304

295-
sudo mv /opt/systemd/node.service /etc/systemd/system/node.service
296-
sudo systemctl daemon-reload
297-
sudo systemctl enable --now node
305+
mv /opt/systemd/node.service /etc/systemd/system/node.service
306+
systemctl daemon-reload
307+
systemctl enable --now node
298308

299309
echo "Configuring syncchecker script"
300-
sudo mv /opt/sync-checker/syncchecker-solana.sh /opt/syncchecker.sh
301-
sudo chmod +x /opt/syncchecker.sh
310+
mv /opt/sync-checker/syncchecker-solana.sh /opt/syncchecker.sh
311+
chmod +x /opt/syncchecker.sh
302312

303313
echo "Setting up sync-checker service"
304-
sudo mv /opt/systemd/sync-checker.service /etc/systemd/system/sync-checker.service
314+
mv /opt/systemd/sync-checker.service /etc/systemd/system/sync-checker.service
305315

306316
# Run every 5 minutes
307317
echo "Setting up sync-checker timer"
308-
sudo mv /opt/systemd/sync-checker.timer /etc/systemd/system/sync-checker.timer
318+
mv /opt/systemd/sync-checker.timer /etc/systemd/system/sync-checker.timer
309319

310320
echo "Starting sync checker timer"
311321
systemctl start sync-checker.timer

0 commit comments

Comments
 (0)