RavenProject / SPV

Repository from Github https://github.comRavenProject/SPVRepository from Github https://github.comRavenProject/SPV

Ravencoin Core SPV (with assets features support)

Sync performance / Bip32 integration with Bloom Filter:

  • Local peer sends getheaders
  • Remote peer responds with up to 2000 headers
  • Local peer immediately sends getheaders again and then processes the headers
  • Previous two steps repeat until a header within a week of earliestKeyTime is reached (further headers are ignored)
  • Local peer sends getblocks
  • Remote peer responds with inv containing up to 500 block hashes
  • Local peer sends getdata with the block hashes
  • If there were 500 hashes, local peer sends getblocks again without waiting for remote peer
  • Remote peer responds with multiple merkleblock and tx messages, followed by inv containing up to 500 block hashes
  • Previous two steps repeat until an inv with fewer than 500 block hashes is received
  • Local peer sends just getdata for the final set of fewer than 500 block hashes
  • Remote peer responds with multiple merkleblock and tx messages
  • If at any point tx messages consume enough wallet addresses to drop below the bip32 chain gap limit, more addresses are generated and local peer sends filterload with an updated bloom filter
  • After filterload is sent, getdata is sent to re-request recent blocks that may contain new tx matching the filter

About


Languages

Language:C 93.7%Language:C++ 3.9%Language:Java 0.6%Language:Python 0.6%Language:Assembly 0.6%Language:M4 0.5%Language:Makefile 0.1%Language:Shell 0.0%