Skip to content

Commit 0e7f743

Browse files
tina-cloud-app[bot]NikolayRn
authored andcommitted
How To Run A Node On A Linux VPS
1 parent c82f9a6 commit 0e7f743

File tree

1 file changed

+206
-0
lines changed

1 file changed

+206
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
---
2+
title: How To Run A Node On A Linux VPS
3+
sidebar_position: 2
4+
---
5+
6+
Experienced users may want to set up their own Fuse Ember Node on a Linux system. The following instructions are provided as a guideline only, and information may be incomplete or out of date. Ensure that you back up your data before starting. You can read the official Fuse Checker Node documentation or contact Fuse support for more information.
7+
8+
**1. Generate a burner wallet**
9+
10+
Start by creating a new wallet with a random seed phrase, using a service like [https://chaintool.tech/generateWallet/evmWallet](https://chaintool.tech/generateWallet/evmWallet) or [https://iancoleman.io/bip39/](https://iancoleman.io/bip39/). You can run these offline for better security.
11+
12+
![](/img/BIP.webp)
13+
14+
Once you have generated a new mnemonic, private key, and address, you can export these by clicking Download, or copy and paste them.
15+
16+
**2. Delegate your node**
17+
18+
Go to [Fuse testnet Nodes](https://console.fuse.io/nodes/testnet), connect your wallet containing your Fuse Node NFT, and delegate it to the wallet address you generated in the previous step.
19+
20+
![](/img/Delegate.webp)
21+
22+
**3. Set up your VPS**
23+
24+
There are lots of VPS providers to choose from, but you should ensure you select at least the minimum hardware requirements, and ideally more:
25+
26+
**Minimum:**
27+
28+
* CPU with 1+ cores
29+
* 2 GB RAM
30+
* 4 MBit/sec download speed
31+
32+
**Recommended:**
33+
34+
* Fast CPU with 2+ cores
35+
* 4 GB+ RAM
36+
* 8+ MBit/sec download speed
37+
38+
This guide uses Hostinger, with a KVM 2 setup, which provides 2 vCPU cores.
39+
40+
![](/img/KVM2.webp)
41+
42+
Select Ubuntu to run the Fuse client.
43+
44+
![](/img/Ubuntu.webp)
45+
46+
After setup, go to the VPS Terminal.
47+
48+
![](/img/Terminal.webp)
49+
50+
**4. Update System and Install Dependencies**
51+
52+
Make sure everything is up to date by running the following code in the terminal:
53+
54+
<CodeBlock language="Bash">
55+
\# Update system packages
56+
57+
apt-get update
58+
59+
\# Install required dependencies including libssl1.1
60+
61+
apt-get install -y wget tar
62+
63+
\# Install libssl1.1 (required by the binary)
64+
65+
echo "deb [http://security.ubuntu.com/ubuntu](http://security.ubuntu.com/ubuntu) focal-security main" > /etc/apt/sources.list.d/focal-security.list
66+
67+
apt-get update
68+
69+
apt-get install -y libssl1.1
70+
</CodeBlock>
71+
72+
You should see a response like the following:
73+
74+
![](/img/response.webp)
75+
76+
**5. Create directory and download the Fuse Ember client**
77+
78+
<CodeBlock language="Bash">
79+
\# Create directory for the client
80+
81+
mkdir -p \~/fuse-light && cd \~/fuse-light
82+
83+
\# Download the pre-built binary
84+
85+
wget [https://github.com/fuseio/avail-light/releases/download/v1.0.4/fuse-light-client-v1.0.4.tar.gz](https://github.com/fuseio/avail-light/releases/download/v1.0.4/fuse-light-client-v1.0.4.tar.gz)
86+
87+
\# Extract the archive
88+
89+
tar -xzf fuse-light-client-v1.0.4.tar.gz
90+
91+
\# Check what files were extracted
92+
93+
ls -la
94+
</CodeBlock>
95+
96+
You should see a response as follows:
97+
98+
![](/img/response2.webp)
99+
100+
**6. Create your configuration file**
101+
102+
<CodeBlock language="Bash">
103+
\# Create config file with only the required fields
104+
105+
cat > config.yaml \<\< EOF
106+
107+
sync\_start\_block = 1
108+
109+
genesis\_hash = "DEVTST"
110+
111+
avail\_path = "avail\_path"
112+
113+
avail\_secret\_key = "bottom drive obey lake curtain smoke basket hold race lonely fit walk//Alice"
114+
115+
check\_nft\_interval=300
116+
117+
check\_nft\_endpoint="[https://monitoring.avail.fuse.io/check-nft](https://monitoring.avail.fuse.io/check-nft)"
118+
119+
commission\_rate = "10"
120+
121+
operator\_name = "SELF\_RUN"
122+
123+
reward\_collector\_address = "0xYOUR\_REWARD\_ADDRESS"
124+
125+
private\_key = "0xYOUR\_PRIVATE\_KEY"
126+
127+
EOF
128+
</CodeBlock>
129+
130+
For reward\_collector\_address you should set whatever address you want to receive rewards, while private\_key should be the private key from the wallet you created in step 1. Your NFT is delegated to this wallet.
131+
132+
**7. Make Binary executable**
133+
134+
<CodeBlock language="Bash">
135+
\# Make the binary executable
136+
137+
chmod +x avail-light-client
138+
</CodeBlock>
139+
140+
**8. Create Systemd service**
141+
142+
<CodeBlock language="Bash">
143+
\# Create a systemd service file with the --network mainnet flag
144+
145+
cat > /etc/systemd/system/fuse-light.service \<\< EOF
146+
147+
\[Unit]
148+
149+
Description=Fuse Light Client
150+
151+
After=network.target
152+
153+
\[Service]
154+
155+
User=root
156+
157+
WorkingDirectory=/root/fuse-light
158+
159+
ExecStart=/root/fuse-light/avail-light-client --config config.yaml --network mainnet
160+
161+
Restart=on-failure
162+
163+
RestartSec=3
164+
165+
LimitNOFILE=65535
166+
167+
\[Install]
168+
169+
WantedBy=multi-user.target
170+
171+
EOF
172+
</CodeBlock>
173+
174+
**9. Start and Enable the service**
175+
176+
<CodeBlock language="Bash">
177+
\# Reload systemd
178+
179+
systemctl daemon-reload
180+
181+
\# Enable and start the service
182+
183+
systemctl enable fuse-light
184+
185+
systemctl start fuse-light
186+
187+
\# Check the status
188+
189+
systemctl status fuse-light
190+
</CodeBlock>
191+
192+
This should result in the following output:
193+
194+
![](/img/output.webp)
195+
196+
**10. Monitor the logs**
197+
198+
Finally, you can monitor the node with the following command:
199+
200+
<CodeBlock language="Bash">
201+
\# View logs
202+
203+
journalctl -u fuse-light -f
204+
</CodeBlock>
205+
206+
That's it, you're all done! You can contact Support via Discord if you need more assistance.

0 commit comments

Comments
 (0)