This script automates the installation, configuration, and management of the Story Validator Node, simplifying operations by handling dependencies, binaries, system services, wallets syncing and more tasks... It provides a menu-driven interface that allows users to perform actions such as checking logs, managing node synchronization, and updating configurations...
-
OS: Ubuntu-based distributions
-
Privileges: Root or sudo access
- Open a terminal.
- Run the script:
bash <(curl -s https://snapshots.tienthuattoan.com/testnet/story/install-story.sh)
NOTE: This section provides an in-depth look at each feature available in the Story Validator Node setup script. Every feature is explained with the following structure:
-
Feature Name and Number: Corresponding menu option from the script.
-
Purpose: Describes the importance of the feature and how it benefits the user.
-
Usage: Step-by-step instructions on how to use the feature based on the code logic.
1. Install Story Node
This feature is essential as it provides a one-stop installation process for the Story Validator Node. It handles everything: dependency management, binary installation, and configuration, ensuring your node is ready to run seamlessly in no time. This option simplifies what would otherwise be a complex multi-step process, making it accessible even to beginners.
-
Select "Install Story Node " from the main menu.
-
Follow these prompts:
-
Enter a validator name.
-
Choose whether to change default ports.
-
If yes, enter new prefixes for:
-
Proxy App Port (26658)
-
RPC Port (26657)
-
P2P Port (26656)
-
-
The script will:
-
Install dependencies and Go.
-
Clone the Story and Geth binaries.
-
Set up the systemd services for automatic management.
-
Sync using the latest snapshot.
-
2. Check Story Logs
This feature provides real-time monitoring of the Story Node's logs, which is essential for tracking your node's performance and diagnosing any issues quickly. By watching the logs, you can detect synchronization issues, service disruptions, or configuration errors as they occur.
-
Select "Check Story Logs" from the menu.
-
The logs will display in real-time on the screen.
-
Use Ctrl + C to exit the logs view.
3. Check Geth Logs
This feature enables you to monitor the Geth client logs, which is crucial if your node interacts with Ethereum-based networks. Geth logs help ensure that your node stays connected and synced with the blockchain.
-
Select "Check Geth Logs" from the menu.
-
The logs will display in real-time.
-
Use Ctrl + C to stop viewing the logs.
4. Check Sync Status
This option checks the current sync status of the node, including the local and network block heights. Staying synced with the blockchain ensures the node can validate transactions and participate in consensus correctly.
-
Select "Check Sync Status" from the menu.
-
The script will:
-
Fetch the local and network heights.
-
Calculate the blocks remaining and estimate the sync time.
- View the sync progress on-screen.
5. Check Sync Info
This feature provides detailed synchronization information, offering a deeper look at the node's current sync state. It is useful for debugging and ensuring your node is aligned with the blockchain.
-
Select "Check Sync Info" from the menu.
-
The script will retrieve and display sync details using the RPC interface.
6. Check Validator Info
This option displays critical information about your validator, including its status, ID, and other relevant data. This is essential for monitoring the health of your validator and ensuring it remains active in the network.
-
Select "Check Validator Info" from the menu.
-
The validator's status will be shown on-screen.
7. Synchronization via Snapshot
This feature allows you to synchronize the node using the latest snapshot, significantly speeding up the sync process. Instead of syncing from scratch, snapshots provide a recent state of the blockchain.
-
Select "Synchronization via Snapshot" from the menu.
-
Confirm synchronization by selecting "yes" when prompted.
-
The script will:
-
Stop the services.
-
Download and extract the latest snapshot.
-
Restart the services for the node to continue syncing from the snapshot.
8. Update Seed
This feature updates the seed node configuration, helping the node connect to other peers more efficiently. Keeping seeds updated ensures stable connections within the network.
-
Select "Update New Seed" from the menu.
-
Enter the new seed in the format:
node_id@ip:port. -
The configuration will be updated and verified.
9. Sync New Live-Peers
This feature fetches live peers from the network and updates the configuration with their details. Maintaining an up-to-date list of peers enhances connectivity and synchronization.
-
Select "Sync New Live-Peers" from the menu.
-
The script will fetch live peers and update the persistent_peers field in the configuration.
10. Clear Persistent Peers
This option clears all existing persistent peers from the configuration. Use this when you encounter connectivity issues or want to reset the peer list.
-
Select "Clear Persistent Peers" from the menu.
-
The script will remove the peer list from the configuration.
11. Check Story Version
Displays the current version of the Story Node and Geth. This helps ensure you are using the latest version for compatibility and security.
####Usage:
-
Select "Check Story Version" from the menu.
-
View the versions displayed on-screen.
12. Upgrade Story Version
This option upgrades the Story binaries to the latest version, ensuring your node remains compatible with the network's latest updates.
-
Select "Upgrade Story Version" from the menu.
-
The script will download and install the latest binaries.
13. Create Wallet
Creates a new wallet for your node and exports the private key. This wallet is essential for validator operations.
-
Select "Create Wallet" from the menu.
-
Enter the wallet name when prompted.
-
Save the private key securely when displayed.
14. Check Wallet Info
Displays information about the wallet you have created, including essential details for managing your assets.
-
Select "Check Wallet Info" from the menu.
-
The wallet details will be shown on-screen.
15. Check Wallet Balance
This option allows you to check the wallet's balance using an EVM address.
-
Select "Check Wallet Balance" from the menu.
-
Enter the EVM address when prompted.
-
View the balance in ETH format.
16. Restart Story Node
Restarts the Story and Geth services, useful after making configuration changes or encountering issues.
-
Select "Restart Story Node" from the menu.
-
The services will restart, and logs will be displayed.
17. Stop Story Node
Stops the Story and Geth services when maintenance or updates are needed.
-
Select "Stop Story Node" from the menu.
-
The services will be stopped.
18. Delete Story Node
This option removes the node and all its data, useful if you need to reconfigure or uninstall the node.
-
Select "Delete Story Node" from the menu.
-
Confirm deletion by typing "yes".
19. Help
Displays a detailed help menu with descriptions of all features, guiding users through the available options.
-
Select "Help" from the menu.
-
Browse the help content displayed on-screen.
20. Exit
Purpose:
Exit the script safely.
Usage:
-
Select "Exit" from the menu.
-
The script will close.
Conclusion
The Story Validator Node script streamlines the entire process of managing a blockchain node. With automated installation, real-time monitoring, and synchronization capabilities, it ensures that users can focus on efficiently operating their validator. This comprehensive documentation serves as a guide to harness the full potential of the script and maintain a healthy, functional node within the network. This script is developed by the DevOps team at TTT Labs, and we offer many additional tools to help make operating your Story Validator even easier.
