# Shared Development
_w. lluna, daniel, jacque, kaustubh, adz_
_02.08.22 ~ 13:00 - 14:00_
## Agenda
- Different ways we use the pathfinder
## Protocol
- Circles land:
- when a new tx occurs, the pathfinder updates and export in 2 sec.
- Export done every 5 sec.
- for each parallel request it will have the graph in memory
- problems in general:
- When a small deviation of an edge, the whole path is invalid
- loading data is very costly
- proposal for new service:
- Function as a service
- split into data acquisition part + algorithm
- can we make the graph size smaller?
- maybe by making different graphs (1 hop, 2 hops.. etc),, and indexing has to update all
- change the algorithm itself - is it maxflow the right algorithm for our solution? use djistra or A* maybe, and make the algorithm compete between them?
- other enhancements
- memory map file for the flow graph, where parallel processes can run the algorithms
- Circles-transfer:
- adz implemented the pathfinder in js: (it's the same as the c++ implementation of chris)
- https://github.com/CirclesUBI/circles-transfer/blob/ed3f06df28d9c304f49d36dcac64b9926cec4906/src/index.js
- https://github.com/CirclesUBI/circles-transfer/tree/ed3f06df28d9c304f49d36dcac64b9926cec4906
- Daniel wrote a binary exporter:
- https://github.com/jaensen/CirclesLand.Pathfinder/blob/master/CirclesLand.Pathfinder.ImportExport/BinaryExporter.cs
- it exports in binary:
- list of safes (with indexes)
- trust relationships
- circles garden creates the flow network with: https://github.com/CirclesUBI/circles-api/blob/main/src/services/edgesFromEvents.js
- `edge: {from, to, token, capacity}`
- which format we both use for flow graph database?:
- csv
- db.dat
- "Zero Copy" serialization format
- Daniel writes an specification
- with a porposal of which format
- alex wrote an indexer for neo4j
- Changing the db to arangoDB, or binary, or neo4j, we need to benchmark it.
- Objective of this project: inmutable version data structure that can be read by multiple algorithm processes (whcih can be chris code or adz code)
---
# Pathfinder meeting
_w. lluna, daniel, jacque, chris, miko_
_30.08.22 ~ 14:00 - 15:00_
## Solutions
- Json rpc
-