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

Implement post-state-root #9450

Closed
6 tasks done
robin-near opened this issue Aug 17, 2023 · 4 comments · Fixed by #10184
Closed
6 tasks done

Implement post-state-root #9450

robin-near opened this issue Aug 17, 2023 · 4 comments · Fixed by #10184
Assignees
Labels
A-chain Area: Chain, client & related Near Core

Comments

@robin-near
Copy link
Contributor

robin-near commented Aug 17, 2023

Update post-state-root was cancelled, cleanup PR: #10184

See the doc for more context.

Tasks

  1. A-chain
  2. A-chain Near Core
    Longarithm
  3. A-chain Near Core
  4. A-chain Near Core
  5. A-chain Near Core
  6. Near Core
@pugachAG
Copy link
Contributor

Implementation challenges

Block fields needed when applying the chunk

Currently some block-level data is required to apply the chunk. This includes the following:

  • gas_price is calculated when the block is produced: code.
  • block_timestamp: provided by the runtime: code.
  • block_hash: used in generate_data_id.
  • random_value: used as part of random_seed

@pugachAG
Copy link
Contributor

Progress update:

@walnut-the-cat
Copy link
Contributor

September goal for post state root was:

  • Prototype
  • Come up with detailed implementation plan
  • Partial implementation to unblock other part of stateless validation project

We expect the 2nd and 3rd ones to be completed by end of this week, while the first one will take little longer due to newly discovered complexity.

@pugachAG
Copy link
Contributor

Plan for October:

  • Implement post-state-root MVP (excluding optimisations such as making chunk parts retrieval async):
    • produce chunk (almost finished, but will be merged early next week)
    • produce block
    • process block/chunks
  • End-to-end testing with rust integration tests.
  • Come up with a proposal to handle protocol changes resulting from post-state-root (for example VRF and this comment)
  • Make NEP-507 ready for review

@Longarithm @robin-near let me know if I forgot something or if you have any concerns

github-merge-queue bot pushed a commit that referenced this issue Oct 3, 2023
This PR adds chunk production with post-state-root. This means applying
transactions and receipts before producing the chunk and including the
necessary fields in the header.

The code is not used anywhere yet, that will be implemented as a
separate PR. The issues marked with `TODO(post-state-root)` will be
resolved separately.

Part of #9450.
nikurt pushed a commit that referenced this issue Oct 11, 2023
This PR adds chunk production with post-state-root. This means applying
transactions and receipts before producing the chunk and including the
necessary fields in the header.

The code is not used anywhere yet, that will be implemented as a
separate PR. The issues marked with `TODO(post-state-root)` will be
resolved separately.

Part of #9450.
@pugachAG pugachAG linked a pull request Nov 15, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-chain Area: Chain, client & related Near Core
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants