Git Product home page Git Product logo

Comments (6)

mercadoa avatar mercadoa commented on June 3, 2024

➤ lars commented:

We also have to do block header validation. Most of it is implied (i.e. checked) by inserting into the respective block header db. But adjacent parent verification isn’t. Currently it is done by recursively checking that all dependencies are available.

For an iterative approach one would have to ensure that blocks are added in the right order, so that all dependencies are added before the block itself.

I think there are two options:

  1. Use the current recursive approach and just switch off/leave off mining (and possibly cut processing).
  2. Use the (currently switched off) single-chain sync session to get all block headers (without parent validation and pact validation) and do a second path over all block in the db to run pact validation and adjacent parent validation.

The second is a little more tricky and possibly not worth it, because compared to a final solution, it’s just something like 50% feature wise but 90% in terms of dev costs, I guess.

With the first option there is a chance that we need some memory for storing the open tasks in the task queues during the recursive decent. There may even be some stack-build up (not sure, I would have to check the code). Still I propose to try that first and see how it performs.

from chainweb-node.

mercadoa avatar mercadoa commented on June 3, 2024

➤ lars commented:

So, a good way to start would be to run Chainweb.Chainweb with mining and cut-processing disabled and switch both components on only when we synced with the head of Chainweb.

I am not sure how much overhead cut processing causes. So we may first try to just leave the miner disabled, which is easier to do.

from chainweb-node.

mercadoa avatar mercadoa commented on June 3, 2024

➤ lars commented:

For turning off cut processing would would have to add a flag to the cut-Db queue processor to just drop new incoming cuts. However, we would still need to query a "starting" cut to start with. So it's most likely the easiest to leave cut-processing on.

from chainweb-node.

mercadoa avatar mercadoa commented on June 3, 2024

➤ Colin Woodbury commented:

This PR #92 addresses this task. It may already work as intended and need no further tweaks. I still need to test it a bit more.

from chainweb-node.

mercadoa avatar mercadoa commented on June 3, 2024

[email protected] commented:

Efficiency has been addressed; priority has changed now

from chainweb-node.

mercadoa avatar mercadoa commented on June 3, 2024

[email protected] commented:

Moved from v1 to v2

from chainweb-node.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.