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

iroha_wasm_builder progress-bar #3237

Closed
Arjentix opened this issue Feb 21, 2023 · 4 comments
Closed

iroha_wasm_builder progress-bar #3237

Arjentix opened this issue Feb 21, 2023 · 4 comments
Assignees
Labels
build Enhancement New feature or request iroha2-dev The re-implementation of a BFT hyperledger in RUST UI Something about the interface

Comments

@Arjentix
Copy link
Contributor

Arjentix commented Feb 21, 2023

It will be nice to have a way to get information about current progress of build from iroha_wasm_builder.

As an example of current implementation you can run kagami validator and will see, that it looks like it's stucked.

I believe, there is a way to provide this info from iroha_wasm_builder crate and the display it on user side.

@Arjentix Arjentix added iroha2-dev The re-implementation of a BFT hyperledger in RUST build Enhancement New feature or request UI Something about the interface labels Feb 21, 2023
@Arjentix
Copy link
Contributor Author

Blocked by #2152

@0x009922
Copy link
Contributor

I use a spinner in kagami swarm during the building of the validator:

We can probably reuse it in kagami genesis and in iroha_wasm_builder itself. If the PR will be merged, ofc.

@0x009922
Copy link
Contributor

0x009922 commented Sep 1, 2023

This issue is partially addressed by

That PR introduces iroha_wasm_builder_cli, which displays spinners while building & optimizing. However, it is not a progress bar. I guess this issue is about displaying a precise progression, e.g. how many crates were already checked/built.

@DCNick3 DCNick3 self-assigned this Oct 16, 2023
@DCNick3
Copy link
Contributor

DCNick3 commented Oct 19, 2023

  1. exposing cargo's output: this will use the native cargo implementation of the progress bar. no longer capturing stdout, so diagnostics go to the console too
  2. parsing cargo's progress bar. possible, but requires special handling for the diagnostics: they have to somehow be separated from the progress bar
  3. cargo json output: AFAIU it doesn't provide enough information to build the progress bar (we need the total # of jobs)
  4. cargo as a library: doesn't help, cargo exposes basically the same API surface as the console API. will either require parsing or reimplementing large parts of the cargo itself. the progress bar is buried in non-public part of the API: https://docs.rs/cargo/latest/src/cargo/core/compiler/job_queue/mod.rs.html#469

I've decided to go with option 1, with possibly switching to 2 if some limitations are to be found

DCNick3 added a commit that referenced this issue Oct 19, 2023
…ild progress information

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit that referenced this issue Oct 20, 2023
…ild progress information

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit that referenced this issue Oct 20, 2023
…ild progress information

Signed-off-by: Nikita Strygin <[email protected]>
@DCNick3 DCNick3 closed this as completed Oct 23, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…pt to iroha_crypto types

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…20Poly1305 code from ursa, migrate iroha_p2p to use it

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…o blocks

This also removes bls signature aggregation and rogue key mitigation, as iroha does not and probably will not use aggregated signatures

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
This makes all the dependency tree of iroha_crypto wasm-compatible (except `getrandom`, which either requires a "js" feature enabled when used from web, or a custom getrandom implementation in other cases)

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…tests

Clean up the API a bit:
- hide the implementation details of signatures (they are only used through the PublicKey, PrivateKey and Signature types)
- remove even more unused API functions
- add missing documentation items

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…pt to iroha_crypto types

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…20Poly1305 code from ursa, migrate iroha_p2p to use it

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…o blocks

This also removes bls signature aggregation and rogue key mitigation, as iroha does not and probably will not use aggregated signatures

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
This makes all the dependency tree of iroha_crypto wasm-compatible (except `getrandom`, which either requires a "js" feature enabled when used from web, or a custom getrandom implementation in other cases)

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 8, 2023
…tests

Clean up the API a bit:
- hide the implementation details of signatures (they are only used through the PublicKey, PrivateKey and Signature types)
- remove even more unused API functions
- add missing documentation items

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 9, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 9, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 9, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 10, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 10, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 13, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 13, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
mversic pushed a commit to DCNick3/iroha that referenced this issue Nov 20, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
mversic pushed a commit to DCNick3/iroha that referenced this issue Nov 20, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit that referenced this issue Nov 20, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
DCNick3 added a commit to DCNick3/iroha that referenced this issue Nov 22, 2023
- make the signature implementations not use the &self, they are all stateless anyway
- remove redundant Result returns
- add docs on errors

Signed-off-by: Nikita Strygin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Enhancement New feature or request iroha2-dev The re-implementation of a BFT hyperledger in RUST UI Something about the interface
Projects
None yet
Development

No branches or pull requests

3 participants