# Story Validator Handbook

By [deNodes](https://paragraph.com/@denodes) · 2024-11-24

---

The [Story Validator Handbook](https://github.com/denodesxyz/story) serves as an all-encompassing resource designed to guide node operators through the intricacies of deploying and managing validator nodes within the [Odyssey Testnet](https://docs.story.foundation/docs/odyssey-wallet-setup) of [Story Protocol](https://x.com/StoryProtocol), world's first IP-focused blockchain infrastructure.

[Subscribe](null)

* * *

**Story, the World’s IP Blockchain**
------------------------------------

[Story Protocol](https://x.com/StoryProtocol) is the world's first IP network, making intellectual property programmable on the blockchain to empower creators and builders through tokenized creativity, unlocking new solutions for IP-related challenges.

It's a purpose-built blockchain infrastructure with three main components:

*   [Story Network](https://learn.story.foundation/story-network): A purpose-built L1 blockchain designed for complex data structures, providing fast, cost-efficient processing with EVM compatibility
    
*   [The Programmable IP License](https://learn.story.foundation/pil-101): Enables blockchain integration of intellectual property, creating digital liquidity for IP assets
    
*   [Proof-of-Creativity Protocol](https://learn.story.foundation/proof-of-creativity-protocol): Facilitates permissionless licensing, automated royalty payments, and transparent IP attribution
    

_For an in-depth look at the Story Protocol specifications, check out the_ [_docs_](https://docs.story.foundation/docs/what-is-story)_. Also, follow @_[_StoryProtocol_](https://x.com/StoryProtocol) _and @_[_StoryEcostystem_](https://x.com/StoryEcosystem) _on X to stay updated._

Story’s Odyssey Testnet
-----------------------

The [Odyssey Testnet](https://x.com/StoryProtocol/status/1854554611618615304) is the final testing phase that introduces a new network with the latest protocol upgrades. With more than [100 ecosystem builders](https://www.story.foundation/ecosystem#partners) participating, the network is being thoroughly tested before the upcoming Mainnet launch.

[![User Avatar](https://storage.googleapis.com/papyrus_images/12810166c54e00c220d44068a225e81edb39f1a3c1aca85a5715640e045293aa.jpg)](https://twitter.com/StoryProtocol)

[Story](https://twitter.com/StoryProtocol)

[@StoryProtocol](https://twitter.com/StoryProtocol)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/StoryProtocol/status/1854554611618615304)

Story’s final testnet, Odyssey, is now live.  
  
Nearly 100 ecosystem partners are building blockchain's next killer apps on Odyssey.  
  
꧁IP꧂ is inevitable.

![](https://pbs.twimg.com/ext_tw_video_thumb/1854541543064940560/pu/img/zwdgU5qRdMleHLN6.jpg)

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 65.9K](https://twitter.com/StoryProtocol/status/1854554611618615304)[

10:00 AM • Nov 7, 2024

](https://twitter.com/StoryProtocol/status/1854554611618615304)

* * *

Story Node Setup
----------------

[Story's architecture](https://docs.story.foundation/docs/odyssey-node-setup) separates execution and consensus clients, significantly enhancing the network's scalability and efficiency. This design eliminates the bottleneck of execution transaction throughput.

To run a node, you'll need two key components: the `story-geth` execution client and the `story` consensus client.

### **Prerequisite**

Before diving in, let's ensure we meet the prerequisites for setting up a Story node:

*   CPU: **4** **Cores**
    
*   Memory: **16 GB RAM**
    
*   Disk: **500 GB SSD**
    
*   Machine: **Ubuntu 22.04+**
    

### **Script Execution**

Our automated setup script simplifies node deployment by handling quick installation with snapshots and [Cosmovisor](https://medium.com/story-protocol/story-v0-10-0-node-upgrade-guide-42e2fbcfcb9a) setup for automated updates.

During installation, you need to select which type of node to run:

*   **Full Node**: Full historical state
    
*   **Pruned Node**: Optimized for recent state
    

Use the following script to install the node:

    wget -O story.sh https://api.denodes.xyz/story.sh && bash story.sh
    

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=pO9HkYSxkRs)

### **Synchronizing Your Node**

After installation, wait for the node to fully synchronize. The command below should return `false`:

    curl -s localhost:26657/status | jq .result.sync_info.catching_up
    

### Setting Up Your Wallet

Next, proceed to create a wallet and show its address:

    story validator export
    

Your output should look similar to the following:

![](https://storage.googleapis.com/papyrus_images/2d387b28854bc293577d95524a5a49529206faedae817878e9fdc1b04253e7e0.png)

> **Note**: Export your validator's derived EVM private key to the default data config directory using the `story validator export --export-evm-key` command.

### Getting Test Tokens

After setting up your EVM wallet, get test tokens for your validator wallet from the [Story Protocol Faucet](https://faucet.story.foundation/) and check your balance on [Storyscan](https://odyssey-testnet-explorer.storyscan.xyz/).

![](https://storage.googleapis.com/papyrus_images/eb165d06f6de14f3b29f69eb57a2924b25e46b8b62735568768f29d57257286c.png)

> Make sure that you have a sufficient [Humanity Score](https://app.passport.xyz/) to claim a token.

### Creating Your Validator

Finally, create your validator with this command:

    source $HOME/.bash_profile
    story validator create --stake 1024000000000000000000 --moniker $MONIKER
    

Your validator node is now set up and running on Odyssey Testnet. Congratulations!

### Editing Your Validator Profile

You can customize your validator profile by adding your identity, image, website, and social links on [Storyscan](https://testnet.storyscan.app/validators) after connecting with your EVM wallet through an imported private key.

![](https://storage.googleapis.com/papyrus_images/671f0ba5c486d8899dfb3901b5f4b903118bd3f36b36ed6eced063315128154b.png)

### Story Monitoring Bot

We created a monitoring tool for Story nodes operating on the Odyssey testnet. The tool helps developers and validators track their node performance and view network statistics. Users can receive real-time alerts when attention is needed and monitor their node's performance instantly.

*   Get started: [Story deTools](https://t.me/storydetool_bot)
    

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=MZm3PKS8RTQ)

### Automated Upgrades

As part of our script, [Cosmovisor](https://medium.com/story-protocol/story-v0-10-0-node-upgrade-guide-42e2fbcfcb9a) is already installed on your machine, which automatically prepares you for upcoming chain upgrades.

To set up for new updates, download the new binary and use this command:

    cosmovisor add-upgrade UPGRADE_NAME NEW_BINARY --force --upgrade-height UPGRADE_HEIGHT
    

**For example**, with the latest `v0.13.0` update, use:

    cd $HOME
    wget -O story https://github.com/piplabs/story/releases/download/v0.13.0/story-linux-amd64
    chmod +x story
    
    cosmovisor add-upgrade v0.13.0 story --force --upgrade-height 858000
    

_For node-related and developer-related updates, follow @_[_StoryEngs_](https://x.com/StoryEngs) _and join validator community on_ [_Discord_](https://discord.com/invite/storyprotocol)_._

* * *

**Helpful Commands**
--------------------

*   View consensus client logs:
    

    journalctl -fu storyd -o cat
    

*   Check execution client logs:
    

    journalctl -fu story-gethd -o cat
    

*   Restart your node:
    

    systemctl restart storyd story-gethd
    

*   Check a wallet address:
    

    story validator export
    

*   Check sync status:
    

    curl -s localhost:26657/status | jq .result.sync_info.catching_up
    

*   Unjail validator:
    

    story validator unjail --validator-pubkey ${VALIDATOR_PUB_KEY_IN_HEX}
    

*   Remove your node:
    

    systemctl stop storyd story-gethd
    systemctl disable storyd story-gethd
    rm /etc/systemd/system/storyd.service
    rm /etc/systemd/system/story-gethd.service
    rm -rf $HOME/.story
    

* * *

**Story's FAQ**
---------------

### **What is Story Protocol?**

Story is a purpose-built blockchain infrastructure for IP and tokenized creations. It integrates a Layer 1 blockchain with specialized protocols that handle IP-related transactions and smart contracts.

### **What is the Odyssey Testnet?**

Odyssey Testnet is Story Protocol's final testing environment before mainnet launch. It features the latest protocol upgrades and allows developers, validators, and ecosystem partners to test network functionality, and smart contracts.

### **What are the hardware requirements for running a Story node?**

A Story node requires 4 CPU cores, 16GB RAM, and 500GB SSD storage space, running on Ubuntu 22.04 or higher.

### **What is Cosmovisor and why is it important?**

[Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor) is an automatic upgrade manager for Story nodes that handles chain upgrades seamlessly, ensuring your validator stays up-to-date with network changes.

### **How do I check if my node is synced?**

When this command returns `false`, your node is fully synced:

`curl -s localhost:26657/status | jq .result.sync_info.catching_up`

### **How do I get test tokens for the Odyssey Testnet?**

You can obtain test tokens through the Story Faucet after setting up your EVM wallet and achieving a sufficient Humanity Score.

### **What is the minimum stake required to become a validator?**

The minimum stake required to create a validator is 1024 STORY token (1024000000000000000000 in wei).

### **What happens if my validator gets jailed?**

If your validator gets jailed due to downtime or misbehaviour, you can use the unjail command to restore your validator's active status once the issue is resolved.

### **How often are network upgrades released?**

Network upgrades are released periodically based on protocol development and community governance decisions. Stay updated through the Story discord and X.

* * *

[Subscribe](null)

---

*Originally published on [deNodes](https://paragraph.com/@denodes/story-validator-handbook)*
