ergoplatform / ergoplatform/oracle-core

CI tests for complex scenarios

Open
#52 0 comments 0 reactions 1 assignee Claimed by @greenhat View on GitHub
Dominant language
Rust
Stars
66
Forks
39
PR merge metrics
No merged PRs in 30d

Description

### Motivation
To test more complex scenarios where outputs from one operation are the inputs to another operation. For example, consider the following scenario:

1. Bootstrap new oracle pool;
2. Invite oracles (send them oracle token + reward token);
3. Invited oracles posting their datapoints;
4. Run refresh command to collect posted datapoints;
5. Repeat steps 3, and 4 one more time.

Manually testing this scenario is a tedious and error-prone job.

### Implementation details
Firing up real nodes with attached oracles is a no-go. Let's try to simulate the node's role and the whole UTXO model with a simplified implementation similar to the one we have in https://github.com/ergoplatform/ergo-playgrounds ([`BlockchainSimulation`](https://github.com/ergoplatform/ergo-playgrounds/blob/44f4f73a4c5bc2c40474c362c28726b0dcac213b/playground-env/src/main/scala/org/ergoplatform/playgroundenv/models/DummyBlockchainSimulationImpl.scala#L21-L162) and [`Party`](https://github.com/ergoplatform/ergo-playgrounds/blob/44f4f73a4c5bc2c40474c362c28726b0dcac213b/playground-env/src/main/scala/org/ergoplatform/playgroundenv/models/DummyPartyImpl.scala#L5-L36) traits and their implementation)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.