rajarshimaitra / cbf-staging Goto Github PK
View Code? Open in Web Editor NEWStaging area for a BIP157 Comapct Filter node in rust.
Staging area for a BIP157 Comapct Filter node in rust.
Currently we have a rough peer management setup here https://github.com/rajarshimaitra/cbf-staging/blob/main/src/peermngr.rs which can connect to multiple nodes. and send and receive data. Few tests are also included.
This task is to create a basic testable peer manager, and test is in parallel without depending on other module's ongoin work. For reference check the planning-doc
Remove AddressManager
from PeerManager. Make it connect to two hard coded known CBF nodes out there.. Or your own regtest CBF nodes at development stage.
Create a basic validation engine that will follow the BIP157 Client operation section.
Pass network data from two peers into validation function. Validation should return the faulty peer to ban after validating.
Use the same strategy of Mocking as AddressManager to simulate various validation edge cases.
Try to fit the PeerManager into the Sync interface here
Lines 233 to 286 in e919073
Currently in the new address manager module https://github.com/rajarshimaitra/cbf-staging/blob/main/src/address_manager_2.rs we are not using any Arc<>
for multi threading. Instead its done via MPSC channels, and only a single thread will ever have access of the final data store..
The other version of address manager here https://github.com/rajarshimaitra/cbf-staging/blob/main/src/address_manager.rs uses various Arcs to do synchronicity.. But it often goes into certain deadlock situations..
The task is to:
MockWorkers
that will read up addresses from local scope and feed them to the AddressFetcher
.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.