Skip to content

Noretreat/Quilibrium-Node-Auto-Installer

 
 

Repository files navigation

Quilibrium node setup guide and auto-installer script

Warning

This guide is outdated. Please use the new guide on Gitbook.

⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠈⠉⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠉⠀⢾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠀⠈⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠉⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⡀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣰⡆⠀⢀⣾⣷⣤⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⣠⣾⣿⡄⠀⠀⣶⡸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣸⣿⣿⣿⣷⡀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⣴⣿⣿⣿⣿⡄⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⡿⢁⣿⣿⣿⡀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⣼⣿⣿⣇⠻⣿⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⣿⠃⢸⣿⣿⣿⣷⠀⠀⠈⢻⡙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠉⠀⡀⣰⣿⣿⣿⣿⠀⢻⡇⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠘⠀⢸⣿⣿⣿⣿⣦⣷⣄⠀⠁⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⢀⣴⣧⣿⣿⣿⣿⡿⠀⠈⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⣠⣶⠀⢻⣿⣿⣿⣿⣿⣿⣦⡀⢀⠀⠉⠛⠛⠿⠿⠿⠿⠛⠋⠀⢀⠀⣰⣿⣿⣿⣿⣿⣿⣿⠃⢰⣦⡀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣟⣠⡆⠀⠀⣼⣿⣿⣷⣀⠹⢿⣿⣿⣿⣿⣿⣿⣦⣿⣷⣶⣶⣶⣶⣶⣶⣶⣶⣿⣯⣾⣿⣿⣿⣿⣿⣿⡿⢁⣴⣿⣿⣷⡄⠀⢰⣦⣌⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣸⣿⣿⣿⣿⣿⣿⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣾⣿⣿⣿⣿⣿⣷⡀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣩⣿⣿⣿⠿⠛⣡⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡙⠻⢿⣿⣿⣿⡁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠘⢩⣿⠟⠁⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠙⢿⣌⠃⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠛⠁⠀⣠⣿⣿⣿⣿⣿⣿⡿⠟⣿⣿⣿⣿⣿⣿⣿⡟⠀⠈⣿⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠙⠃⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⠟⠉⠀⠒⠛⠛⠋⠁⠹⠛⣿⣿⠁⠀⠀⢻⣿⡟⣿⠀⠈⠛⠓⠓⠂⠈⠛⢿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⢰⣿⣿⣿⡿⠁⠀⣠⣾⣷⣶⣤⣴⣆⠀⣥⠈⠃⠀⠀⠀⠀⠛⢀⠇⢠⣶⣤⣴⣶⣷⣦⡀⠀⠹⣿⣿⣿⣧⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⠠⠀⢀⣀⠀⣀⡈⢉⠻⣿⡄⢹⠀⠀⠀⠀⠀⠀⠀⢸⠀⣾⡿⠋⠉⣀⠀⣀⣀⠀⠁⢹⣿⣿⣿⣇⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⡿⠃⠀⢀⣤⡎⠀⣼⣿⣿⣿⣿⡇⠀⠛⣿⣄⡈⠳⠶⠇⠘⠿⠘⠀⠀⠀⠀⠀⠀⠀⠘⠸⠟⠀⠷⠆⠉⣀⣼⠛⠂⠀⣄⣿⣿⣿⣿⡄⠘⣦⡀⠀⠀⠹⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⡟⠁⠀⣴⣿⠏⠀⢸⣿⡿⠛⠁⣼⣷⣶⠂⠈⠛⣿⣷⣶⣶⠄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠶⣶⣶⣾⣛⠉⠀⢶⣶⣿⡄⠙⠿⣿⣷⠀⠘⢿⣧⡀⠀⠹⣿⣿⣿⣿ ⣿⣿⣿⡟⠀⢀⣾⡿⠃⠀⠀⠟⠉⠀⠀⢸⣿⣯⣁⣀⣀⡉⠉⠁⣀⠉⠉⠀⢀⡀⠀⠀⠀⠀⠀⠀⣠⠀⠉⠛⣁⡀⠉⠉⣁⣀⣀⣩⣿⣷⠀⠀⠈⠙⠇⠀⠈⢻⣿⣆⠀⠘⣿⣿⣿ ⣿⣿⡿⠁⢠⣾⡿⠁⠀⠀⣀⣴⡟⠀⠀⡿⢿⣿⣿⣿⣭⣴⣶⣾⣿⣧⠀⣠⣿⣿⡀⠀⠀⠀⠀⣼⣿⣦⠀⠀⣿⣿⣶⣦⣬⣽⣿⣿⣿⢿⡇⠀⠸⣶⣄⡀⠀⠀⠹⣿⣆⠀⢹⣿⣿ ⣿⣿⡇⢠⣾⡿⠁⢀⣴⣾⣿⣿⡇⠀⠀⢠⣾⣿⡿⠿⣿⣿⣿⣿⣿⡇⢀⣿⣿⣿⣷⡀⠀⠀⣾⣿⣿⣿⣦⠀⣿⣿⣿⣿⣿⣿⠿⣿⣿⣆⠁⠀⠀⣿⣿⣿⣶⣄⡀⢹⣿⣆⠈⢿⣿ ⣿⣿⢀⣾⣿⢇⣴⣿⣿⣿⣿⣿⡇⠀⠀⡼⠛⠉⠀⣾⣿⣿⣿⣿⣿⡇⣼⣿⣿⣿⣿⣿⡀⣼⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣆⠀⠙⢿⡆⠀⠀⣼⣿⣿⣿⣿⣷⡄⢻⣿⡆⢸⣿ ⣿⡇⢸⣿⡿⠞⠛⠉⠉⠉⢸⣿⡇⠀⠀⢀⡀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣸⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⠀⠀⡀⠀⠀⢀⣿⣿⡈⠉⠉⠙⠻⢾⣿⣷⠸⣿ ⣿⠇⣾⠏⠁⣠⣆⠀⠀⠀⣾⣿⣷⠀⢀⣾⣧⠀⠸⣿⣿⣿⣿⢿⣿⣿⣿⣿⠛⠉⠀⠀⠀⠀⠀⠈⠙⢿⣿⣿⣿⣿⢿⣿⣿⣿⡿⠀⢠⣿⡆⠀⢸⣿⣿⡇⠀⠀⢠⣦⣀⠉⢿⡇⢿ ⡿⠀⠁⣰⣿⣿⣿⡄⠀⠀⢻⣿⣿⡇⢸⣿⣿⣧⠀⠻⣿⣿⠇⢼⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⣿⣿⡿⠁⢠⣿⣿⣿⢀⣾⣿⣿⠇⠀⠀⣸⣿⣿⣷⣌⠁⢸ ⠇⣠⣾⣿⣿⣿⣿⣧⠀⠀⢸⣿⣿⣿⣾⣿⣿⣿⣷⡀⠙⢿⡆⠘⣿⣿⣿⣧⣤⣤⣤⠀⠀⠀⢠⣤⣤⣠⣿⣿⣿⡿⠀⣿⠟⠀⣰⣿⣿⣿⣿⣾⣿⣿⣿⠀⠀⢰⣿⣿⣿⣿⣿⣦⡈ ⣴⣿⣿⣿⣿⣿⣿⣿⣇⠀⠈⣿⣿⣿⠿⢿⣿⣿⣿⣿⣦⡀⠙⠀⠻⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⡿⠁⠐⠁⣠⣾⣿⣿⣿⣿⡿⢿⣿⣿⡇⠀⢠⣾⣿⣿⣿⣿⣿⣿⣷ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠸⣿⡏⠀⣄⡙⠻⣿⣿⣿⣿⣦⠀⠀⠙⠿⣿⣿⣿⡷⠀⠀⠀⢴⣿⣿⣿⡿⠟⠁⠀⢠⣾⣿⣿⣿⡿⠋⢁⡄⢸⣿⡟⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠸⡇⠀⣿⣿⣦⡈⠻⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⣤⣤⣶⣦⣤⡄⠀⠀⠀⠀⠀⣴⣿⣿⣿⡿⢋⣤⣾⣿⡇⢸⡟⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⣿⣿⣿⣿⣧⡈⢿⣿⣿⣧⠀⠀⠀⠀⠀⠈⠙⠛⠛⠉⠀⠀⠀⠀⠀⢰⣿⣿⡿⠋⣴⣿⣿⣿⣿⡇⠈⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⢸⣿⣿⣿⣿⣿⣄⠙⣿⣿⣆⢠⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣦⢀⣿⣿⡟⢁⣾⣿⣿⣿⣿⡿⠁⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣆⠘⢿⣿⣾⢻⡄⠀⠀⠀⠀⠀⠀⠀⠀⣾⠻⣾⣿⠏⢀⣿⣿⣿⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠈⢿⠃⠘⣿⡀⣠⠀⠀⠀⢀⠀⣼⡿⠀⣿⠏⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⣿⣷⠸⡄⠀⠀⣿⢠⣿⡇⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⣠⠀⢻⣿⣆⣧⠀⢀⣧⣿⣿⠀⢠⡀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⡀⠈⣿⣿⣿⠀⢸⣿⣿⡟⠀⣾⡇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢠⣿⣷⠀⢻⣿⣿⡀⣿⣿⣿⠁⢰⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣼⣿⣿⣆⠈⣿⣿⣿⣿⣿⠏⢀⣿⣿⣿⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠘⡿⢻⠻⡿⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⣿⠀⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠹⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿

Tip

This guide contains all the info you need to install and manage a Quilibrium node, plus a special script to prepare your Ubuntu server and install the necessary applications.
The guide and the script are unofficial and have been created solely to support the project.

Created by LaMat /// connect with me on Farcaster or Twitter /// ♡ Donations


Table of Contents

Best server to run a Quilibrium node

Here some good options. This section is still under construction as I collect reviews from others. Thank you for using my referral links and supporting my work :-)

High quality $$$

  • Cherryservers
    They officially support Quilibrium and are recommended by Cassie, the project's founder. Probably the best product and support available at the moment. In both the Quilibrium Discord and Telegram communities, there is 'Lili,' she works for them and can provide advice and assistance. Their servers sell out fast these days, so there is a chanche they will be out of stock, but you can join the waiting list. Here are some pre-configured server options: Cloud VDS 4 / E3-1240V3 / E3-1240V5 / E5-1620V4 / E5-1650V3 / E5-1650V4
  • Hostkey - best value for money after Cherryservers
  • Latitude

Medium quality $$

Low quality $

Only use these VPS after Quilibrium version 1.5 to avoid issues. And read the notes below!

Important notes on low quality providers Both Contabo and Hostinger got a lot of hate from the community (and for good reasons). These cheap VPS will never perform great, but they do work. After mainnet (2.0) the node resource consumption will be much lower, and you will be able to use these cheaper services without the risk of being throttled by the provider. On the other hand... lower specs nodes will also earn fewer rewards. Your choice!

UPDATE: I have been testing Contabo for some time. Even locations outside of EU may give you issues. My take is that they are throttling the access to the network when in a VPS location there are too many nodes running. So you may have no issues for a while and then suddendly find out that your data flow has become very low. This is just my speculation, but if you choose to use the cheap Contabo servers... keep a close eye on them.

Warning

Providers to avoid
Contabo VPS (EU location) / Alpenhost / Netcup / Hetzner
These providers either don't support Quilibrium, blockchain nodes in general, or have been reported giving issues to users running nodes.

Auto-installer script: prepare your server for the Quilibrium node

This script is simply packing all the necessary steps and the required applications in a one-click solution. It won't install your node (you will need to do it manually for security reasons), but it will prepare your server very quickly. You can inspect the source code here. If you are not familiar with code, you can simply copy/paste the whole code in a chatbot such as ChatGPT (or any open-source alternative ;-) and ask them to explain it to you step by step.

Step 1

Rent or use a server with at least 4 cores, 8 GB RAM, 250 GB SSD space, and 400 Mbit/s symmetric bandwidth.
Outbound traffic after 1.5 should be up to 5 TB per month (raw approximation), depending on how you set the node.
You can also refer to the Quilibrium official docs.
Keep in mind that nodes with better specs will earn more rewards. The ratio for optimal rewards from 1.5 on theoretically will be 1:2:4 (core:ram in GB:disk in GB). Your bandwidth will also matter.

VDS (Virtual Dedicated Servers) and Bare Metal (Physical dedicated Servers) are your best choiche. Using a VPS (Virtual Private Server) may give you issues as often the providers oversell the resources.
That being said, using a VPS or a home machine may work just fine if you don't care about absolutely maximizing your rewards.

Step 2

Install the OS Ubuntu 22.04.X.
If your server has two disks, consider configuring them in "RAID 1" (typically offered by your provider). This setup mirrors one disk to the other, providing redundancy and safeguarding against data loss in case one disk fails.

Step 3

Run the auto-installer script on your server (OS must be Ubuntu 22.04.X). I suggest you to use Termius to login. Be sure that you are logging in via port 22 (default with most server providers).

 wget -O - https://raw.githubusercontent.com/lamat1111/quilibrium-node-auto-installer/master/installer | bash

Note

If the script fails and stops, you can try to run it again (if you understand why it stopped, then try to solve the issue first, of course). If you still receive an error, you may want to proceed manually, step by step, instead of using the auto-installer. Here is the step by step guide you can follow.

After this step is recommended to reboot your server and login again.

Step 4

Install your Quilibrium node

wget here?

Build the Quilibrium client (for transferring tokens)

cd ~/ceremonyclient/client && GOEXPERIMENT=arenas go build -o qclient main.go

Step 5

Run the command below. This will go to the node folder, create a persistent shell (session), start the node via the qnode_restart script (more info about this script below) and detach from the session again. You won't see any output after running the command, but you can move to Step 6.

tmux new-session -d -s quil 'export PATH=$PATH:/usr/local/go/bin && cd ~/ceremonyclient/node && ~/scripts/qnode_restart.sh'
Alternative: step by step commands You can also run these command one after the other if you prefer.
cd ceremonyclient/node 
tmux new-session -s quil 
~/scripts/qnode_restart.sh

To detach from tmux press CTRL+B then D. Now you can safely logout from your server and the node will keep running in its persistent shell.
To reattach to the tmux session and see your node log, just use tmux a -t quil. You can recognize when you are inside your tmux session because there will be a green bar at the bottom of the screen.
To stop the node, from inside tmux click CTRL+C
To restart the node, from inside tmux run ./poor_mans_cd.sh

The qnode_restart.sh is a script used to run the node. It will restart it automatically if it gets killed.

Note

If you ever reboot your server, you will need to go through this step 6 again to start the node from scratch.

Step 6

You are done! Now you can safely logout from your server and the node will keep running in its persistent shell.

If you want to see you node log you can reattach to the tmux session with tmux a -t quil
Once you are in the tmux session a green bar will appear at the bottom of the screen, to detach from tmux press CTRL+B then D.
It will usually takes 10 minutes before you will begin to see new log entries in the node log. And it will take up to 30 minutes before your private keys will be created correctly, so that you can backup them.

Note

If you inspect the node log you will usually see "0 frames" for up to 72 hours before the node is fully synced with the network. After a while you will see the "master_frame_head" value increase, while the "current_head_frame" stays to 0. This is normal until your "master_frame_head" reaches the latest frame in the network. If you suspect that your node is not connecting to the network check the server bandwidth with speedtest-cli and check the Troubleshooting section wheer it says "frame 0".

Step 7

Let you node run for at least 30 minutes, then check if you keys.yml file has been completely generated. Run the command:

wc -c /root/ceremonyclient/node/.config/keys.yml

The response should be 1252 /root/ceremonyclient/node/.config/keys.yml.
If the number is lower, you need to keep the node running a bit more. You can also check here to see how the correct file should look like.

When your keys.yml has been genearted, proceed to backup your your keys.yml and config.yml files, and setup your gRPC calls

Step 8

This is optional, but recommended! Setup SSH keys to connect to your server and disable the password connection. Here is a guide to do this
To enhance even more your server security, you may install and setup Fail2ban, here is a guide.

Check node info

After you node has been running for at least 30 minutes, run this command from your root folder to check the node info (Node version, Peer ID, Quil balance).
For this to work you need to setup the gRPC calls first.
If you have enabled the gRPC calls but you still get an error, it usually just means that your node needs to run some more in order to correctly connect to the newtork. Retry later.

cd ~/ceremonyclient/node && GOEXPERIMENT=arenas go run ./... -node-info

If the above command does not work, or you have not set the gRPC calls, there are alternative commands to check your PeerID and node version, just look in Useful Server Commands

Check your QUIL balance and address (after 2.0)

cd ~/ceremonyclient/client && ./qclient token balance

Note

If you get a "No such file or directory" error, run cd ceremonyclient/client && go build -o qclient to try and rebuild the client.
All the commands to transfer QUIL tokens are here.

Backup your keys.yml and config.yml files

After 30 minutes that then node has been running, it should have generated your keys and config files correctly. Use WinSCP or Termius SFTP feature to navigate to the root/ceremonyclient/node/.config folder. You may have to enable visibility for hidden files in WinSCP if you don't see the .config folder. Select Options, Preferences from the main menu, then the Panels tab, and check the option to Show hidden files (Ctrl+Alt+H).

Download locally your keys.yml and config.yml files. Keep them safe and do not share them with anyone! Is a good idea to put them in an encrypted folder using a free tool such as Encrypto

If you need to migrate the node elsewhere, after installing the node from scratch you just need to put these 2 files in the root/ceremonyclient/node/.config folder (changing the ones automatically created by the node). Here is a quick way to do this.

What does a correct "keys.yml" file look like?
"":
 id: ""
 type: 0
 privateKey: ""
 publicKey: ""
default-proving-key:
 id: default-proving-key
 type: 0
 privateKey: ////long-key-here///
 publicKey: ////long-key-here///
q-ratchet-idk:
 id: q-ratchet-idk
 type: 1
 privateKey: ////long-key-here///
 publicKey: ////long-key-here///
q-ratchet-spk:
 id: q-ratchet-spk
 type: 1
 privateKey: 
What does a correct "config.yml" file look like?
key:
 keyManagerType: file
 keyManagerFile:
   path: .config/keys.yml
   createIfMissing: false
   encryptionKey: ////long-key-here///
p2p:
 d: 0
 dLo: 0
 dHi: 0
 dScore: 0
 dOut: 0
 historyLength: 0
 historyGossip: 0
 dLazy: 0
 gossipFactor: 0
 gossipRetransmission: 0
 heartbeatInitialDelay: 0s
 heartbeatInterval: 0s
 fanoutTTL: 0s
 prunePeers: 0
 pruneBackoff: 0s
 unsubscribeBackoff: 0s
 connectors: 0
 maxPendingConnections: 0
 connectionTimeout: 0s
 directConnectTicks: 0
 directConnectInitialDelay: 0s
 opportunisticGraftTicks: 0
 opportunisticGraftPeers: 0
 graftFloodThreshold: 0s
 maxIHaveLength: 0
 maxIHaveMessages: 0
 iWantFollowupTime: 0s
 bootstrapPeers:
 ////list-of-bootstrap-peers-here///
 listenMultiaddr: /ip4/0.0.0.0/udp/8336/quic
 peerPrivKey: ////long-key-here///
 traceLogFile: ""
 minPeers: 0
engine:
 provingKeyId: default-proving-key
 filter: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 genesisSeed: ////very-long-seed-here///
 maxFrames: -1
 pendingCommitWorkers: 4
 minimumPeersRequired: 0
 statsMultiaddr: ""
 difficulty: 0
db:
 path: .config/store
listenGrpcMultiaddr: ""
listenRESTMultiaddr: ""
logFile: ""

Setup the gRPC calls

This step is not required for the node to work. Even if you receive errors, your node should not be affected and keep running normally.

After your node has been running for 30 minutes, run the below script to setup the gRPC calls.

wget -O - https://raw.githubusercontent.com/lamat1111/quilibrium-node-auto-installer/master/installer-gRPC-calls | bash
How to enable gRPC calls manually 1. Open the file root/ceremonyclient/node/.config/config.yml on your local pc using WinSCP
  1. Find listenGrpcMultiaddr: “” (end of the file) and replace it with listenGrpcMultiaddr: /ip4/127.0.0.1/tcp/8337

  2. Find engine: (about the middle of the file) and paste statsMultiaddr: "dns/stats.quilibrium.com/tcp/443" right below it, with two empty spaces before the line

  3. Save the file

Install extra tools

vnstat - monitor bandwidth and data flow
sudo apt update && sudo apt install vnstat

To check the current bandwidth usage use vnstat.
To check hourly stats e use vnstat -h.
Daily: vnstat -d. Monthly: vnstat -m. Top 10 traffic days: vnstat -t.

speedtest - monitor bandwidth speed
sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest
htop - monitor all processes and resources' consumption
sudo apt update && sudo apt install htop

To use it just type htop




Tools and links

Community links - Discord
- Documentation
- Telegram
- Twitter
Official links - Website
- Warpcast
- Whitepaper
- Github

- NFT
- Blog
- Cassies's (lead dev) blog
Buy token (wQUIL ERC-20) - Contract
- OTC (Community Discord)
- Uniswap
- Dextools
Videos - The "Alternative" Thesis of Consumer Crypto (backstory)
- Quilibrium Overview: How does it tick? (technical)
- Quilibrium Q&A, Roadmap, High Level Explainer (technical)
=======
Official links - Website
- Warpcast
- Whitepaper
- Github

- NFT
- Blog
- Cassies's (lead dev) blog
Buy token (wQUIL ERC-20) - Contract
- OTC (Community Discord)
- Uniswap
- Dextools
Videos - The "Alternative" Thesis of Consumer Crypto (backstory)
- Quilibrium Overview: How does it tick? (technical)
- Quilibrium Q&A, Roadmap, High Level Explainer (technical)

Useful server commands

Note

If you are looking for commands to transfer QUIL tokens, please look here

Check node info After you node has been running for at least 30 minutes, run this command from your root folder to check the node info (Node version, Peer ID, Quil balance).
For this to work you need to [setup the gRPC calls](https://github.com/lamat1111/quilibrium-node-auto-installer/blob/main/README.md#setup-the-grpc-calls) first.
To go to the root folder just type cd .
cd ~/ceremonyclient/node && GOEXPERIMENT=arenas go run ./... -node-info

Check node version If the "Check node info" command above do not work, you can check the node version by running:
cat ~/ceremonyclient/node/config/version.go | grep -A 1 'func GetVersion() \[\]byte {' | grep -Eo '0x[0-9a-fA-F]+' | xargs printf '%d.%d.%d'
Check node peer ID If the "Check node info" command above do not work, you can check the node peer ID by running:
cd ~/ceremonyclient/node && GOEXPERIMENT=arenas go run ./... -peer-id
Console Similar to "Node info", this will show basic info about your node.
cd ~/ceremonyclient/node && GOEXPERIMENT=arenas go run ./... --db-console
Attach to existing tmux session
tmux a -t quil

To detach from tmux press CTRL+B then release both keys and press D

Create tmux session + run node + detach from session: 1 step command This is useful to quickly run then node in a session AFTER you have rebooted your server. Only RUN this after a reboot and if you have no tmux session already active.
The last part ~/scripts/qnode_restart.sh will only work if you have run the autoinstaller in this guide. Otherwise you have to use GOEXPERIMENT=arenas go run ./...
tmux new-session -d -s quil 'export PATH=$PATH:/usr/local/go/bin && cd ~/ceremonyclient/node && ~/scripts/qnode_restart.sh'
Create cronjob to run the node automatically after a reboot DO NOT USE AFTER 1.4.17 You only have to run this command once. This will setup a cronjob that will create your tmux session and run the node automatically after every reboot of your server. Shoutout to Peter Jameson (Quilibrium Discord community creator) for the script.
The last part ~/scripts/qnode_restart.sh will only work if you have run the autoinstaller in this guide. Otherwise you have to use GOEXPERIMENT=arenas go run ./...
echo "@reboot sleep 10 && tmux new-session -d -s quil 'export PATH=\$PATH:/usr/local/go/bin && cd ~/ceremonyclient/node && ~/scripts/qnode_restart.sh'" | crontab -

If you need to delete the crontab:
Open the crontab file for editing with crontab -e
Locate the line corresponding to the cron job you want to delete and delete it. Press CTRL+X, then Y to save, then ENTER

Kill node process Use this in case you need to stop the node and kill the process
pkill node && pkill -f "go run ./..."
Empty "store" folder CAREFUL: this will empty your "store" folder, only use it if you know what you are doing. Sometimes when you receive errors that you cannot debug, you can solve by killing the node process, emptying the store folder and starting the node again from scratch.
sudo rm -r ~/ceremonyclient/node/.config/store
Backup keys.yml and config.yml to a root/backup folder This may be useful if you have to cleanup your ceremonyclient folder and don't want to download locally your config.yml and keys.yml. You can just backup them remotely on a root/backup folder and copy them again in the node folder later on.

Copy the files from your node folder to the root/backup folder

mkdir -p /root/backup && cp /root/ceremonyclient/node/.config/config.yml /root/backup && cp /root/ceremonyclient/node/.config/keys.yml /root/backup

Copy the files back from root/backup to your node folder (a copy will also remain in the root/backup folder)

cp /root/backup/{config.yml,keys.yml} /root/ceremonyclient/node/.config/
Check total nodes connected to the network Install grpcURL
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest

Run

/root/go/bin/grpcurl -plaintext -max-msg-sz 5000000 localhost:8337 quilibrium.node.node.pb.NodeService.GetPeerInfo | grep peerId | wc -l

Migrate node to a new server

Note

This guide will only work if you use username and password to access yuor target server (which is not the best for security). If you use an SSH key, you will need to follow a more advanced method. Or you can simply setup an SSH key AFTER you have migrated the files to the target server.

  1. Use the auto-installer script in this guide to install the node on the new server and let it run for 10 minutes (or for the time necessary for the root/ceremonyclient/node/.config folder to appear) then stop it with CTRL+C . This step is clearly optional if you have already installed the node.
  2. Grab your new server IP and password.
  3. Login to the old server and run this command. Change <NEW_SERVER_IP> with your new server IP and enter the new server password when requested.
scp -f ~/ceremonyclient/node/.config/keys.yml ~/ceremonyclient/node/.config/config.yml root@<NEW_SERVER_IP>:/root/ceremonyclient/node/.config/
ATTENTION: The command will ovewrite any existing keys.yml and config.yml files in the target server with no confirmation.

The command will move your keys.yml and config.yml to new server. For this to work the node must already be installed in the new server and the .config folder be generated.

Manual method

Alternatively you can migrate the files manually. If you already have a local backup of the config.yml and keys.yml files, you just need to upload them to your new server in the folder root/ceremonyclient/node/.config . You can use use WinSCP to do this.

Set SSH keys to connect to your server

Note

Usually, when you rent a server, you are given a username and password to connect to it. However, this poses a security risk as hackers can attempt to guess your password using brute force attacks. To mitigate this risk, you can disable password access to your server and use SSH keys instead.

Here is a comprehensive guide on how to set up SSH keys on your server.

Alternatively, you can use Termius, which offers a simpler method as outlined below:

  1. Install Termius and follow this guide to generate an SSH key. Remember to securely store your key, either in an encrypted folder on your computer or on an encrypted USB drive.
  2. Through Termius, you can easily export the SSH key to your host and create an identity as explained in the guide.
  3. Test that you can successfully connect to the server using this SSH key.
  4. If you have multiple nodes or servers, you can use the same SSH key for all of them.
  5. Once logged into your server, run sudo nano /etc/ssh/sshd_config.
  6. Scroll down using the down arrow until you locate the line # PasswordAuthentication yes. Uncomment the line (remove #) and set it to no, like so: PasswordAuthentication no.
  7. To save the changes, press CTRL+X, then Y, then ENTER.
  8. Restart your SSH service by running sudo systemctl restart ssh.

Now, you should only be able to access the server via SSH key, and password-based access will no longer work.

Troubleshooting

Panic: resource temporarily unavailable This error means you have an already running instance of the node. Follow the step below to kill all nodes and restart just one instance.
How to kill and restart the node Sometimes you may need to kill and restart the node. For instance if you made the mistake of starting 2 separate instances of the node.
You may also verify this by running the command ps -ef . It will list all your running processes, look for ".../exe/node". There should be only one.



Go to your root folder

cd root

Kill all the node processes

pkill node && pkill -f "go run ./..."

Go into your tmux session and start again the node.
~/scripts/qnode_restart.sh will only work if you have run the autoinstaller in this guide. Otherwise you have to use GOEXPERIMENT=arenas go run ./...

tmux a -t quil
~/scripts/qnode_restart.sh

To detach from tmux press CTRL+B then D.

Errors on servers that already hosted a node If you've already attempted to install a node on your server and then ran the auto-install script, you may encounter errors. Execute these commands sequentially, and they should typically suffice for initiating a new installation.
sudo swapoff /swap/swapfile 2>/dev/null; sudo sed -i '/\/swap\/swapfile/d' /etc/fstab; sudo rm /swap/swapfile 2>/dev/null; sudo rmdir /swap 2>/dev/null || sudo rm -rf /swap
sudo rm -rf /usr/local/go && sudo rm -rf /root/ceremonyclient
Command GO not found - add variables to your .bashrc If you see the error *Command GO not found*, then try to run this command. Thsi will add some variables to your .bashrc file
echo -e "\nexport PATH=\$PATH:/usr/local/go/bin:\$HOME/go\nexport GOEXPERIMENT=arenas" >> ~/.bashrc

Alternatively, you can temporarily add these variables using the command below. Please note that these changes will not persist after rebooting the server:
export PATH=$PATH:/usr/local/go/bin:$HOME/go
export GOEXPERIMENT=arenas



If you receive the error while trying to run your poor_mans_cd script in your tmux session, press CTRL+C to stop the process, then run

export PATH=$PATH:/usr/local/go/bin:$HOME/go
export GOEXPERIMENT=arenas

and finally try to run again the script

./poor_mans_cd.sh

The issue could also be caused by these variables having been added more than once. Open your root/.bashrc file with Termius SFTP or WinSCP and scroll down until you see

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
export GOEXPERIMENT=arenas

If there are duplicates, delete them and save. If something is missing, you can add manually the missing lines and save.

Remove gRPC calls settings from config.yml If you want to remove the gRPC calls setting from your config.yml file here is what you have to do:
1. Open the file root/ceremonyclient/node/.config/config.yml on your local pc using WinSCP
2. Find listenGrpcMultiaddr: /ip4/127.0.0.1/tcp/8337 and replace it with listenGrpcMultiaddr: “”
3. Find statsMultiaddr: "dns/stats.quilibrium.com/tcp/443" and remove the line completely
now your config.yml should be as it was generated by the node itself
How to debug your config.yml A simple way to debug your config.yml file if you are not a dev is to create a node from scratch an download locally the config.yml file. Then download the config.yml of your working node, the one you have edited either via a script or manually.

At this point use a tool such as Diffinity - https://truehumandesign.se/s_diffinity.php, to compare the 2 files.

The encryption keys will be different of course, and you may have some more lines in the "bootstrapPeers" section of one of the files, but you should easily see the lines you have added or if there is any typing error in the file you edited.

Frame number: 0 If you see *Frame number:0* in your node log for a long time, one way to debug is to check if access to the network is healthy and that port 8336 is accessible remotely.
1. From your local PC or a system other than the node:
2. Make sure you have netcat installed: sudo apt install netcat
3. Confirm reachability of bootstrap: nc -vzu YOUR_SERVER_IP 8336
Replace YOUR_SERVER_IP with your node's IP*
Panic: get parent data clock frame: item not found If you imported an external "store" folder to kickstart your node syncronization, you may see this error, while the node keeps crashing.
Stop the node, delete the "SELF_TEST" file from your ".config" folder, and restart the node. If this doesn't solve, try to import in the ".config" folder the "REPAIR" file form another working node, and delete the existing one.
Give the node 10-15 minutes to see if everything works correctly.

Changes after 1.4.17

Note

If you have used this autoinstaller before 14.05.2025, you need to make some small changes right before or after 1.4.18 is released. Just login in your server and follow the steps below.

kill your tmux session

tmux kill-session -t quil

create a new tmux session

cd ceremonyclient/node && tmux new-session -s quil

when inside the tmux session (green bar at the bottom of the screen) run the below command to start the node again without the poor_mans_cd script

GOEXPERIMENT=arenas go run ./...

detatch from the tmux session by pressing CTRL+B and then D

Now your node is running again, but you will have to perform manually any future update. Probably a new autoupdate official script will be provided and this autoinstaller guide will be updated accordingly. Stay tuned!


♡ Want to say thank you?

Apart from using my referral links in the guide for Cherryservers and other providers, you can buy me a cup of something with a small donation.

Donate QUIL
coming soon...
Donate ERC20
0x0fd383A1cfbcf4d1F493Dd71b798ebca89e8a013

Any token that lives on the Ethereum network or Layer2

About

Quilibrium node auto-installer script

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%