add local snapshot to repo; add Dockerfile; update docker-compose.yml;

This commit is contained in:
davisv7 2025-08-31 15:56:34 -04:00
parent bc74ef9cbd
commit d55d7832bc
10 changed files with 2471532 additions and 2 deletions

View file

@ -10,7 +10,9 @@ import (
// ConnectNeo4j creates a new Neo4j driver instance and establishes a connection
func ConnectNeo4j() (neo4j.Driver, error) {
uri := os.Getenv("NEO4J_URI")
host := os.Getenv("NEO4J_HOST")
port := os.Getenv("NEO4J_PORT")
uri := "bolt://" + host + ":" + port
username := os.Getenv("NEO4J_USERNAME")
password := os.Getenv("NEO4J_PASSWORD")
@ -141,3 +143,41 @@ func ProcessUpdates(driver neo4j.Driver, update *lndclient.GraphTopologyUpdate)
}
}
}
// SetupAfterImport runs a set of commands directly after importing a snapshot.
func SetupAfterImport(neo4jDriver neo4j.Driver) {
fmt.Println("SetupAfterImport")
session := neo4jDriver.NewSession(neo4j.SessionConfig{})
defer session.Close()
// fix denominations
_, err := session.Run("match (n)-[r]->(m)\nset r.fee_base_milli_msat = r.fee_base_msat*1000", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
// set node capacity
_, err = session.Run("match (n)\nset n.total_capacity = 0;\n", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
_, err = session.Run("MATCH (n)-[r]-(m)\nWITH n,sum(r.capacity) as total_capacity\nSET n.total_capacity = total_capacity/2;", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
// set node betweeness
_, err = session.Run("call betweenness_centrality.get() YIELD betweenness_centrality, node \nwith betweenness_centrality,node\nset node.betweenness_centrality = betweenness_centrality;", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
// set edge betweenness
_, err = session.Run("MATCH (n)-[r]-(m)\nset r.betweenness_centrality = (n.betweenness_centrality+m.betweenness_centrality)/2;", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
// set fee ratios
_, err = session.Run("MATCH (n)-[r]-(m)\nset r.betweenness_centrality = (n.betweenness_centrality+m.betweenness_centrality)/2;", nil)
if err != nil {
log.Printf("Failed to run command: %v", err)
}
}