JCS (JSON Canonicalization Scheme), JSON digests, and JSON Merkle hashes

Overview

JSON Hash

Latest version LGPL 3.0 Deno Doc (API references) GitHub Actions

This package contains the following JSON utilties for Deno:

  • digest.ts provides cryptographic hash digests of JSON trees. It guarantee that digest() function always returns the same digest for the equivalent JSON trees. It means you don't have to care about the order of how object keys occurs or how characters in string are encoded. It also provides various hash algorithms; see also the docs of Deno's std/crupto module.

  • merkle.ts provides hash digests of JSON Merkle trees. It can be used for efficient diff of two large trees or updating a deep leaf in a large tree.

  • canon.ts provides canonicalization of JSON trees. This complies with RFC 8785, also known as JCS (JSON Canonicalization Scheme).

  • mod.ts re-exports everything in the above files.

See also Deno Doc for the complete API references.

License

Distributed under LGPL 3.0.

You might also like...

JSON Struct is a vocabulary that allows you to annotate and validate JSON documents.

JSON-Struct JSON Struct is a vocabulary that allows you to annotate and validate JSON documents. Examples Basic This is a simple example of vocabulary

May 8, 2022

✏️ A small jQuery extension to turn a static HTML table into an editable one. For quickly populating a small table with JSON data, letting the user modify it with validation, and then getting JSON data back out.

jquery-editable-table A small jQuery extension to turn an HTML table editable for fast data entry and validation Demo 👉 https://jsfiddle.net/torrobin

Jul 31, 2022

Json-parser - A parser for json-objects without dependencies

Json Parser This is a experimental tool that I create for educational purposes, it's based in the jq works With this tool you can parse json-like stri

Jan 3, 2022

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

JSON Visio is data visualization tool for your json data which seamlessly illustrates your data on graphs without having to restructure anything, paste directly or import file.

Jan 4, 2023

Prisma 2+ generator to emit a JSON file that can be run with json-server

Prisma 2+ generator to emit a JSON file that can be run with json-server

Prisma JSON Server Generator A Prisma generator that automates creating a JSON file that can be run as a server from your Prisma schema. Explore the o

Jan 7, 2023

Types generator will help user to create TS types from JSON. Just paste your single object JSON the Types generator will auto-generate the interfaces for you. You can give a name for the root object

Types generator will help user to create TS types from JSON. Just paste your single object JSON the Types generator will auto-generate the interfaces for you. You can give a name for the root object

Types generator Types generator is a utility tool that will help User to create TS Interfaces from JSON. All you have to do is paste your single objec

Dec 6, 2022

Add aliasing support to Vite from tsconfig.json or jsconfig.json files

Config to Alias Config to Alias adds aliasing support to Astro, JavaScript, TypeScript, and CSS files. Usage Install Config to Alias. npm install @ast

Mar 17, 2023

Easy server-side and client-side validation for FormData, URLSearchParams and JSON data in your Fresh app 🍋

Fresh Validation 🍋     Easily validate FormData, URLSearchParams and JSON data in your Fresh app server-side or client-side! Validation Fresh Validat

Dec 23, 2022

Random Fractals stash of Observable Data Tools 🛠️ and Notebooks 📚 in ES Modules .js, .nb.json, .ojs, .omd, .html and .qmd document formats for Data Previews

Random Fractals stash of Observable Data Tools 🛠️ and Notebooks 📚 in ES Modules .js, .nb.json, .ojs, .omd, .html and .qmd document formats for Data Previews

Random Fractals stash of Observable Data Tools 🛠️ and Notebooks 📚 in ES Modules .js, .nb.json, .ojs, .omd, .html and .qmd document formats for Data Previews in a browser and in VSCode IDE with Observable JS extension, Quarto extension, and new Quarto publishing tools.

Nov 25, 2022
Comments
  • Support web browsers

    Support web browsers

    Although the project is mainly targeted to Deno as of now, it is open to expand its target runtimes including web browsers in particular. There would be subtasks to let it support web browsers:

    • [ ] Compatibility. The current implementation probably depends on several APIs which are unavailable on web browsers. These should be rewritten in the more portable and standard way.
    • [ ] Unit tests. Currently the unit tests are based on Deno's built-in testing framework. The unit tests should be possible to run on all supported runtimes.
    • [ ] Packaging. Although Deno uses ESM by default, as the entire source code is written in TypeScript, it still needs to be compiled to JavaScript, and preferably, bundled into a single .jsm file so that users can use it using <script type=module> tag.
    • [ ] CI. Everything above needs to be continuously integrated and delivered.
    enhancement help wanted 
    opened by dahlia 1
Owner
Hong Minhee (洪 民憙)
A software engineer from Seoul. An advocate of F/OSS, Open Web, and Cypherpunk. Hack into East Asian languages.
Hong Minhee (洪 民憙)
Patronum: Ethereum RPC proxy that verifies RPC responses against given trusted block hashes

Patronum Ethereum RPC proxy that verifies RPC responses against given trusted block hashes. Currently, most of the DAPPs and Wallets interact with Eth

null 14 Dec 7, 2022
🪝 React hook for subscribing to user's color scheme preference.

use-prefers-color-scheme React hook for subscribing to user's color scheme preference. ?? Getting Started ?? Jump Start npm install @anatoliygatt/use-

Anatoliy Gatt 30 Dec 19, 2022
Hydra-S1 ZK Proving scheme circuits, used for ZK Attesters in Sismo

Hydra-S1 ZKPS Hydra-S1 Zero-Knowledge Proving Scheme Made by Sismo Hydra-S1 is a Zero-Knowledge Proving Scheme used by Hydra S1 attesters of the Sismo

null 65 Dec 25, 2022
Frontend, contracts, and merkle tree generator for use in quickly scaffolding ERC20 token airdrops.

Merkle Airdrop Starter Quickly bootstrap an ERC20 token airdrop to a Merkle tree of recipients. Steps: Generate Merkle tree of recipients by following

Anish Agnihotri 675 Dec 22, 2022
Bootstrap an NFT minting site with Merkle tree whitelists.

??️ nft-merkle-whitelist-scaffold Bootstrap an NFT minting site with merkle tree whitelists. Go to nft-merkle-whitelist.vercel.app to see the latest d

jaclyn 87 Dec 24, 2022
A starter next.js + solidity project that implements merkle trees

Create Merkle App By Backseats This is an example app that shows you how to use a Merkle tree for your allow list Includes a partial contract contract

null 6 Nov 6, 2022
Privacy preserving governance mechanism using zero knowledge for proof of merkle inclusion.

Zero Knowledge Private Voting V1 Motivation On-chain governance today is fully transparent at the cost of privacy. This means that every proposal and

Blockchain Capital 18 Dec 16, 2022
Privacy preserving governance mechanism using zero knowledge for proof of merkle inclusion.

Zero Knowledge Private Voting V1 Motivation On-chain governance today is fully transparent at the cost of privacy. This means that every proposal and

Blockchain Capital 11 Jun 7, 2022
Package fetcher is a bot messenger which gather npm packages by uploading either a json file (package.json) or a picture representing package.json. To continue...

package-fetcher Ce projet contient un boilerplate pour un bot messenger et l'executable Windows ngrok qui va permettre de créer un tunnel https pour c

AILI Fida Aliotti Christino 2 Mar 29, 2022
Pretty-print-json - 🦋 Pretty-print JSON data into HTML to indent and colorize (written in TypeScript)

pretty-print-json Pretty-print JSON data into HTML to indent and colorize (written in TypeScript) 1) Try It Out Interactive online tool to format JSON

Center Key 87 Dec 30, 2022