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

ES Plugin: Get operation by ID #1682

Closed
nathanhourt opened this issue Mar 27, 2019 · 3 comments

Comments

@nathanhourt
Copy link
Contributor

commented Mar 27, 2019

User Story
As a 3rd party app developer I want the ability to fetch operations from history so that my apps can store and retrieve data on-chain.

In short, I'd like to see a call like operation get_operation_by_id(operation_history_id_type) show up right about here. See Additional Context below for context.

Impacts
Describe which portion(s) of BitShares Core may be impacted by your request. Please tick at least one box.

  • API (the application programming interface)
  • Build (the build process or something prior to compiled code)
  • CLI (the command line wallet)
  • Deployment (the deployment process after building such as Docker, Travis, etc.)
  • DEX (the Decentralized EXchange, market engine, etc.)
  • P2P (the peer-to-peer network for transaction/block propagation)
  • Performance (system or user efficiency, etc.)
  • Protocol (the blockchain logic, consensus, validation, etc.)
  • Security (the security of system or user data, etc.)
  • UX (the User Experience)
  • Other (please add below)

Additional Context
So back in the day, I wrote Follow My Vote's stake-weighted voting app based on BitShares, and that app published the voting data to the blockchain using custom_operations. All of the data was keyed and referenced based on the operation_history_id_type to tie it down to an authenticated publication to the chain, and we had a plugin that tracked all this data, querying the database maintained by the account_history_plugin to do it.

Fast forward to today, this no longer works because the account_history_plugin is all but deprecated (600 gigs of RAM, anyone?) in favor of the elasticsearch_plugin. Currently, this plugin does not provide an easy way to retrieve historical operations by ID, but it should be relatively straightforward to add it. With this functionality available, it would be reasonably easy to get the FMV app working again.

CORE TEAM TASK LIST

  • Evaluate / Prioritize Feature Request
  • Refine User Stories / Requirements
  • Define Test Cases
  • Design / Develop Solution
  • Perform QA/Testing
  • Update Documentation
@pmconrad

This comment has been minimized.

Copy link
Contributor

commented Mar 27, 2019

Perhaps generalize this ticket to other history APIs as well? If ES plugin is active, history API calls could be answered by calling ES, and it could even happen in parallel to the main thread.

@oxarbitrage

This comment has been minimized.

Copy link
Member

commented Mar 30, 2019

Interesting @pmconrad and thanks for submitting @nathanhourt .

I was busy with some other stuff last week but i am taking this now, will update as soon as i have something you can see.

@oxarbitrage oxarbitrage self-assigned this Mar 30, 2019

@oxarbitrage oxarbitrage added this to the 3.1.0 - Feature Release milestone Mar 30, 2019

@oxarbitrage oxarbitrage added this to To do in Feature Release (3.1.0) via automation Mar 30, 2019

@oxarbitrage oxarbitrage referenced this issue Apr 20, 2019
0 of 3 tasks complete

@pmconrad pmconrad removed this from To do in Feature Release (3.1.0) Apr 29, 2019

@pmconrad pmconrad added this to To do in Feature Release (3.2.0) via automation Apr 29, 2019

@pmconrad pmconrad moved this from To do to In development in Feature Release (3.2.0) Apr 29, 2019

@pmconrad pmconrad added this to To do in Feature Release (3.3.0) via automation Jun 19, 2019

@pmconrad pmconrad removed this from In development in Feature Release (3.2.0) Jun 19, 2019

@pmconrad pmconrad moved this from To do to In development in Feature Release (3.3.0) Jun 24, 2019

@jmjatlanta jmjatlanta moved this from In development to In testing in Feature Release (3.3.0) Aug 7, 2019

oxarbitrage added a commit that referenced this issue Aug 14, 2019
@oxarbitrage

This comment has been minimized.

Copy link
Member

commented Aug 14, 2019

Done at #1725
Will be great if we can test it in FMV @nathanhourt . I will setup a public testnet node with this for bitshares as well.
Code looks good but we didn't tested it in production. Thanks @pmconrad for the review.

Closing this one, if we have any issue we will deal with a dedicated issue and patch.

Feature Release (3.3.0) automation moved this from In testing to Done Aug 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.