Skip to content

Commit ac177fd

Browse files
authored
Merge pull request #331 from fuseio/feat/node-guide
Feat/node guide
2 parents c82f9a6 + 436e907 commit ac177fd

1 file changed

Lines changed: 213 additions & 0 deletions

File tree

Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
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+
71+
</CodeBlock>
72+
73+
You should see a response like the following:
74+
75+
![](/img/response.webp)
76+
77+
**5. Create directory and download the Fuse Ember client**
78+
79+
<CodeBlock language="Bash">
80+
\# Create directory for the client
81+
82+
mkdir -p \~/fuse-light && cd \~/fuse-light
83+
84+
\# Download the pre-built binary
85+
86+
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)
87+
88+
\# Extract the archive
89+
90+
tar -xzf fuse-light-client-v1.0.4.tar.gz
91+
92+
\# Check what files were extracted
93+
94+
ls -la
95+
96+
</CodeBlock>
97+
98+
You should see a response as follows:
99+
100+
![](/img/response2.webp)
101+
102+
**6. Create your configuration file**
103+
104+
<CodeBlock language="Bash">
105+
\# Create config file with only the required fields
106+
107+
cat > config.yaml \<\< EOF
108+
109+
sync_start_block = 1
110+
111+
genesis_hash = "DEVTST"
112+
113+
avail_path = "avail_path"
114+
115+
avail_secret_key = "bottom drive obey lake curtain smoke basket hold race lonely fit walk//Alice"
116+
117+
check_nft_interval=300
118+
119+
check_nft_endpoint="[https://monitoring.avail.fuse.io/check-nft](https://monitoring.avail.fuse.io/check-nft)"
120+
121+
commission_rate = "10"
122+
123+
operator_name = "SELF_RUN"
124+
125+
reward_collector_address = "0xYOUR_REWARD_ADDRESS"
126+
127+
private_key = "0xYOUR_PRIVATE_KEY"
128+
129+
EOF
130+
131+
</CodeBlock>
132+
133+
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.
134+
135+
**7. Make Binary executable**
136+
137+
<CodeBlock language="Bash">
138+
\# Make the binary executable
139+
140+
chmod +x avail-light-client
141+
142+
</CodeBlock>
143+
144+
**8. Create Systemd service**
145+
146+
<CodeBlock language="Bash">
147+
\# Create a systemd service file with the --network mainnet flag
148+
149+
cat > /etc/systemd/system/fuse-light.service \<\< EOF
150+
151+
\[Unit]
152+
153+
Description=Fuse Light Client
154+
155+
After=network.target
156+
157+
\[Service]
158+
159+
User=root
160+
161+
WorkingDirectory=/root/fuse-light
162+
163+
ExecStart=/root/fuse-light/avail-light-client --config config.yaml --network mainnet
164+
165+
Restart=on-failure
166+
167+
RestartSec=3
168+
169+
LimitNOFILE=65535
170+
171+
\[Install]
172+
173+
WantedBy=multi-user.target
174+
175+
EOF
176+
177+
</CodeBlock>
178+
179+
**9. Start and Enable the service**
180+
181+
<CodeBlock language="Bash">
182+
\# Reload systemd
183+
184+
systemctl daemon-reload
185+
186+
\# Enable and start the service
187+
188+
systemctl enable fuse-light
189+
190+
systemctl start fuse-light
191+
192+
\# Check the status
193+
194+
systemctl status fuse-light
195+
196+
</CodeBlock>
197+
198+
This should result in the following output:
199+
200+
![](/img/output.webp)
201+
202+
**10. Monitor the logs**
203+
204+
Finally, you can monitor the node with the following command:
205+
206+
<CodeBlock language="Bash">
207+
\# View logs
208+
209+
journalctl -u fuse-light -f
210+
211+
</CodeBlock>
212+
213+
That's it, you're all done! You can contact Support via Discord if you need more assistance.

0 commit comments

Comments
 (0)