Let's say we have 5 operators. We want to keep consensus above 1/2, so it means we can start a pool of 9 oracles (oracle_tokens:quantity: 9, ballot_tokens:quantity: 9), with 5 oracles threshold for minimum data points (min_data_points: 5) and voting (min_votes: 5). This way, we'll have 3 vacant oracles places in case someone wants to join later.
Run
oracle-core bootstrap --generate-config-template bootstrap.yamlI made the following changes:
- Set the parameters described in Plan pool parameters
- Name the tokens in
tokens_to_mintsection. - Set your node credentials in
node_*parameters. - Set data point source
data_point_source: NanoErgXau - Set
oracle_addressto my node's wallet address (make sure you have coins).
So in the end, it looked like - https://gist.github.com/greenhat/2c6135462fba48773196ad45dd6c7404
Run
oracle-core bootstrap bootstrap.yamlIt submitted the txs to mint the tokens and make pool, refresh, update boxes. Besides that, it created oracle_config.yaml config file to run an oracle.
To invite other operators, I'm sending one oracle, reward, and ballot tokens to the operator's oracle addresses. I'm using https://github.com/ergoplatform/oracle-core/blob/develop/scripts/send_new_oracle.sh for this task.
I started my oracle with the following:
oracle-core runAnd it posted the first data point.
I made an oracle_config.yaml template with
oracle-core print-safe-config > template.yamland uploaded it to https://gist.github.com/greenhat/9a0012de5daceac7fa8f6e16c8d11d0f
I asked the operators to set node_ip, node_port, node_api_key, oracle_address to their values and put the file as oracle_config.yaml in the same folder and start the oracle with
oracle-core runAfter they start their oracles keep an eye on your oracle log file and wait for refresh tx generated. It means your pool is running and the pool box was updated.