Disclaimer: These instructions are made for Ubuntu 20.04. The commands may not match 100% on other distros, nor is there any guarantee that it will work.
These instructions are for those who already upgrade to 1.6.0.
Upgrade Omnia and Dependencies to version 1.6.1 (from 1.6.0)
nix-env --install --verbose --file https://github.com/makerdao/oracles-v2/tarball/v1.6.1
Configure Gofer, Spire, Scuttlebot and Omnia
sudo rm /etc/spire.json
install-omnia feed --ssb-caps ~/caps.json --ssb-external <your external ip here>
Manual Configuration for Spire
install-omnia will have copied the spire configuration file to /etc/spire.json
This file configure the signing key for the libp2p message, which is the same as the signing key for price data. It also configure the list of pairs and feeds that your node will relay to other network participant. Pairs and feeds that are not listed are not relayed to mitigate spamming.
sudo vim /etc/spire.json
In rpc
, set the address
to 127.0.0.1
to an arbitrary port:
"rpc": {
"address": "127.0.0.1:31823"
},
In ethereum
, set the from
, keystore
and password
exactly as in /etc/omnia.conf
"ethereum": {
"from": "<ethereum address for the feed>",
"keystore": "<keystore location>",
"password": "<password file>"
},
By default, Spire selects a random port to listen for p2p connections. If there is a firewall, if you're doing port mapping, or you intend to act as a bootstrap node to others, add the property listenAddrs
to select a static port. Make sure to perform the appropriate change on your infrastructure.
"p2p": {
"listenAddrs": ["/ip4/0.0.0.0/tcp/8000"],
"bootstrapAddrs": [
Set Spire as systemd services and schedule to run on system boot
sudo systemctl daemon-reload
sudo systemctl enable spire-agent.service
Start the spire service for the first time
sudo systemctl start spire-agent
Check spire logs
sudo journalctl --follow --unit spire-agent
Confirm that the agent is running without errors
Enable spire in omnia
This will make omnia pushing price updates to spire in addition to ssb.
sudo vi /etc/omnia.conf
In transports
, add transport-spire
"transports": [
"transport-ssb","transport-spire"
],
Restart the services
sudo systemctl restart gofer-agent
sudo systemctl restart ssb-server
sudo systemctl restart omnia
[fyi] To stop running Omnia, Gofer and Scuttlebot
sudo systemctl stop ssb-server
sudo systemctl stop omnia
sudo systemctl stop gofer-agent
[fyi] To stop Omnia and Scuttlebot from starting on system boot
sudo systemctl disable --now ssb-server
sudo systemctl disable --now omnia
sudo systemctl disable --now gofer-agent
[fyi] To query gofer and confirm that the agent works
gofer prices MANA/USD --config /etc/gofer.json --format=trace
This should return an aggregated price, and the trace for its calculations. Then you can check the agent logs (sudo journalctl -feu gofer-agent
) and confirm that there are no errors in the agent logs either.
Check Status of Omnia and Scuttlebot
sudo systemctl status ssb-server
sudo systemctl status omnia
sudo systemctl status gofer-agent
sudo systemctl status spire-agent
Check Scuttlebot logs
sudo journalctl --follow --unit ssb-server
Check Omnia logs
sudo journalctl --follow --unit omnia
Here, we want to make sure that omnia is publishing messages to Scuttlebot (e.g. Publishing SOLUSD price message with transport-ssb
) and Spire (e.g. Publishing SOL/USD price message with transport-spire
) and that it is obtaining the data from gofer
(e.g. Querying AAVE/USD prices and calculating median with setzer...
).
Check Gofer logs
sudo journalctl --follow --unit gofer-agent
There shouldn't be any errors in the gofer logs.
Check Spire logs
sudo journalctl --follow --unit spire-agent
There shouldn't be any errors in the spire logs.
Review your journalctl settings
The addition of Spire and Gofer increases greatly the volume of logs generated. Make sure journalctl
isn't using too much space.
sudo journalctl --disk-usage
You may limit this size by setting dsf
in /etc/systemd/journald.conf
SystemMaxUse=2G
Then restart with
sudo systemctl restart systemd-journald
Notify
Let @marcandu on Keybase know that you completed the upgrade, so they can confirm that your feed is properly broadcasting messages on both Spire and Scuttlebot.