Skip to content

Instantly share code, notes, and snippets.

@amtoine
Created May 25, 2023 17:49
Show Gist options
  • Save amtoine/9531ea725991177ac9e2dcfe19193c5e to your computer and use it in GitHub Desktop.
Save amtoine/9531ea725991177ac9e2dcfe19193c5e to your computer and use it in GitHub Desktop.
`arkworks-rs` dependency graph

arkworks-rs dependency graph

below is the dependency graph of the arkworks-rs ecosysten

💡 Note
command to generate this, with the graphviz package

dot -T png -o arkworks-rs.png arkworks-rs.dot

arkworks-rs

/*
* arkworks-rs.dot
*
* ## install dependencies
* ```shell
* sudo apt install graphviz
* ```
*
* ## generate an image from the `.dot` file
* ```shell
* dot -T png -o arkworks-rs.png arkworks-rs.dot
* ```
*
* ## view the image
* ```shell
* feh arkworks-rs.png
* ```
*/
digraph "arkworks-rs" {
{rank = same;
"ark-ff-asm" [shape = box]
"ark-ff-macros" [shape = box]
"ark-serialize" [shape = box]
"ark-serialize-derive" [shape = box]
"ark-std" [shape = box]
}
"ark-serialize" -> {"ark-serialize-derive" "ark-std"}
{rank = same;
"ark-ec" [shape = ellipse]
"ark-ff" [shape = ellipse]
"ark-poly" [shape = ellipse]
}
"ark-ec" -> {
"ark-std"
"ark-serialize"
"ark-ff"
"ark-poly"
}
"ark-ff" -> {
"ark-ff-asm"
"ark-ff-macros"
"ark-std"
"ark-serialize"
}
"ark-poly" -> {"ark-ff" "ark-serialize" "ark-std"}
{rank = same;
"ark-r1cs-std" [shape = ellipse]
"ark-relations" [shape = ellipse]
"ark-snark" [shape = ellipse]
}
"ark-r1cs-std" -> {
"ark-ff"
"ark-ec"
"ark-std"
"ark-relations"
}
"ark-snark" -> {
"ark-ff"
"ark-std"
"ark-serialize"
"ark-relations"
}
"ark-relations" -> {"ark-ff" "ark-std"}
{rank = same;
"ark-crypto-primitives" [shape = box]
"ark-linear-sumcheck" [shape = box]
"ark-poly-commit" [shape = box]
}
"ark-crypto-primitives" -> {
"ark-ff"
"ark-ec"
"ark-r1cs-std"
"ark-relations"
"ark-snark"
}
"ark-crypto-primitives" -> {
"ark-std"
"ark-serialize"
} [style = "dashed", color = black]
"ark-poly-commit" -> {
"ark-ff"
"ark-ec"
"ark-poly"
"ark-crypto-primitives"
"ark-relations"
"ark-r1cs-std"
} [style = dashed, color = red];
"ark-poly-commit" -> {
"ark-serialize"
"ark-std"
} [style = dashed, color = black];
"ark-linear-sumcheck" -> {
"ark-ff"
"ark-poly"
} [style = dashed, color = red];
"ark-linear-sumcheck" -> {
"ark-serialize"
"ark-std"
} [style = dashed, color = black];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment