diff --git a/README.md b/README.md index e078e06..2b1203c 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,23 @@ strive to use the standard library as much as possible. To avoid code reuse, additional crates (such as the `smex` crate) may be used to share functionality across several crates. +## Keyfork Top-Level Binary + +The `keyfork` binary is the most user-friendly interface for interacting with +the Keyfork toolchain. It offers commands that should not take any scriptable +input and should not produce any script-readable output. Such operations that +require script compatibility should be made into their own utilities, with the +higher level interface of interacting with them left solely to `keyfork`. + +For instance, the program to generate system entropy is `keyfork-entropy`. It +accepts an arbitrary length and spits out a hex-encoded chunk of data. The +program to convert that entropy into a seed is `keyfork-mnemonic-from-seed`. It +takes entropy from input and converts it into a seed. The combination of the +two, generating entropy and converting it to a mnemonic, is managed through +Keyfork: `keyfork mnemonic generate`, which can also be used to offer more +options down the line, such as generating a mnemonic from tarot or playing +cards, or dice. + --- Note: The following document is all proposed, and not yet implemented.