Timechain Node Setup Guide

Guide on Timechain Node for Analog by NodeCattel 🐈 💻

Run an Analog Timechain Node

⚙️ Hardware Requirement

- Memory: 16 GB
- CPU: 8 cores
- Disk: 300 GB NVME SSD
- Bandwidth: 500 MBps for Download / Upload

System updates

sudo apt update && sudo apt upgrade -y

Install Prerequisites for Docker

# Install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

Install Docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

# Install the Docker packages
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Verify that docker is installed correctly
sudo docker run hello-world

Successful Docker Installation should show result like this

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete 
Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Download Timechain Docker Image

docker pull analoglabs/timechain

Run Timechain Node

*Please set your own node's name in the command*

echo 'export NODE_NAME="your_node_name_here"' >> ~/.bash_profile
source ~/.bash_profile

Then Run the Timechain Node Docker *If you have another application already using ports 9944 and 30303 on your host machine, you can map alternative ports to these Docker container ports as follows - PORT:9944 or PORT:30303*

docker run -d --name analog -p 9944:9944 -p 30303:30303 analoglabs/timechain \
    --base-path /data \
    --rpc-external \
    --unsafe-rpc-external \
    --rpc-cors all \
    --name $NODE_NAME \
    --telemetry-url="wss://telemetry.analog.one/submit 9" \
    --rpc-methods Unsafe

Install websocat

sudo wget -qO /usr/local/bin/websocat https://github.com/vi/websocat/releases/latest/download/websocat.x86_64-unknown-linux-musl
sudo chmod a+x /usr/local/bin/websocat && websocat --version

It should return the result similar to below

websocat 1.13.0

Generate Session Key

echo '{"id":1,"jsonrpc":"2.0","method":"author_rotateKeys","params":[]}' | websocat -n1 -B 99999999 ws://127.0.0.1:9944

The result should be

{"jsonrpc":"2.0","result":"0xb4875e1b532......77d96128918540daf4c","id":1}

Copy the long hash value in "result" and save it to your text editor app for later use.

Create Wallet using Wallet Extension

Install wallet in your browser by following this guide

We recommend Fearless Wallet or Subwallet Change network to Analog Testnet and copy your wallet address and save to your profile for later use.

read -p "Enter your wallet address here: " WALLET_ANALOG && echo
echo "export WALLET_ANALOG=\"$WALLET_ANALOG\"" >> ~/.bash_profile
source ~/.bash_profile
echo -e "Your Analog wallet address is \033[0;32m$WALLET_ANALOG\033[0m"

You can run echo $WALLET_ANALOG to reveal your address anytime

Request Token Faucet

Heading to Analog's Discord Faucet Channel and type

!faucet <yourwalletaddress>

You can request 1 TANLOG for every 12 hours

Trigger Payout

Head to Polkadot.js and click "+ Validator" on the top right and input rotatekeys from this step (0x...) then 'Bond & Validate'

Submit the Whitelist Form

Submit Here and wait for approval from team.

Congratulation!! 😻

Now you have completed your node for Analog.

nekohime ~

Last updated