A rust toolkit to sign and publish Nanopublications, with bindings to python and javascript (wasm).
- preliminary nanopub is created with blank space in URIs at the places where the trusty URI code will appear (normalized URI:
http://purl.org/np/ARTIFACTCODE-PLACEHOLDER/
, cf. code); this includes the signature part, except the triple that is stating the actual signature - preliminary nanopub is serialized in a normalized fashion (basically each quad on four lines with minimal escaping)
- Signature is calculated on this normalized representation (cf. most of the process in the trusty-uri python lib, see also SignatureUtils and trusty-uri)
- Signature triple is added
- Trusty URI code is calculated on normalized representation that includes signature
- Trusty URI code is added in place of all the occurrences of blank spaces in the URIs, leading to the final trusty nanopub
cd try/
cargo build
cargo run
Checkout the README in the python
and js
folder for the instructions for each language
./scripts/docs-serve.sh
https://github.com/briansmith/ring
https://github.com/Vanethos/rust-wasm-example-rsa
https://github.com/Harzu/wasm-rsa
https://github.com/frehberg/wasm-sign
Building artefacts for many targets: https://github.com/oxigraph/oxigraph/blob/main/.github/workflows/artifacts.yml