-
Notifications
You must be signed in to change notification settings - Fork 5
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
Support Iroha 2.0.0-rc.1
#44
base: master
Are you sure you want to change the base?
Conversation
Paper trail: occurring challenges Total countI can't see anymore a way to get a total count of items when fetching lists. In Explorer we need to let users know how many pages of data there is (domains, accounts, etc). Blocks predicatesBlocks predicates are empty for now. In Explorer we need to fetch a certain block by its height or hash. While fetching by height could be done via tricks with pagination, finding by hash is not possible in an efficient way. upd: It is the reason why Transactions orderWhile Inconsistent
|
More issues:
|
WIP: - assets/assets definitions queries/endpoints - instructions endpoints
Assets and Instructions endpoints are not yet implemented
- add `TransactionStatus` enum - remove `TransactionInList`, use `TransactionBase` & `TransactionDetailed` - add `status` to `TransactionBase`, remove `error` - rename `error` to `rejection_reason` - add filter by `status` to `GET /transactions` - for `GET /instructions`, only return those from committed transactions, without an option to configure it
Recent status of this PR. SQL-based backendDecided to make a temporary SQL solution instead of relying on Iroha Query API. This both helps to implement everything we want in the explorer, and also highlights what changes are desirable from Iroha. Currently backend uses a file-based pre-created static SQLite database. My plan is to incorporate a functionality into the program that will "scrap" Iroha on updates and re-create a SQLite database in-memory. Not a scalable solution, but should work fine for not-very-large Iroha. |
@VladislavPopovSR please note recent changes:
|
- use block `height` as a primary key - replace transaction `block_hash` with `block` - update `GET /transactions` - replace query param `block_hash` with `block` - return _all_ instructions again, not only within successful txs - add instruction `transaction_status` field - TODO: filter by `transaction_status`
Recent updates related to frontend:
|
This work is sort of finished for now. I've updated PR's description. I think we should undraft this PR once Iroha "MVP" (release candidate 1) is released on crates.io. |
|
Removed |
Iroha rc 1 test ci
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
This is a from-scracth re-implementation of the backend for Iroha
v2.0.0-rc.1
.Features:
/scalar
Close #43
SQLite-based solution
The Explorer keeps an up-to-date in-memory SQLite database representing current state of Iroha (blocks/txs history + current domains/accounts/assets).
This solution isn't scalable, as it re-creates an entire database on each small change. There are a few reasons for it, however:
Related upstream issues/PRs
FindBlockHeaders
query hyperledger-iroha/iroha#4982Checklist
2.0.0-rc.1
is released on crates.io (so that we can use it inCargo.toml
directly)