Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend the TransactionsEngine API #154

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

kandrio
Copy link
Contributor

@kandrio kandrio commented Apr 19, 2023

This PR extends the TransactionsEngine API and adds all the necessary base code for our benchmarks

Extend the `build.gradle` file with the `MPAndroidChart` dependency
that will allow us to create interractive graphs for the benchmarks of
the `TransactionEngine`. We will introduce these benchmarks in a
follow-up commit.

Link to the GitHub repository of `MPAndroidChart`:
- https://github.com/PhilJay/MPAndroidChart
We will use `BenchmarkResult` objects to store the results of a
benchmark run. A `BenchmarkResult` class object will contain all the
necessary information of a benchmark run of our `TransactionEngine`.
Introduce the `SimpleBlockBuilder` class that we will use in order to
create simple `TrustChainBlock`s for benchmarks. We will mainly use the
`SimpleBlockBuilder` in benchmarks that require permanent storage of
the created benchmark blocks.
Add the `BasicBlock` class that we will use later to benchmark the
creation of basic blocks. More specifically, we aim to benchmark
block creation of basic blocks without using IPv8 at all.

For this purpose, we created the `BasicBlock` class that contains all
the necessary information of a basic block. We will use the `BasicBlock`
class for benchmarks that entail "in-memory" storage of blocks or no
storage at all.
Extend the `DetoksConfig` class with the following attributes:
- `DEFAULT_MESSAGE_LENGTH`
- `DEFAULT_PUBLIC_KEY_LENGTH`

We will use these default configurations for the benchmarks of our
`TransactionEngine`.
Add the following API functions to our `TransactionEngine` API class:
- `sendTokenTransaction`
- `broadcastTokenTransaction`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant