]> git.bitcoin.ninja Git - dnssec-prover/commitdiff
Add a simple README
authorMatt Corallo <git@bluematt.me>
Thu, 11 Jul 2024 19:34:53 +0000 (19:34 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 11 Jul 2024 19:34:53 +0000 (19:34 +0000)
README [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..c2b5f72
--- /dev/null
+++ b/README
@@ -0,0 +1,26 @@
+This repo has a handful of APIs to create and verify RFC 9102 proofs.
+
+It has minimal dependencies (bitcoin_hashes for hashing operations, hex_lit for
+some hex constants, and optionally tokio for networking in some APIs).
+
+There are numerous APIs present:
+ * Building the crate as a library provides a handful of DNS types, including
+   (de)serialization for them.
+ * Building the crate as a library with the `validation` feature also enables
+   the `validation` module, which allows for verification of an RFC 9102 proof.
+ * Building the crate as a library with the `std` feature enables the `query`
+   module which can build an RFC 9102 proof using repeated queries to any
+   standard DNS server (including over DoH).
+ * The `wasmpack` directory and `uniffi` directory expose very simplified APIs
+   to build and verify RFC 9102 proofs either in WASM (via wasm-pack, see-also
+   the `wasmpack/doh_lookup.js` file which can build RFC 9102 proofs using
+   repeated queries to a DoH server directly from JavaScript) or any language
+   supported by `uniffi`.
+ * Building the the `http_proof_gen` binary in the crate builds an HTTP server
+   which responds to requests for RFC 9102 proofs in the form
+   `/dnssecproof?d=domain&t=rr_type`, returning the binary proof containing and
+   proving the Resource Record of type `rr_type` at `domain`.
+
+See https://docs.rs/dnssec-prover for full API details on the Rust API.
+There's also a website which demonstrates the WASM build of this crate at
+https://http-dns-prover.as397444.net/ which allows for making validated queries.