# Infra Kit

## RPC, API

RPC [https://story.aeneid-rpc.cryptomolot.com](https://story.aeneid-rpc.cryptomolot.com/)\
Websocket <wss://story.aeneid-rpc.cryptomolot.com/websocket>\
REST API [https://story.aeneid-rest-api.cryptomolot.com](https://story.aeneid-rest-api.cryptomolot.com/)

EVM JSON-RPC [https://story-evm.cryptomolot.com](https://story-evm.cryptomolot.com/)\
EVM websocket [wss://story.aeneid-evm-ws.cryptomolot.com](wss://story.aeneid-evm-ws.cryptomolot.com/)

## Snapshots

Updates every 12 hours\
Block Height 14021034\
Size 65 GB: story 45GB, geth 20GB\
db: goleveldb

indexer=null

### Stop the node

```bash
sudo systemctl stop story story-geth
```

### Install dependencies

```bash
sudo apt-get update
sudo apt-get install wget lz4 aria2 -y
```

### Download and extract Story snap

#### Backup your `priv_validator_state.json`

```bash
cp $HOME/.story/story/data/priv_validator_state.json $HOME/story-priv_validator_state.json.backup
```

#### Download Story-snap

```bash
cd $HOME
rm story-snap-aeneid.tar.lz4
aria2c -x 16 -s 16 -o story-snap-aeneid.tar.lz4 https://snapshots.cryptomolot.com/story-snap-aeneid.tar.lz4
```

#### Extract Story-snap

```bash
rm -rf $HOME/.story/story/data
sudo mkdir -p $HOME/.story/story/data
lz4 -d story-snap-aeneid.tar.lz4 - | tar -xf - -C $HOME/.story/story/data
```

#### Restore your `priv_validator_state.json`

```bash
cp $HOME/story-priv_validator_state.json.backup $HOME/.story/story/data/priv_validator_state.json
```

### Download and extract Story-geth snap

#### Download Story-geth snap

```bash
cd $HOME
rm story-geth-snap-aeneid.tar.lz4
aria2c -x 16 -s 16 -o story-geth-snap-aeneid.tar.lz4 https://snapshots.cryptomolot.com/story-geth-snap-aeneid.tar.lz4
```

#### Extract Story-geth snap

```bash
rm -rf $HOME/.story/geth/odyssey/geth/chaindata
sudo mkdir -p $HOME/.story/geth/odyssey/geth/chaindata
lz4 -d story-geth-snap-aeneid.tar.lz4 - | tar -xf - -С $HOME/.story/geth/odyssey/geth
```

#### Restart node services

```bash
sudo systemctl restart story-geth && sleep 5 && sudo systemctl restart story
```

### Check status

```bash
curl localhost:${STORY_PORT}657/status | jq |grep "latest_block_height"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cryptomolot.gitbook.io/cryptomolot-docs/testnets/story-protocol/infra-kit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
