https://github.com/ravenproject/spv
https://github.com/ravenproject/spv
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ravenproject/spv
- Owner: RavenProject
- Created: 2018-04-12T16:23:43.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-28T08:50:25.000Z (almost 6 years ago)
- Last Synced: 2025-04-24T05:44:29.306Z (10 months ago)
- Language: C
- Size: 1.25 MB
- Stars: 2
- Watchers: 7
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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