Skip to content

Latest commit

 

History

History
196 lines (183 loc) · 6.7 KB

README.md

File metadata and controls

196 lines (183 loc) · 6.7 KB

banner

About Story

  • Story is making the legal system for creative Intellectual Property (IP) more efficient by turning IP "programmable" on the blockchain. To do this, we have created Story Network: a purpose-built layer 1 blockchain where people or programs alike can license, remix, and monetize IP according to transparent terms set by creators themselves.

Website Github Twitter Discord Blog
- Memory: 16 GB RAM
- CPU: 4 Cores
- Disk: 200 GB NVME
- Bandwidth: 25 MBit/s

TrustedPoint Services


Installation guide

1. Install required packages

sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y

2. Install Go

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version

3. Build story binary

git clone https://github.com/piplabs/story
cd ./story
git checkout 20fed5ed45d39c9ac59ab17c03ff3b1efac0f7b2
go build -o story ./client
cp ./story $HOME/go/bin
story version

3. Build geth binary

git clone https://github.com/piplabs/story-geth.git
cd ./story-geth
git checkout v0.10.0
make geth
cp ./build/bin/geth $HOME/go/bin
geth version

4. initialize story client working env

story init --network odyssey --moniker "Your_Node_Name"

5. Create story client service file

sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
[Unit]
Description=Story Client
After=network.target

[Service]
User=$USER
WorkingDirectory=$USER/.story/story
Type=simple
ExecStart=$(which story) run
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

6. Start story client node

sudo systemctl daemon-reload && \
sudo systemctl enable story && \
sudo systemctl restart story && \
sudo journalctl -u story -f -o cat

7. Create geth service file

sudo tee /etc/systemd/system/geth.service > /dev/null <<EOF
[Unit]
Description=Geth Client
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=$(which geth) --odyssey --syncmode full
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

8. Start geth node

sudo systemctl daemon-reload && \
sudo systemctl enable geth && \
sudo systemctl restart geth && \
sudo journalctl -u geth -f -o cat

P.S. Consider downloading snapshot

Download Snapshots

1. Check snapshot info

curl -s https://storage.trusted-point.com/snapshots/story/snapshot_info.json

2. Download story client snapshot

wget https://storage.trusted-point.com/snapshots/story/latest_story_snapshot.tar.lz4

3. Download geth snapshot

wget https://storage.trusted-point.com/snapshots/story/latest_geth_snapshot.tar.lz4

4. Stop the nodes

sudo systemctl stop story
sudo systemctl stop geth

5. Backup priv_validator_state.json

cp $HOME/.story/story/data/priv_validator_state.json $HOME/.story/story/priv_validator_state.json.backup

6. Reset DBs

rm -rf $HOME/.story/story/data
rm -rf $HOME/.story/geth/odyssey/geth/chaindata

7. Extract story client snapshot

lz4 -d -c ./latest_story_snapshot.tar.lz4 | tar -xf - -C $HOME/.story/story

8. Extract geth snapshot

lz4 -d -c ./latest_geth_snapshot.tar.lz4 | tar -xf - -C $HOME/.story/geth/odyssey/geth

9. Move priv_validator_state.json back

mv $HOME/.story/story/priv_validator_state.json.backup $HOME/.story/story/data/priv_validator_state.json

10. Restart the nodes

sudo systemctl restart story && sudo journalctl -u story -f -o cat
sudo systemctl restart geth && sudo journalctl -u geth -f -o cat

8. Check the synchronization status

wardend status | jq .SyncInfo

Snapshot is being updated every 6 hours