Common problems and solutions when running Story nodes
Welcome to Story node troubleshooting! This section covers common problems and solutions when running Story nodes.
What are the hardware requirements?
See the system specs
What's the max expected TPS?
~700
Is it fully EVM-compatible? Is there any customization already being made on the IP blockchain? Or are there any coming customization to be applied?
Yes, it’s EVM-compatible. Story’s execution client is a fork of Geth with our custom precompiles, which enhance the IP graph’s performance while maintaining strict EVM compatibility. Other Ethereum execution clients, such as RETH and Erigon, can be supported later.
Which is your consensus mechanism?
Our consensus mechanism is CometBFT
Batches support? Limit on batch request?
Batch RPCs are supported - for Geth there is a 1K limit and on the consensus side there is 10 request limit
WS connections? (if yes, how do they work)
Yes, WS is enabled on the execution client, and is recommended for subscription use-cases. It is open on port 8546
How many different paths does node serves (several path with diff methods RPC)?
Please see Geth’s latest JSON-RPC documentation for a full comprehensive list here. In the future, we may add more.
Caching rules for RPC method?
We recommend employing standard in-memory caching with a 1-10 min TTL based on the RPC method
What is the best method to get latest block and check node is healthy and in sync?
Use eth_syncing
RPC call on the execution client to check if the node is sync and eth_blockNumber
for getting the latest block
What are the heaviest RPC methods? How much time does it take to respond to request with such method?
eth_call
/ eth_getLogs
/ eth_getBlockByNumber
We are still running latency tests to get a sense of response times.
Is archive node provisioning a requirement? If yes how big?
No, not at the moment.
Are there snapshots available for full / archive?
Not yet, but we are working on it.
Database Initialization Failure
Error:
Solution:
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Default is app-db-backend = "goleveldb"
. The fallback is the db_backend
value set in CometBFT’s config.toml
.
High Gas Fees
Problem: Need to adjust gas fees on RPC node
Solution:
Add the --rpc.txfee
flag to your geth startup command:
Failed to send PacketPing
Error:
Solution:
Cosmovisor: failed to read upgrade info
IPC endpoint closed
Error:
Solution:
iptables
blocking ip and port and access posix.ufw posix
and iptables
:Found signature from the same key
Error:
Solution:
Failed to validate create flags: missing required flag(s): moniker
Error:
Solution:
--moniker
.See more options here.
Error adding vote
Error:
Solution:
Error signing vote
Error:
Solution:
priv_validator_state
of validator.
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Check your validator state:
Unknown flag: --home
Error:
Solution:
--home
flag from the startup command.Failed to register the Ethereum service
Error:
Solution:
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Error:
Solution:
Processing finalized payload halted while evm syncing
Warn:
Solution:
Upgrade handler is missing
Error:
Solution:
Home directory contains unexpected file
Error:
Solution:
$HOME/.story/story
directory created, and there are files in it. Delete it, or try with it.Err='create comet node: create node
Error:
Solution:
WAL does not contain
Error:
Solution:
AppHash
issue.Err='load engine JWT file: read jwt file
Error:
Solution:
jwtsecret
.WorkingDirectory
in your geth-service
, by default WorkingDirectory=$HOME/.story/geth
.jwtsecret
with command (for odyssey network):Couldn't connect to any seeds
Error:
Solution:
Processing finalized payload failed err='rpc forkchoice updated
Warn:
Solution:
story-geth
is syncing, which takes some time.Warn:
Solution:
9090
.9090
, then modify it to another.Wrong AppHash
Error:
Solution:
Wrong AppHash
type logs means the story node version you are using is wrong.Connection failed sendRoutine / Stopping peer
Error:
Solution:
Moniker must be valid non-empty
Error:
Solution:
""
when executing init:""
only:Invalid address (26656)
Error:
Solution:
26656
.26656
, change it to another and keep the default 26656
for story in the P2P configuration
options in config
:Eth_coinbase does not exist
Warn:
Solution:
Verifying proposal failed
Warn:
Solution:
iptables
blocking ip and port and access posix.ufw posix
and iptables
:Common problems and solutions when running Story nodes
Welcome to Story node troubleshooting! This section covers common problems and solutions when running Story nodes.
What are the hardware requirements?
See the system specs
What's the max expected TPS?
~700
Is it fully EVM-compatible? Is there any customization already being made on the IP blockchain? Or are there any coming customization to be applied?
Yes, it’s EVM-compatible. Story’s execution client is a fork of Geth with our custom precompiles, which enhance the IP graph’s performance while maintaining strict EVM compatibility. Other Ethereum execution clients, such as RETH and Erigon, can be supported later.
Which is your consensus mechanism?
Our consensus mechanism is CometBFT
Batches support? Limit on batch request?
Batch RPCs are supported - for Geth there is a 1K limit and on the consensus side there is 10 request limit
WS connections? (if yes, how do they work)
Yes, WS is enabled on the execution client, and is recommended for subscription use-cases. It is open on port 8546
How many different paths does node serves (several path with diff methods RPC)?
Please see Geth’s latest JSON-RPC documentation for a full comprehensive list here. In the future, we may add more.
Caching rules for RPC method?
We recommend employing standard in-memory caching with a 1-10 min TTL based on the RPC method
What is the best method to get latest block and check node is healthy and in sync?
Use eth_syncing
RPC call on the execution client to check if the node is sync and eth_blockNumber
for getting the latest block
What are the heaviest RPC methods? How much time does it take to respond to request with such method?
eth_call
/ eth_getLogs
/ eth_getBlockByNumber
We are still running latency tests to get a sense of response times.
Is archive node provisioning a requirement? If yes how big?
No, not at the moment.
Are there snapshots available for full / archive?
Not yet, but we are working on it.
Database Initialization Failure
Error:
Solution:
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Default is app-db-backend = "goleveldb"
. The fallback is the db_backend
value set in CometBFT’s config.toml
.
High Gas Fees
Problem: Need to adjust gas fees on RPC node
Solution:
Add the --rpc.txfee
flag to your geth startup command:
Failed to send PacketPing
Error:
Solution:
Cosmovisor: failed to read upgrade info
IPC endpoint closed
Error:
Solution:
iptables
blocking ip and port and access posix.ufw posix
and iptables
:Found signature from the same key
Error:
Solution:
Failed to validate create flags: missing required flag(s): moniker
Error:
Solution:
--moniker
.See more options here.
Error adding vote
Error:
Solution:
Error signing vote
Error:
Solution:
priv_validator_state
of validator.
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Check your validator state:
Unknown flag: --home
Error:
Solution:
--home
flag from the startup command.Failed to register the Ethereum service
Error:
Solution:
🚧 Be very careful with this file, especially if your validator is already signing blocks.
Error:
Solution:
Processing finalized payload halted while evm syncing
Warn:
Solution:
Upgrade handler is missing
Error:
Solution:
Home directory contains unexpected file
Error:
Solution:
$HOME/.story/story
directory created, and there are files in it. Delete it, or try with it.Err='create comet node: create node
Error:
Solution:
WAL does not contain
Error:
Solution:
AppHash
issue.Err='load engine JWT file: read jwt file
Error:
Solution:
jwtsecret
.WorkingDirectory
in your geth-service
, by default WorkingDirectory=$HOME/.story/geth
.jwtsecret
with command (for odyssey network):Couldn't connect to any seeds
Error:
Solution:
Processing finalized payload failed err='rpc forkchoice updated
Warn:
Solution:
story-geth
is syncing, which takes some time.Warn:
Solution:
9090
.9090
, then modify it to another.Wrong AppHash
Error:
Solution:
Wrong AppHash
type logs means the story node version you are using is wrong.Connection failed sendRoutine / Stopping peer
Error:
Solution:
Moniker must be valid non-empty
Error:
Solution:
""
when executing init:""
only:Invalid address (26656)
Error:
Solution:
26656
.26656
, change it to another and keep the default 26656
for story in the P2P configuration
options in config
:Eth_coinbase does not exist
Warn:
Solution:
Verifying proposal failed
Warn:
Solution:
iptables
blocking ip and port and access posix.ufw posix
and iptables
: