All Projects → xsb → Lngraph

xsb / Lngraph

Your personal and private Lightning Network explorer.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Lngraph

Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: ✭ 713 (+1937.14%)
Mutual labels:  neo4j
Node Neo4j
[RETIRED] Neo4j graph database driver (REST API client) for Node.js
Stars: ✭ 935 (+2571.43%)
Mutual labels:  neo4j
Ln Pay
A minimalistic payment only wallet for Lightning Network
Stars: ✭ 29 (-17.14%)
Mutual labels:  lightning-network
Neovis.js
Neo4j + vis.js = neovis.js. Graph visualizations in the browser with data from Neo4j.
Stars: ✭ 748 (+2037.14%)
Mutual labels:  neo4j
Voltage
Voltage is a macOS GUI for c-lightning
Stars: ✭ 24 (-31.43%)
Mutual labels:  lightning-network
Neo4jd3
Neo4j graph visualization using D3.js
Stars: ✭ 843 (+2308.57%)
Mutual labels:  neo4j
Neo4j Javascript Driver
Neo4j Bolt driver for JavaScript
Stars: ✭ 674 (+1825.71%)
Mutual labels:  neo4j
Awesome Graph Apps
Curated list of Graph-Apps that work with Neo4j Desktop.
Stars: ✭ 32 (-8.57%)
Mutual labels:  neo4j
Lnbook
Mastering the Lightning Network (LN)
Stars: ✭ 931 (+2560%)
Mutual labels:  lightning-network
Spring Depend
Tool for getting a spring bean dependency graph
Stars: ✭ 28 (-20%)
Mutual labels:  neo4j
Migrate
Database migrations. CLI and Golang library.
Stars: ✭ 7,712 (+21934.29%)
Mutual labels:  neo4j
Article 1
Review prediction with Neo4j and TensorFlow
Stars: ✭ 24 (-31.43%)
Mutual labels:  neo4j
R2d2 Cypher
Cypher support for the r2d2 connection pool
Stars: ✭ 8 (-77.14%)
Mutual labels:  neo4j
Interactivegraph
InteractiveGraph provides a web-based interactive visualization and analysis framework for large graph data, which may come from a GSON file, or an online Neo4j graph database. InteractiveGraph also provides applications built on the framework: GraphNavigator, GraphExplorer and RelFinder.
Stars: ✭ 730 (+1985.71%)
Mutual labels:  neo4j
Bolt
Bolt protocol PHP library over TCP socket primary targeted to use with Neo4j.
Stars: ✭ 31 (-11.43%)
Mutual labels:  neo4j
Spatial
Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest. In addition classes are provided to expose the data to geotools and thereby to geotools enabled applications like geoserver and uDig.
Stars: ✭ 695 (+1885.71%)
Mutual labels:  neo4j
Lnd Grpc Client
A python grpc client/async client for LND ⚡⚡⚡
Stars: ✭ 26 (-25.71%)
Mutual labels:  lightning-network
Scala Cypher Dsl
A type-safe Cypher Query Language DSL for Scala.
Stars: ✭ 34 (-2.86%)
Mutual labels:  neo4j
Hellovoter
HelloVoter App Suite. Contact your Reps. Canvass for any cause at zero cost.
Stars: ✭ 31 (-11.43%)
Mutual labels:  neo4j
Lightninglib
lightninglib is a fork of lnd which aims to be usable as a go library inside any application, including mobile apps.
Stars: ✭ 11 (-68.57%)
Mutual labels:  lightning-network

lngraph

lngraph imports Lightning Network data into Neo4j for local exploration of your node and its view of the network. This is not intended to be a public explorer.

The purpose is to explore local information (channels, chain transactions, peers) and private data (channel balances, fees, bytes sent and received) but also public (all other nodes and channels).

lngraph screenshot

lngraph screenshot 2

As of today this tool is just a Neo4j importer. All data is persisted in Neo4j and explored using Neo4j Browser. Source data files have to be manually extracted using lncli so the node and network state is completely static.

I started working on this as a way to learn more about both the Lightning Network and Neo4j. If you see something that can be improved (or that it's just broken) feel free to open an issue or a pull request.

How to use

Clone the repository and install the lngraph binary. You will need Go installed in your system.:

git clone [email protected]:xsb/lngraph.git
cd lngraph
go install

Run Neo4j and the Neo4j Browser using Docker.

docker run -d \
    --name=lngraph_neo4j \
    --publish=7474:7474 \
    --publish=7687:7687 \
    --env=NEO4J_AUTH=none \
    --volume=$HOME/.lngraph/neo4j:/data \
    neo4j

Use lngraph to get data from LND and index it in the Neo4j database that we previously launched. By default it connects to localhost (this is why we launched Neo4j with Docker previously) but you can specify a database URL with the -url flag.

lngraph \
    -lnd-grpc 127.0.0.1:10009 \
    -macaroon /path/to/readonly.macaroon \
    -tls-cert /path/to/tls.cert

Open http://localhost:7474/ in your browser to open the Neo4j Browser UI.

Neo4j queries

The Neo4j query language is called Cypher, check the documentation to learn more about it.

A good start is to visualise your node, your channels, the nodes you have opened channels with, the blockchain transactions that opened these channels and your peers in the network.

MATCH (mynode:Node)-[:OPENED]->(mychannels:Channel)<-[:FUNDED]-(mytransactions:Transaction)
MATCH (othernodes:Node)-[:OPENED]->(mychannels:Channel)
MATCH (mynode:Node)-[:PEER]->(peers:Node)
RETURN mynode, mychannels, mytransactions, othernodes, peers

You can edit the color and size of the nodes and relationships, the property that is used as a name for each type of node, etc. But notice that Neo4j Browser will store configuration in Local Storage, not in the shared Docker volume.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].