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

Further development possibilities #47

Open
mikekeke opened this issue May 4, 2023 · 0 comments
Open

Further development possibilities #47

mikekeke opened this issue May 4, 2023 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@mikekeke
Copy link
Collaborator

mikekeke commented May 4, 2023

A list of things that could be improved upon future development:

  • Move leader and user code to its own folders and move all the related functions under them or another refactor to.
  • Change the output type from buildChain function and replace with something more convenient to the current interface (the current type was created at the start of the project, but during development situation evolved).
  • Refactor chain builder in core to not throw exceptions, but instead discard actions that failed to be included in chain and report back those.
  • Implement a Monad both for user and leader, right now we are passing around the environment by hand and working all the time in Aff .
  • Replace payload package with something else. We took payload to generate web client for free, but library has some restrictions and pitfalls that required extra efforts and some solutions are not ideal.
  • Expose an API for tests, so that people can write their own test with ease.
  • Build a little web page to see the workflow of Seath.
  • Make sure that leader isn't consuming it's own utxos by accident (there's a function from CTL that can be used for that, and would mean some changes in the UserAction type )
  • Add ability for the leader to collect fees for chain building
  • Add leader rotation in a p2p network
  • Modify Core to also attach the UTXO map generated as a result of the transaction generated for an action (or get it from the generated transaction), this way we can send it back to users and they can choose to do a new action or not. Can speed up overall Seath throughput.
  • Right now we wait for a full leader cycle before remove the previous failures in submission and store any other kind of error for a transaction during the cycle, improve that.
  • There are some hardcoded delays for various requests and checks and loops for both user and leader nodes - those should be moved to corresponding configs
  • Do not query blockchain in the main leader loop if there is no actions to chain
  • Improve recovery when chain breaks if some of the users refuse to sign - we can try to continue "good" part of the chain with successfully signed transactions by rebuilding and re-signing them right away, without waiting for the next round
  • Improve test coverage
  • Allow multiple Actions from one user in the chain
@mikekeke mikekeke added documentation Improvements or additions to documentation enhancement New feature or request labels May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant