> For the complete documentation index, see [llms.txt](https://docs.validator247.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.validator247.com/testnet/initia.md).

# Initia

**Info**

> <https://discord.com/invite/initia>
>
> <https://twitter.com/initiaFDN>
>
> <https://initia.xyz/>

**Chain:**

```
nitiad version: v0.2.11
Chain ID : initiation-1
```

Public RPC Endpoint

> <https://initia-testnet-rpc.validator247.com>
>
> <https://initia-testnet-api.validator247.com>

**Explorer**

> <https://scan.testnet.initia.xyz/initiation-1/validators>

## **A.  Install Node**&#x20;

The minimum hardware requirements for running an Initia node are:

```
CPU: 16 cores
Memory: 64GB RAM
Disk: 1 TB SSD Storage
Bandwidth: 100 Mbps
```

Update system

```
sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
```

Install Go

```
sudo rm -rvf /usr/local/go/
wget https://golang.org/dl/go1.21.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz
rm go1.21.1.linux-amd64.tar.gz
```

**Configure Go**

```
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
```

**Install Cosmovisor**

```
go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0
```

## **Install Node**

```
git clone https://github.com/initia-labs/initia initia
cd initia
git checkout v0.2.15
make install
```

## **Initialize Node**

```
initiad init YOUR_MONIKER --chain-id initiation-1
```

## Download  genesis & addrbook

```
wget https://github.com/Validator247/Innitia/raw/main/genesis.json
wget https://github.com/Validator247/Innitia/raw/main/addrbook.json
```

## **Create Service**

```
sudo tee /etc/systemd/system/initiad.service > /dev/null <<EOF
[Unit]
Description="initia node"
After=network-online.target

[Service]
User=root
ExecStart=/root/go/bin/cosmovisor start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="DAEMON_NAME=initiad"
Environment="DAEMON_HOME=/root/.initia"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable initiad

```

## **Download Snapshot**

> ```
> https://polkachu.com/testnets/initia/snapshots
> https://dashboard.moonlet.app/dashboard/snapshots
> ```

## Launch Node

```
sudo systemctl restart initia
journalctl -u initia -f -o cat
```

Command  services

```
initiad status | jq

sudo journalctl -u initiad -f --no-hostname -o cat

sudo systemctl restart initiad

sudo systemctl status initiad

sudo systemctl start initiad

sudo systemctl enable initiad

sudo systemctl daemon-reload
```

Upgrade&#x20;

```
sudo systemctl st initiad

cd $HOME
rm -rf initia
git clone https://github.com/initia-labs/initia.git
cd initia
git checkout v0.2.15
make install

sudo systemctl daemon-reload

sudo systemctl restart initiad && sudo journalctl -u initiad -f -o cat
```

***Above are the most important components. For details, please follow the team's guide***

> <https://docs.initia.xyz/run-initia-node/running-initia-node>

Create Validator

```
initiad tx mstaking create-validator \
    --amount="1000000uinit" \
    --pubkey=$(initiad tendermint show-validator) \
    --identity="your_keybase" \
    --website="your_website" \
    --security-contact="your_email" \
    --details="I love validator247" \
    --chain-id="initiation-1" \
    --from="wallet" \
    --commission-rate="0.10" \
    --commission-max-rate="0.20" \
    --commission-max-change-rate="0.01" \
    --gas="500000" \
    --fees="75000uinit" \
    -y
```

Edit Validator

```
initiad tx mstaking edit-validator --website="<your_website>" --details="<I love validator247>" --moniker="<your_nodename>" --identity="<your_keybase">" --from=<wallet_name> --gas=2000000 --fees=300000uinit -y
```

Unjail&#x20;

```
initiad tx slashing unjail --from wallet --chain-id initiation-1 --gas=2000000 --fees=563000move/944f8dd8dc49f96c25fea9849f16436dcfa6d564eec802f3ef7f8b3ea85368ff -y 
```

## B . Oracle

Step 1 : Clone the Repository

```
git clone https://github.com/skip-mev/slinky.git
cd slinky

# checkout proper version
git checkout v0.4.3
```

nano config/core/oracle.json

Check the final code and edit it to look like the following code: (if it's the same, keep it the same)

```
{
  "market_providers": [
    {
      "name": "marketmap_api",
      "api": {
        "enabled": true,
        "timeout": 20000000000,
        "interval": 10000000000,
        "reconnectTimeout": 2000000000,
        "maxQueries": 1,
        "atomic": true,
        "url": "0.0.0.0:9090",
        "endpoints": null,
        "batchSize": 0,
        "name": "marketmap_api"
      },
      "type": "market_map_provider"
    }
  ],
  "metrics": {
    "prometheusServerAddress": "0.0.0.0:8002",
    "enabled": true
  },
  "host": "0.0.0.0",
  "port": "8080"
}

```

## Create a new tmux, then run the next step

**Starting The Sidecar**

Compile Slinky:

```
# You can use one of the following two commands:
make build

# or
go build -o build/slinky ./cmd/slinky
```

Run sidecar:

```
./build/slinky --oracle-config-path ./config/core/oracle.json --market-map-endpoint 0.0.0.0:9090

```

Exit tmux to go to the next step

Create another tmux

Validating Prices:

```
make run-oracle-client
```

Exit tmux

Enable Vote Extension Oracle:&#x20;

open the <.initia/config/app.toml> file, scroll down to the bottom and edit the Oracle section to resemble the following code:

```
###############################################################################
###                                  Oracle                                 ###
###############################################################################
[oracle]
# Enabled indicates whether the oracle is enabled.
enabled = "true"

# Oracle Address is the URL of the out of process oracle sidecar. This is used to
# connect to the oracle sidecar when the application boots up. Note that the address
# can be modified at any point, but will only take effect after the application is
# restarted. This can be the address of an oracle container running on the same
# machine or a remote machine.
oracle_address = "127.0.0.1:8080"

# Client Timeout is the time that the client is willing to wait for responses from 
# the oracle before timing out.
client_timeout = "500ms"

# MetricsEnabled determines whether oracle metrics are enabled. Specifically
# this enables instrumentation of the oracle client and the interaction between
# the oracle and the app.
metrics_enabled = "false"
```

Restart and checklogs:

```
sudo systemctl daemon-reload

sudo systemctl restart initiad

sudo journalctl -u initiad -f --no-hostname -o cat
```

&#x20;\# **DONE**&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs.validator247.com/testnet/initia.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.
