diff --git a/README.md b/README.md index 1a979fcf2..f025dc90c 100644 --- a/README.md +++ b/README.md @@ -3,159 +3,25 @@ Copyright 2023 Ocean Protocol Foundation SPDX-License-Identifier: Apache-2.0 --> -# pdr-backend +# pdr-backend: Predictoor Backend -## 1. Overview +## What's pdr-backend -This is the repo for Predictoor backend. +pdr-backend implements all of the agents of the Predictoor ecosystem. -- This repo merges prior repos: pdr-utils + pdr-trueval + pdr-predictoor + pdr-trader + pdr-dfbuyer. - - Each has its own sub-directory - - Each has its own unit tests -- Plus system-level tests -- Plus system-level READMEs +Each agent has a directory: +- `predictoor` - agent that submits individual predictions +- `trader` - agent that buys aggregated predictions & trades +- `trueval` - agent that reports true values to contract +- `dfbuyer` - agent that buys aggregate predictions on behalf of Data Farming -(Once it's working, we no longer need any of the above pdr-* repos) +Other directories: +- `utils` - tools for use by any agent -## 2. Install +## How to use pdr-backend -- [Install pdr-backend](READMEs/install.md) +- If you are a **predictoor**, see [Predictoor README](pdr_backend/predictoor/README.md) +- If you are a **trader**, do [Trader README](pdr_backend/trader/README.md) +- If you are a **frontend dev** working on predictoor.ai: do [Frontend-Dev README](READMEs/frontend-dev.md) +- If you are a **backend dev** working on `pdr-backend` itself: do [Backend-Dev README](READMEs/backend-dev.md) -## 3. Usage for Frontend - -This is for frontend devs who are developing predictoor.ai etc. Uses barge locally. Backend components don't change. - -First, [set up barge](READMEs/setup-barge.md). - -Then, run barge with all components: `./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-trader --with-pdr-predictoor --with-pdr-publisher --with-pdr-dfbuyer` - -Then, run frontend components that talk to chain & agents in barge, via http api. - -## 4. Usage for Backend Devs, Predictoors, Traders - -### 4.1 Usage for Backend: Overview - -This flow is for those who want to change one or more backend components -- Ocean S3 backend devs -- Predictoors - focus on changing predictoor component -- Traders - focus on changing trader component - -### 4.2 Usage for Backend: Local variants - -First, [set up barge](READMEs/setup-barge.md). - -Then, use any configuration below. - -**Local chain, local agents all in one synchronous process** - - Run barge with no predictoor agents: `./start_ocean.sh --predictoor` - - [Run agents-local-oneprocess](READMEs/agents-local-oneprocess.md) - - Observe, test, filter, customize, etc (details below) - -**Local chain, iterate on predictoor agent changes, other agents in barge** - - Run barge with all agents except predictoor agent: `./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-trader --with-pdr-publisher --with-pdr-dfbuyer` - - Run a predictoor agent from pdr-util as follows. Start new console and: -```console -# Setup env -cd pdr-backend -source venv/bin/activate - -# Set envvars -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -export RPC_URL=http://127.0.0.1:8545 -export SUBGRAPH_URL="http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph" -export PRIVATE_KEY="0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209" - -# Run -python3 pdr_backend/predictoor/main.py -``` - -**Local chain, iterate changes to agent XX1, with other agents in barge** - - Where XX1 can be trader, trueval, dfbuyer, etc - - Do like "predictoor" above, except predictoor --> XX1 - - -**Local chain, iterate changes to agent {XX1, XX2, ..}, with other agents in barge** - - Where XX1, XX2, .. can be trader, trueval, dfbuyer, etc - - Do like "predictoor" above, except one new console for each of XX1, XX2, etc - - -### 4.3 Usage for Backend: Remote, for Predictoors - -(WIP, don't worry about this for now!) - -**Remote testnet, local predictoor, other agents run remotely by others** - - [Setup remote](READMEs/setup-remote.md) - with *testnet* settings - - Run predictoor with settings like above, except set RPC to remote - - Observe, test, filter, customize, etc (details below) - -**Remote testnet, remote predictoor, other agents run remotely by others** - - [Setup remote](READMEs/setup-remote.md) - with *testnet* settings - - Deploy predictoor to Azure. Details in [Run agents-remote](READMEs/agents-remote.md) - -*Remote mainnet, remote predictoor* - - [Setup remote](READMEs/setup-remote.md) - with *mainnet* settings - - [Run agents-remote](READMEs/agents-remote.md) - use existing, or deploy own - -(For non-predictoors, it's similar. We'll flesh this out as we go.) - -### 4.4 Usage for Backend: How to observe - -- Relax & watch as predictoor submits random predictions , trueval submits random true_vals for each epoch and trader signals trades. -- You can query [subgraph](http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph/graphql) and see [this populated data PR](https://github.com/oceanprotocol/ocean-subgraph/pull/678) here for entities - -### 4.5 Usage for Backend: How to test - -In console: -```console -#run a single test -pytest pytest pdr_backend/trueval/test/test_trueval.py::test_trueval1 - -#run all tests in a file -pytest pytest pdr_backend/trueval/test/test_trueval.py - -#run all regular tests; see details on pytest markers to select specific suites -pytest -``` - -### 4.6 Usage for Backend: How to filter - -Here are additional envvars used to filter: - -- PAIR_FILTER = if we do want to act upon only same pair, like "BTC/USDT,ETH/USDT" -- TIMEFRAME_FILTER = if we do want to act upon only same timeframes, like "5m,15m" -- SOURCE_FILTER = if we do want to act upon only same sources, like "binance,kraken" -- OWNER_ADDRS = if we do want to act upon only same publishers, like "0x123,0x124" - -### 4.7 Usage for Backend: How to customize - -Possible places to customize: -- [`pdr_backend/trueval/trueval.py`](pdr_backend/trueval/trueval.py) - to submit real data, not random -- [`pdr_backend/predictoor/predict.py`](pdr_backend/predictoor/predict.py) - to submit real predictions, not random -- [`pdr_backend/trader/trade.py`](pdr_backend/trader/trade.py) - to actually trade - - -## 5. Release Process - -### Version Number - -In the pdr-backend repository, the version and tag name convention follows the format "vx.x.x": -- The version number consists of three parts separated by dots, The first part represents the major version, the second part represents the minor version, and the third part represents the patch version. -- When a new release is created, the version number should be incremented according to the significance of the changes made in the release. - -### Create a New Release - -To create a new release for pdr-backend, follow these steps: - -1. Visit the [Github Releases](https://github.com/oceanprotocol/pdr-backend/releases) page. -2. Click on "Draft a new release." -3. Choose an appropriate version tag (e.g., v1.0.0) and provide a release title. -4. Add release notes and any relevant information about the new release. -5. Once everything is ready, click "Publish release." - -The CI/CD will automatically build and publish a new Docker image with the release tag, making it available for installation and use. - -## Appendix: OLD backend quickstart - -(from pdr-trueval) - -**[Here](READMEs/backend-dev-local.md)** diff --git a/READMEs/agents-local-oneprocess.md b/READMEs/agents-local-oneprocess.md deleted file mode 100644 index abe1d4df3..000000000 --- a/READMEs/agents-local-oneprocess.md +++ /dev/null @@ -1,47 +0,0 @@ - - -# Run local agents, one process for all agents - -### Overview - -In this step, you run and create agents. - -In this README: -- agents live on your local machine -- all agents are on a _single_ process - -This is the easiest setup for debugging. - -Prerequisites: -- [Installed pdr-backend](install.md) -- [Setup local chain](setup-local.md) or [remote chain](setup-remote.md) -- [Deployed DT3](deploy-dt3.md) - -In console: -```console -python -``` - -### Step: Create & run agents in a single process - -In Python console: -```python -import time -from pdr_backend.trueval.trueval import process_block as trueval_process_block -# FIXME: add similar for predictoor, trader, etc - -print("Starting main loop...") -trueval_lastblock = 0 -while True: - # trueval agent - trueval_block = web3_config.w3.eth.block_number - if block > lastblock: - trueval_lastblock = trueval_block - trueval_process_block(web3_config.w3.eth.get_block(trueval_block, full_transactions=False)) - else: - time.sleep(1) - # FIXME: add similar for predictoor, trader, etc -``` diff --git a/READMEs/backend-dev-local.md b/READMEs/backend-dev-local.md deleted file mode 100644 index 5bd9ac69d..000000000 --- a/READMEs/backend-dev-local.md +++ /dev/null @@ -1,196 +0,0 @@ -WARNING: This is obsolete! We're keeping it for reference as we build out the rest - -### Usage: For Backend Devs - -- This version uses *remote* components -- aka "Partial Barge Approach" -- This flows runs only contracts and subgraph in barge. -- Useful for pdr-* developers - -### Steps - -Create five terminals, for: -1. [barge](#Terminal-1-Barge) -2. [ocean.py](#Terminal-2-oceanpy) -3. [pdr-trueval](#Terminal-3-pdr-trueval) -4. [pdr-predictoor](#Terminal-4-pdr-predictoor) -5. [pdr-trader](#Terminal-5-pdr-trader) - -Let's go through each terminal in order. - - -### Terminal 1: Barge - -In (terminal 1) bash console: -```console -# Install -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -git clone https://github.com/oceanprotocol/barge.git -cd barge -git checkout predictoor -docker pull oceanprotocol/ocean-contracts:predictoor3 -docker pull oceanprotocol/subgraph:predictoo3 - -# Run -./start_ocean.sh --new-predictoor -``` - -This will start barge with a custom version of ganache (auto-mine a block every 12 sec), contracts (predictoor), subgraph (predictoor) -WARNING: Barge will start more slowly, deploying contracts takes a couple of minutes. Watch the output to know when to proceed further or check if file "/ocean-contracts/artifacts/ready" exists - -Go to next step when barge is ready and contracts are deployed - -## Terminal 2: ocean.py - -Since there is no easy way now to create a template3 datatoken, we will use ocean.py. - -Note: This flow will be replaced once we advance will all components into a more MVP state. - -In bash console: -```console -# Install -git clone https://github.com/oceanprotocol/ocean.py -cd ocean.py -git checkout predictoor-with-barge -sudo apt-get update -y -sudo apt-get install -y -sudo apt-get install -y python3-dev gcc -python3 -m venv venv -source venv/bin/activate -pip install -r requirements_dev.txt - -# Set envvars -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -export OPF_DEPLOYER_PRIVATE_KEY="0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58" -export PREDICTOOR_PRIVATE_KEY="0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209" -export TRADER_PRIVATE_KEY="0x8467415bb2ba7c91084d932276214b11a3dd9bdb2930fefa194b666dd8020b99" - -# Open Python terminal -python -``` - -Inside the Python terminal: -```python -import brownie -from brownie.network import accounts as br_accounts -import os -from ocean_lib.ocean.ocean import Ocean -from ocean_lib.models.datatoken_base import DatatokenBase -from ocean_lib.web3_internal.utils import connect_to_network -from ocean_lib.ocean.util import from_wei, to_wei -from ocean_lib.example_config import get_config_dict -from ocean_lib.web3_internal.constants import ZERO_ADDRESS, MAX_UINT256 -# add accounts -deployer = br_accounts.add(os.getenv("OPF_DEPLOYER_PRIVATE_KEY")) -predictoor = br_accounts.add(os.getenv("PREDICTOOR_PRIVATE_KEY")) -trader = br_accounts.add(os.getenv("TRADER_PRIVATE_KEY")) -connect_to_network("development") -ADDRESS_FILE = "~/.ocean/ocean-contracts/artifacts/address.json" -address_file = os.path.expanduser(ADDRESS_FILE) -print(f"Load contracts from address_file: {address_file}") -config = get_config_dict("development") -config["ADDRESS_FILE"] = address_file -ocean = Ocean(config) -OCEAN = ocean.OCEAN_token - -# transfer OCEAN to predictoor & trader -OCEAN.transfer(predictoor.address, to_wei(2000.0), {"from": deployer}) -OCEAN.transfer(trader.address, to_wei(2000.0), {"from": deployer}) - -#create NFT -data_nft = ocean.data_nft_factory.create({"from": deployer}, "DN", "DN") - -#settings for template 3 -S_PER_MIN = 60 -S_PER_HOUR = 60 * 60 -# for our ganache, have one epoch per minute (every 60 blocks) -s_per_block = 1 # depends on the chain -s_per_epoch = 1 * S_PER_MIN -s_per_subscription = 24 * S_PER_HOUR -min_predns_for_payout = 3 # ideally, 100+ -stake_token = OCEAN -DT_price = 2 # priced in OCEAN - -#create template3 -initial_list = data_nft.getTokensList() -data_nft.createERC20( - 3, - ["ETH-USDT", "ETH-USDT"], - [deployer.address, deployer.address, deployer.address, OCEAN.address, OCEAN.address], - [MAX_UINT256, 0, s_per_block, s_per_epoch, s_per_subscription, 30], - [], - {"from": deployer}, - ) -new_elements = [ - item for item in data_nft.getTokensList() if item not in initial_list - ] -assert len(new_elements) == 1, "new datatoken has no address" -DT = DatatokenBase.get_typed(config, new_elements[0]) -DT.setup_exchange({"from": deployer}, to_wei(DT_price)) -print("Done") -``` - -### Terminal 3: pdr-trueval - -In bash console: -```console -# Install -git clone https://github.com/oceanprotocol/pdr-trueval.git -cd pdr-trueval -python3 -m venv venv -source venv/bin/activate -pip install -r requirements.txt - -# Set envvars -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -export RPC_URL=http://127.0.0.1:8545 -export SUBGRAPH_URL="http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph" -export PRIVATE_KEY="0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58" - -# Run -python3 main.py -``` - - -### Terminal 4: pdr-predictoor - -In bash console: -```console -# Install -git clone https://github.com/oceanprotocol/pdr-predictoor.git -cd pdr-predictoor -python3 -m venv venv -source venv/bin/activate -pip install -r requirements.txt - -# Set envvars -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -export RPC_URL=http://127.0.0.1:8545 -export SUBGRAPH_URL="http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph" -export PRIVATE_KEY="0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209" - -# Run -python3 main.py -``` - -### Terminal 5: pdr-trader - -In bash console: -```console -# Install -git clone https://github.com/oceanprotocol/pdr-trader.git -cd pdr-trader -python3 -m venv venv -source venv/bin/activate -pip install -r requirements.txt - -# Set envvars -export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" -export RPC_URL=http://127.0.0.1:8545 -export SUBGRAPH_URL="http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph" -export PRIVATE_KEY="0x8467415bb2ba7c91084d932276214b11a3dd9bdb2930fefa194b666dd8020b99" - -# Run -python3 main.py -``` - diff --git a/READMEs/backend-dev.md b/READMEs/backend-dev.md new file mode 100644 index 000000000..f960e9f9f --- /dev/null +++ b/READMEs/backend-dev.md @@ -0,0 +1,143 @@ + + +# Usage for Backend Devs + +## 1. Introduction + +This is for backend devs working on `pdr-backend` itself + +## 2. Install pdr-backend + +Follow instructions in [install.md](install.md). + +## 3. Install barge + +Follow instructions in [barge.md "install"](barge.md#install-barge). + +## 4. Run barge + +We'll use barge to run just these components: +- local chain (ganache) +- predictoor-related smart contracts deployed to chain + +(We'll run predictoor agents directly as we develop against them.) + +In barge console: +```console +./start_ocean.sh --predictoor +``` + +## 5. Set up environment + +Start a new console and: +``` +# Setup env +cd pdr-backend +source venv/bin/activate + +# Set envvars +export ADDRESS_FILE="${HOME}/.ocean/ocean-contracts/artifacts/address.json" +export RPC_URL=http://127.0.0.1:8545 +export SUBGRAPH_URL="http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph" +export PRIVATE_KEY="0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209" +``` + +## 6. Usage + + +## 6.1 Usage: Testing + +In a console, first ensure environment is set up (see previous section). + +Then in the console: +```console +#run a single test +pytest pdr_backend/utils/test/test_constants.py::test_constants1 + +#run all tests in a file +pytest pdr_backend/utils/test/test_constants.py + +#run all regular tests; see details on pytest markers to select specific suites +pytest +``` + +### 6.2 Usage: Run a custom agent + +Let's say you want to change the trader agent, and use off-the-shelf agents for everything else. Here's how. + +In barge console: +```console +# (Hit ctrl-c to stop existing barge) + +# Run all agents except trader +./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-predictoor --with-pdr-publisher --with-pdr-dfbuyer +``` + +Open a new console and: +```console +# Set envvars +# (copy and paste the envvar-setting code above) + +# run trader agent +python3 pdr_backend/trader/main.py +``` + +### 6.3 Usage: Places to customize + +Here are possible places to customize: +- [`pdr_backend/trueval/trueval.py`](pdr_backend/trueval/trueval.py) - to submit real data, not random +- [`pdr_backend/predictoor/predict.py`](pdr_backend/predictoor/predict.py) - to submit real predictions, not random +- [`pdr_backend/trader/trade.py`](pdr_backend/trader/trade.py) - to actually trade + + +### 6.4 Usage: How to observe + +Relax & watch as predictoor submits random predictions , trueval submits random true_vals for each epoch and trader signals trades. + +You can query [subgraph](http://172.15.0.15:8000/subgraphs/name/oceanprotocol/ocean-subgraph/graphql) and see [this populated data PR](https://github.com/oceanprotocol/ocean-subgraph/pull/678) here for entities + + +### 6.5 Usage: How to filter + +Here are additional envvars used to filter: + +- PAIR_FILTER = if we do want to act upon only same pair, like "BTC/USDT,ETH/USDT" +- TIMEFRAME_FILTER = if we do want to act upon only same timeframes, like "5m,15m" +- SOURCE_FILTER = if we do want to act upon only same sources, like "binance,kraken" +- OWNER_ADDRS = if we do want to act upon only same publishers, like "0x123,0x124" + + +### 7. Release Process + +Follow instructions in [release-process.md](release-process.md). + + +### Appendix: Create & run agents in a single process + +(If you're feeling extra bold) + +In Python console: +```python +import time +from pdr_backend.trueval.trueval import process_block as trueval_process_block +# FIXME: add similar for predictoor, trader, etc + +print("Starting main loop...") +trueval_lastblock = 0 +while True: + # trueval agent + trueval_block = web3_config.w3.eth.block_number + if block > lastblock: + trueval_lastblock = trueval_block + trueval_process_block(web3_config.w3.eth.get_block(trueval_block, full_transactions=False)) + else: + time.sleep(1) + # FIXME: add similar for predictoor, trader, etc +``` + + + + diff --git a/READMEs/barge.md b/READMEs/barge.md new file mode 100644 index 000000000..0565b2e60 --- /dev/null +++ b/READMEs/barge.md @@ -0,0 +1,70 @@ + + +## Contents + +Installation +- [Install Barge](#install-barge) + +Reference: how to run barge with... +- [No agents](#barge-basic) - just ganache chain & predictoor contracts +- [One agent](#barge-one-agent) - eg trueval agent +- [All agents](#barge-all-agents) - predictoor, trader, trueval, dfbuyer + + +## Install Barge + +In a new console: + +```console +# Grab repo +git clone https://github.com/oceanprotocol/barge +cd barge +git checkout issue374-replace-pdr-components-with-pdr-backend # use this branch for now +export GANACHE_BLOCKTIME=5 # set ganache block time to 5 seconds, try increasing this value if barge is lagging +# (optional) Clean up previous Ocean-related containers +./cleanup.sh +``` + +The sections below describe different ways to run barge. They're for reference only; DO NOT run them right now. Each README will describe what to do. + +## Barge Basic + +Barge with basic Predictoor components is: +- local chain (ganache) +- predictoor-related smart contracts deployed to chain + +To run this, go to the barge console and: +```console +./start_ocean.sh --predictoor +``` + +When barge runs, it will auto-publish DT3 tokens. Currently this is {`BTC/TUSD`, Binance, 5min}, {`ETH/USDT`, Kraken, 5min} and {`XRP/USDT`, Binance, 5min}. + +## Barge One Agent + +Barge can run with any subset of the agents. + +For example, to run barge with just trueval agent: +```console +./start_ocean.sh --predictoor --with-pdr-trueval +``` + +## Barge All Agents + +To run with all agents: + +```console +./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-trader --with-pdr-predictoor --with-pdr-publisher --with-pdr-dfbuyer +``` + +This will run all of the following at once: +- local chain (ganache) +- predictoor-related smart contracts deployed to chain +- trueval agent +- trader agent +- predictoor agent +- dfbuyer agent + diff --git a/READMEs/frontend-dev.md b/READMEs/frontend-dev.md new file mode 100644 index 000000000..e3c98852a --- /dev/null +++ b/READMEs/frontend-dev.md @@ -0,0 +1,27 @@ + + +# Usage for Frontend Devs + +## 1. Introduction + +This is for frontend devs who are developing predictoor.ai etc. Uses barge locally. Backend components don't change. + +## 2. Install barge + +Follow instructions in [barge.md "install"](barge.md#install-barge). + +## 3. Run barge + +In barge console: +```console +./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-trader --with-pdr-predictoor --with-pdr-publisher --with-pdr-dfbuyer +``` + +## 4. Run frontend + +Run frontend components that talk to chain & agents in barge, via http api. + +Follow instructions at https://github.com/oceanprotocol/pdr-web/ diff --git a/READMEs/release-process.md b/READMEs/release-process.md new file mode 100644 index 000000000..604cc453d --- /dev/null +++ b/READMEs/release-process.md @@ -0,0 +1,24 @@ + + +# Release Process + +## 1. Set Version Number + +In the pdr-backend repository, the version and tag name convention follows the format "vx.x.x": +- The version number consists of three parts separated by dots, The first part represents the major version, the second part represents the minor version, and the third part represents the patch version. +- When a new release is created, the version number should be incremented according to the significance of the changes made in the release. + +## 2. Create a New Release + +To create a new release for pdr-backend, follow these steps: + +1. Visit the [Github Releases](https://github.com/oceanprotocol/pdr-backend/releases) page. +2. Click on "Draft a new release." +3. Choose an appropriate version tag (e.g., v1.0.0) and provide a release title. +4. Add release notes and any relevant information about the new release. +5. Once everything is ready, click "Publish release." + +The CI/CD will automatically build and publish a new Docker image with the release tag, making it available for installation and use. diff --git a/READMEs/setup-barge.md b/READMEs/setup-barge.md deleted file mode 100644 index ede7d9995..000000000 --- a/READMEs/setup-barge.md +++ /dev/null @@ -1,26 +0,0 @@ - - -## Set up barge - -In a new console: - -```console -# Grab repo -git clone https://github.com/oceanprotocol/barge -cd barge -git checkout issue374-replace-pdr-components-with-pdr-backend # use this branch for now -export GANACHE_BLOCKTIME=5 # set ganache block time to 5 seconds, try increasing this value if barge is lagging -# (optional) Clean up previous Ocean-related containers -./cleanup.sh -``` - -To run Barge with all of its predictoor-related arguments is the following. But DO NOT RUN this right now!! Since you might want to run a version without running all of those components. We'll specify in the appropriate place. -```console -./start_ocean.sh --predictoor --with-pdr-trueval --with-pdr-trader --with-pdr-predictoor --with-pdr-publisher --with-pdr-dfbuyer -``` - -When barge runs, it will auto-publish DT3 tokens. Currently this is {`BTC/TUSD`, Binance, 5min}, {`ETH/USDT`, Kraken, 5min} and {`XRP/USDT`, Binance, 5min}. - diff --git a/pdr_backend/predictoor/README.md b/pdr_backend/predictoor/README.md new file mode 100644 index 000000000..d14e3ccc6 --- /dev/null +++ b/pdr_backend/predictoor/README.md @@ -0,0 +1,3 @@ +# Predictoor + +FIXME. This is a placeholder. Fill me in. \ No newline at end of file