Skip to content

Commit

Permalink
Merge pull request #26 from CirclesUBI/chore/README
Browse files Browse the repository at this point in the history
chore(README): linting + formatting
  • Loading branch information
almereyda authored Mar 28, 2023
2 parents 4846da2 + 21ce9b9 commit 3d89989
Showing 1 changed file with 15 additions and 18 deletions.
33 changes: 15 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
## Pathfinder2
# Pathfinder2

Pathfinder is a collection of tools related to
computing transitive transfers in the
Pathfinder is a collection of tools related to
computing transitive transfers in the
[CirclesUBI](https://joincircles.net) trust graph.

### Building
## Building

This is a rust project, so assuming `cargo` is installed, `cargo build`
creates two binaries: The server (default) and the cli.
This is a rust project, so assuming `cargo` is installed, `cargo build` creates three binaries:
The `server` (default), the `cli` and the `convert` tool.

Both need a file that contains the trust graph edges to work.
All need a file that contains the trust graph edges to work.
A reasonably up to date edge database file can be obtained from
https://chriseth.github.io/pathfinder2/edges.dat

- https://chriseth.github.io/pathfinder2/edges.dat

#### Using the Server
### Using the Server

`cargo run --release <ip-address>:<port>` will start a JSON-RPC server listening on the given port.

Expand All @@ -29,31 +29,28 @@ Number of worker threads: 4

Size of request queue: 10

#### Using the CLI

The CLI will load an edge database file and compute the transitive transfers
from one source to one destination. You can limit the number of hops to explore
and the maximum amount of circles to transfer.
### Using the CLI

The CLI will load an edge database file and compute the transitive transfers from one source to one destination. You can limit the number of hops to explore and the maximum amount of circles to transfer.

The options are:

`cargo run --release --bin cli <from> <to> <edges.dat> [<max_hops> [<max_amount>]] [--dot <dotfile>]`

For example
For example:

`cargo run --release --bin cli 0x9BA1Bcd88E99d6E1E03252A70A63FEa83Bf1208c 0x42cEDde51198D1773590311E2A340DC06B24cB37 edges.dat 3 1000000000000000000`

Computes a transfer of at most `1000000000000000000`, exploring 3 hops.

If you specify `--dot <dotfile>`, a graphviz/dot representation of the transfer graph is written to the given file.

#### Conversion Tool
### Conversion Tool

The conversion tool can convert between different ways of representing the edge and trust relations in the circles system.
The conversion tool can convert between different ways of representing the edge and trust relations in the circles system.
All data formats are described in https://hackmd.io/Gg04t7gjQKeDW2Q6Jchp0Q

It can read an edge database both in CSV and binary formatand a "safe database" in json and binary format.
It can read an edge database both in CSV and binary formatand a "safe database" in json and binary format.
The output is always an edge database in either binary or CSV format.

Example:
Expand Down

0 comments on commit 3d89989

Please sign in to comment.