Systemd
This document assumes /home/ubuntu
is the server user home directory, make sure to change it to fit the directory of your choice.
Prerequisites:
Install Git to clone the zen-oracle repository
Install mono-devel. If you choose to install via a package manager, add Mono's own repository first.
Install the Headless Node and import a funded account
Cron (Optional)
Install MongoDB
Oracle Service File
Save it in path: /etc/systemd/system/zen-oracle.service
Save it in path: /etc/systemd/system/zen-oracle.service
[Unit]
Description=Oracle
After=network.target
[Service]
Type=simple
EnvironmentFile=/home/ubuntu/services/scripts/env
WorkingDirectory=/home/ubuntu/services/zen-oracle/src/Oracle/bin/Release
ExecStart=/usr/bin/mono /home/ubuntu/services/zen-oracle/src/Oracle/bin/Release/zen-oracle.exe s
Restart=on-failure
[Install]
WantedBy=multi-user.target
Oracle Service
Get the oracle service (from GitLab)
mkdir /home/ubuntu/services cd /home/ubuntu/services git clone https://gitlab.com/zenprotocol/zen-oracle.git
Build the oracle service
cd /home/ubuntu/services/zen-oracle ./paket restore msbuild src/zen-oracle.sln /p:Configuration=Release
Create
/etc/systemd/system/zen-oracle.service
service file as mentioned abovePut all the environment variables assignments in the file
/home/ubuntu/services/scripts/env
Follow node deployment instructions and be sure to have the zen-node service enabled
Enable Zen-Oracle
sudo systemctl enable zen-oracle
Start MongoDB
sudo systemctl start mongodb
Start Zen-Oracle Server
sudo systemctl start zen-oracle
Execution Scripts
Make sure all the environment variables are provided and correct
zen_path : path of the oracle committer
zen_wallet_password: password of the F# wallet
zen_node_uri: uri of the node
oracle_api:
uri:port
api port for oracle requests
Cron job
In order to commit at a precise time we suggest to use a script in a cron job to take care of the commitment.
Last updated