P2pool util forest

From Bitcoin Wiki
Revision as of 21:37, 24 June 2012 by Forrestv (talk | contribs) (described deltas)
Jump to: navigation, search

This contains code for tracking shares.

Class Tracker

Number of dictionaries that store the shares in various ways to allow fast access.

  1. shares (hash->share) Since share contains parent share allows you to link to previous shares all the way to the tail.
  2. reverse_shares (delta.tail->set of share_hashes) Allows you to link share to the next share that came after it all the way to the head.
  3. deltas (share_hash -> delta, ref)
  4. reverse_deltas (ref -> set of share_hashes)
  5. delta_refs (ref -> delta)
  6. reverse_delta_refs ( delta.tail -> ref)

Deltas are used for quickly answering queries by caching data between two points in the sharechain. Each share has a delta that goes between it and its highest parent and contains information such as how much work was done and how many shares are in between. If the highest parent has its parent added, the delta will keep referring to the old highest parent until it is next needed, and then it will be updated.

Method add

Adds a share to the tracker