Services
  • 𝐥𝐞𝐬𝐧𝐢𝐤 | 𝐔𝐓𝐒𝐀
  • 🌐Cosmos WIKI
    • 🔧Creating / Editing a Validator
    • 📨Cosmos / governance
    • 🛠️Useful commands
    • 🔨Changing ports in the Cosmos ecosystem
    • 🌁IBC (HERMES)
    • ⚒️Node-exporter + Grafana + Prometheus + Alertmanager
    • ⚒️TenderDuty v2 - monitoring and alerting
  • Mainnet
    • Arkeo
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Atomone
      • 💻Installation
      • ⌚State sync
      • ⌚Snapshots
      • 📬Updates
    • Aura
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Dora Factory
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Dymension
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Genesis L1
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Gitopia
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Jackal
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Konstellation
      • 💻Installation
      • ⌚Snapshot
      • 📬Updates
    • Nibiru
      • 💻Installation
      • ⌚State sync
      • 📬Updates
      • 📬Price feeder (✔️Oracle)
    • Provenance
      • 💻Installation
      • 📬Updates
    • Teritori
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Quicksilver
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Uptick
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Source protocol
      • 💻Installation
      • 📬Updates
    • Zenrock
      • 💻Installation
      • 💻Sidecar (✔️Oracle)
      • 💻Create a validator
      • ⌚State sync
      • ⌚Snapshot
      • 📬Updates
  • TESTNET
    • Atomone
      • 💻Installation
      • 📬Updates
    • Airchains
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Aura
      • 💻Installation
      • 📬Updates
    • Arkeo
      • 💻Installation
      • ⌚State sync
      • 📬Updates
      • 📬Providers
    • AXON PROTOCOL
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Dora Factory
      • 💻Installation
      • 📬Updates
    • Dymension
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Empeiria
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Galactica
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Jackal
      • 💻Installation
      • 📬Updates
    • Kira
      • 💻Installation
    • PRYSM
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Source protocol
      • 💻Installation
      • 📬Updates
    • Story Protocol
      • 💻Installation
      • 💻Create a validator
      • ⌚State sync
      • ⌚Snapshot
      • 📬Updates
    • Tellor
      • 💻Installation
      • ⌚State sync
      • 📬Updates
      • 📬Data Reporter (✔️Oracle)
    • Quicksilver
      • 💻Installation
      • 📬Updates
    • Warden Protocol
      • 💻Installation
      • ⌚State sync
      • 📬Updates
      • 📬Oracle
    • XRPL EVM
      • 💻Installation
      • ⌚State sync
      • ⌚Snapshots
      • 📬Updates
    • Zenrock
      • 💻Installation
      • 💻Sidecar (✔️Install)
      • 💻✔️config.yaml
      • 💻✔️eigen_operator_config.yaml
      • 💻Create a validator
      • 📬Updates
  • OTHER PROJECTS
    • Avail mainnet
      • 💻Installation
      • ⌚Snapshot
      • 📬Validator migration
    • Avail testnet
      • 💻Installation
      • ⌚Snapshot
      • 📬Validator migration
    • Kusama
      • 💻Decentralized nodes
      • 💻Installation
      • ⌚Snapshot
      • ⚙️Validator setup
      • ⚙️Validator migration
      • 🛠️Crunch bot
    • Polkadot
      • 💻Decentralized nodes
      • 💻Installation
      • ⌚Snapshot
      • ⚙️Validator setup
      • ⚙️Validator migration
      • 🛠️Crunch bot
    • Tangle Network
      • 💻Installation
      • 📬Validator migration
    • UOMI (GPU)
      • 💻Installation
      • ⌚Snapshot
      • 📬Validator migration
  • ARCHIVE
    • Entrypoint
      • 💻Installation
      • ⌚State sync
      • 📬Updates
    • Celestia
      • 💻Consensus Node
      • 🖥️Bridge node (Shwap)
      • 🖥️Full node (Shwap)
      • 🖥️Light node (Shwap)
      • ⌚Snapshots
      • ⌚State Sync [consensus node]
      • 🔎Analysis of the Bridge Node
    • Celestia-testnet
      • 💻Consensus Node
      • 🖥️Bridge node (Shwap)
      • 🖥️Full node (Shwap)
      • 🖥️Light node (Shwap)
      • ⌚Snapshots
      • ⌚State Sync [consensus node]
      • 🔎Analysis of the Bridge Node
    • Native [migration to SUI]
      • 💻Installation
      • ⌚Snapshots
      • ⌚State sync
      • 📬Updates
    • Nubit
      • 💻Light node
      • 📬Full Node
    • Lava network
      • 💻Installation
      • ⌚State sync
      • ⌚Snapshot
      • 📬Updates
      • ⌚Providers
    • Lava network
      • 💻Installation
      • ⌚State sync
      • ⌚Snapshot
      • 📬Updates
      • ⌚Providers
    • XAI
      • 💻Installation
    • Ojo
      • 💻Installation
      • ⌚State sync
      • ⌚Snapshot
      • 📬Updates
      • 📬Price feeder (✔️Oracle)
Powered by GitBook
On this page
  1. ARCHIVE
  2. Ojo

Price feeder (✔️Oracle)

PreviousUpdates

Last updated 8 months ago

Docs -

In this example:

  • a separate wallet is used (not the validator's wallet)

  • keyring-backend set os

  • a separate wallet is attached to the validator and Environment="PRICE_FEEDER_PASS=$PASS" is added to the service file

  • a separate wallet should have coins for commissions

  • the validator must be in the active set

# install binary
cd $HOME
git clone https://github.com/ojo-network/price-feeder && cd price-feeder
git checkout v0.1.1
make install

price-feeder version
# version: HEAD-5d46ed438d33d7904c0d947ebc6a3dd48ce0de59
# commit: 5d46ed438d33d7904c0d947ebc6a3dd48ce0de59
# sdk: v0.46.7
# go: go1.19.4 linux/amd64

Create a directory and download the default config

mkdir -p $HOME/price-feeder_config
wget -O $HOME/price-feeder_config/price-feeder.toml "https://raw.githubusercontent.com/ojo-network/price-feeder/main/price-feeder.example.toml"

Create a separate wallet for Feeder and replenish its balance

ojod keys add OJO_FEEDER_ADDR --keyring-backend os
ojod tx bank send <name_wallet> <addr_wallet> 100000000uojo --fees 20000uojo

Set variables

PASS=<your_password>
OJO_ADDR=<ojo13y...>
OJO_FEEDER_ADDR=<ojo1jkg...>
OJO_VALOPER=<ojovaloper13y7...>
OJO_CHAIN=ojo-devnet

Set up price-feeder.toml (if necessary, change RPC and gRPC ports)

sed -i '/^dir *=.*/a pass = ""' $HOME/price-feeder_config/price-feeder.toml

sed -i "s/^address *=.*/address= \"$OJO_ADDR\"/;\
s/^chain_id *=.*/chain_id= \"$OJO_CHAIN\"/;\
s/^validator *=.*/validator = \"$OJO_VALOPER\"/;\
s/^backend *=.*/backend = \"os\"/;\
s|^dir *=.*|dir = \"$HOME/.ojo\"|;\
s|^pass *=.*|pass = \"$PASS\"|;\
s|^grpc_endpoint *=.*|grpc_endpoint = \"localhost:9090\"|;\
s|^tmrpc_endpoint *=.*|tmrpc_endpoint = \"http://localhost:26657\"|;" $HOME/price-feeder_config/price-feeder.toml

Create a service file

tee /etc/systemd/system/price-feeder.service > /dev/null <<EOF
[Unit]
Description=OJO PFD
After=network.target
[Service]
User=$USER
Environment="PRICE_FEEDER_PASS=$PASS"
Type=simple
ExecStart=$(which price-feeder) $HOME/price-feeder_config/price-feeder.toml --log-level debug
RestartSec=10
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable price-feeder
systemctl restart price-feeder && journalctl -u price-feeder -f -o cat

If your validator is not in the active set, you will see the following logs:

Once the validator is in the active set, the logs will be as follows:

Delegate authority to a separately created wallet OJO_FEEDER_ADDR

ojod tx oracle delegate-feed-consent $OJO_ADDR $OJO_FEEDER_ADDR --fees 40000uojo

Making changes to price-feeder.toml

sed -i "s/^address *=.*/address= \"$OJO_FEEDER_ADDR\"/" $HOME/price-feeder_config/price-feeder.toml

systemctl restart price-feeder && journalctl -u price-feeder -f -o cat
📬
https://github.com/ojo-network/price-feeder