pdr-backend
pdr-backend copied to clipboard
Instructions & code to run predictoors, traders, more.
pdr-backend
Run bots (agents)
- Run predictoor bot - make predictions, make $
- Run trader bot - consume predictions, trade, make $
(If you're a predictoor or trader, you can safely ignore the rest of this README.)
Settings: PPSS
A "ppss" yaml file, like ppss.yaml, holds parameters for all bots and simulation flows.
- We follow the idiom "pp" = problem setup (what to solve), "ss" = solution strategy (how to solve).
PRIVATE_KEYis an exception; it's set as an envvar.
When you run a bot from the CLI, you specify your PPSS YAML file.
pdr has basic stdout logging, but supports customisations.
To customise logging, copy and edit the existing logging.yaml:
cp logging.yaml my_logging.yaml
CLI
(First, install pdr-backend first.)
To see CLI options, in console:
pdr
This will output something like:
Usage: pdr sim|predictoor|trader|..
Main tools:
pdr sim YAML_FILE
pdr predictoor YAML_FILE NETWORK
pdr trader APPROACH YAML_FILE NETWORK
...
Atomic READMEs
- Get tokens: testnet faucet, mainnet ROSE & OCEAN
- Claim payout for predictoor bot
- Predictoor subgraph. Subgraph filters
- Run barge locally
Flows for core team
- Backend-dev - for
pdr-backenditself- Local dev flow
- VPS dev flow
- Release process
- Clean code guidelines
- Dependency management
- Run dfbuyer bot - runs Predictoor DF rewards
- Run publisher - publish new feeds
- Run trueval - run trueval bot
- Run lake - run data lake
Repo structure
This repo implements all bots in Predictoor ecosystem. Here are each of the sub-directories in the repo.
Main bots & user tools:
predictoor- submit individual predictionstrader- buy aggregated predictions, then tradesim- experiments / simulation flowpayout- OCEAN & ROSE payout
OPF-run bots & higher-level tools:
trueval- report true values to contractdfbuyer- buy feeds on behalf of Predictoor DFpublisher- publish pdr data feedslake- data lake and analytics toolsdeployer- deployer toolaccuracy- calculates % correct, for display in predictoor.ai webapp
Mid-level building blocks:
cli- implementation of CLIppss- implements settingsohlcv- financial data pipelinesubgraph- blockchain queries, complements lakeaimodel- AI/ML modeling engineaccuracy- to report % correct in webapppred_submitter- for predictoor bots to submit >>1 predictions in 1 tx
Lower-level utilities:
contract- classes to wrap blockchain contracts; some simple data structuresutil- function-based tools