Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,24 +189,3 @@ github-actions:
- 'tools/lifehash-cli/**'
- '!tools/lifehash-cli/package.json'
- '!tools/lifehash-cli/CHANGELOG.md'

"double-ratchet":
- changed-files:
- all-globs-to-any-file:
- 'packages/double-ratchet/**'
- '!packages/double-ratchet/package.json'
- '!packages/double-ratchet/CHANGELOG.md'

"triple-ratchet":
- changed-files:
- all-globs-to-any-file:
- 'packages/triple-ratchet/**'
- '!packages/triple-ratchet/package.json'
- '!packages/triple-ratchet/CHANGELOG.md'

"spqr":
- changed-files:
- all-globs-to-any-file:
- 'packages/spqr/**'
- '!packages/spqr/package.json'
- '!packages/spqr/CHANGELOG.md'
19 changes: 0 additions & 19 deletions .github/versions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,25 +122,6 @@ packages:
version: "0.4.1"
commit: "0444dbed5615fbc9a98163608c6499c025b7873b"

# Signal Protocol
double-ratchet:
npm: "@bcts/double-ratchet"
repo: "signalapp/libsignal"
version: "0.87.1"
commit: "f08390b0e2f67d5faf47bb9d1a3db191314db93c"

spqr:
npm: "@bcts/spqr"
repo: "signalapp/SparsePostQuantumRatchet"
version: "1.4.0"
commit: "d310c99c57a046549be205b9ce50d80dcbe5f3e4"

triple-ratchet:
npm: "@bcts/triple-ratchet"
repo: "signalapp/libsignal"
version: "0.87.1"
commit: "f08390b0e2f67d5faf47bb9d1a3db191314db93c"

tools:
dcbor-cli:
npm: "@bcts/dcbor-cli"
Expand Down
18 changes: 4 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# BCTS - Blockchain Commons for TypeScript

[![Version](https://img.shields.io/badge/version-1.0.0--alpha.23-green)](https://github.com/paritytech/bcts/releases)
[![Version](https://img.shields.io/badge/version-1.0.0--beta.0-green)](https://github.com/paritytech/bcts/releases)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue)](https://www.typescriptlang.org/)
[![Monorepo](https://img.shields.io/badge/Monorepo-Turborepo-blueviolet)](https://turbo.build/)
[![Package Manager](https://img.shields.io/badge/Package%20Manager-Bun-FFD700)](https://bun.sh/)
Expand All @@ -12,7 +12,7 @@

## Overview

This repository includes 19 packages covering deterministic CBOR encoding (dCBOR), Gordian Envelope for privacy-preserving data containers, Uniform Resources (URs) for QR code transport, cryptographic primitives (ChaCha20-Poly1305, BLAKE3, HKDF), secret sharing (Shamir/SSKR), decentralized identity (XID), provenance verification, visual hashing (LifeHash), and distributed infrastructure for threshold signatures (FROST/Hubert). The suite also provides 5 CLI tools and an interactive web IDE. All implementations follow the Rust reference implementations as the source of truth.
This repository includes 20 packages covering deterministic CBOR encoding (dCBOR), Gordian Envelope for privacy-preserving data containers, Uniform Resources (URs) and Multipart URs for QR code transport, cryptographic primitives, secret sharing (Shamir/SSKR), decentralized identity (XID), provenance verification, visual hashing (LifeHash), and distributed infrastructure for threshold signatures (FROST/Hubert). The suite also provides 5 CLI tools and an interactive web IDE. All implementations follow the Rust reference implementations as the source of truth.

## 📚 Resources

Expand Down Expand Up @@ -61,6 +61,7 @@ bun playground
| [**hubert**](packages/hubert) | Hubert - Distributed infrastructure for secure multiparty transactions using Gordian Envelope. Supports IPFS, Mainline DHT, server, and hybrid storage modes. [📖 Docs](https://docs.bcts.dev/api/hubert) \| [🦀 Rust](https://github.com/BlockchainCommons/hubert-rust) |
| [**known-values**](packages/known-values) | Known Values - compact, deterministic identifiers for ontological concepts. More efficient than URIs for representing predicates and relationships. [📖 Docs](https://docs.bcts.dev/api/known-values) \| [🦀 Rust](https://github.com/BlockchainCommons/known-values-rust) |
| [**lifehash**](packages/lifehash) | LifeHash - visual hash algorithm that generates beautiful, deterministic icons from data using cellular automata. Useful for visual verification of cryptographic hashes and identities. [📖 Docs](https://docs.bcts.dev/api/lifehash) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-lifehash) |
| [**multipart-ur**](packages/multipart-ur) | Multipart Uniform Resources - render Uniform Resources as animated QR-code sequences (PNG/JPEG/SVG/Mermaid) with optional embedded logos. Wraps `uniform-resources` fountain encoding for visual transport of arbitrary-sized payloads. [📖 Docs](https://docs.bcts.dev/api/multipart-ur) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-mur-rust) |
| [**provenance-mark**](packages/provenance-mark) | Provenance Marks - cryptographically-secured system for establishing authenticity and provenance of digital works. Generates verifiable mark chains with configurable resolution levels. [📖 Docs](https://docs.bcts.dev/api/provenance-mark) \| [🦀 Rust](https://github.com/BlockchainCommons/provenance-mark-rust) |
| [**rand**](packages/rand) | Cryptographically secure random number generation utilities. Provides a consistent interface for random operations across all packages. [📖 Docs](https://docs.bcts.dev/api/rand) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-rand-rust) |
| [**shamir**](packages/shamir) | Shamir's Secret Sharing - split secrets into shares where any threshold can reconstruct the original. Implements GF(256) arithmetic for secure secret splitting. [📖 Docs](https://docs.bcts.dev/api/shamir) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-shamir-rust) |
Expand All @@ -69,14 +70,6 @@ bun playground
| [**uniform-resources**](packages/uniform-resources) | Uniform Resources (UR) - a method for encoding binary data as URIs for transport in QR codes and other text-based channels. Includes Bytewords encoding and fountain codes for multi-part transmission. [📖 Docs](https://docs.bcts.dev/api/uniform-resources) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-ur-rust) |
| [**xid**](packages/xid) | Extensible Identifiers (XID) - decentralized digital identity documents supporting keys, delegates, services, and provenance. Enables self-sovereign identity management with cryptographic verification. [📖 Docs](https://docs.bcts.dev/api/xid) \| [🦀 Rust](https://github.com/BlockchainCommons/bc-xid-rust) |

## 📡 Signal Protocol

| Package | Description |
|---------|-------------|
| [**double-ratchet**](packages/double-ratchet) | Signal Protocol Double Ratchet implementation — X3DH key agreement, session management, group messaging (Sender Keys), sealed sender, and incremental MAC. [📖 Docs](https://docs.bcts.dev/api/double-ratchet) \| [🦀 Rust](https://github.com/signalapp/libsignal/tree/main/rust) |
| [**spqr**](packages/spqr) | Signal's Sparse Post-Quantum Ratchet (SPQR) — ML-KEM based post-quantum key encapsulation with erasure coding for ratchet upgrades. [📖 Docs](https://docs.bcts.dev/api/spqr) \| [🦀 Rust](https://github.com/signalapp/SparsePostQuantumRatchet) |
| [**triple-ratchet**](packages/triple-ratchet) | Triple Ratchet protocol — extends the Double Ratchet with SPQR post-quantum ratchet steps for quantum-resistant end-to-end encryption. [📖 Docs](https://docs.bcts.dev/api/triple-ratchet) \| [🦀 Rust](https://github.com/signalapp/libsignal/tree/main/rust) |

## 💻 CLI Tools

| CLI | Description |
Expand All @@ -103,7 +96,4 @@ Found a vulnerability? We'd really appreciate you letting us know privately at *

## 📄 License

This project is dual-licensed:

- **Signal Protocol packages** are licensed under the [AGPL-3.0 License](./packages/double-ratchet/LICENSE).
- **All other packages** are licensed under the [BSD-2-Clause-Patent License](./LICENSE).
This project is licensed under the [BSD-2-Clause-Patent License](./LICENSE).
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bcts",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"private": true,
"description": "TypeScript implementations of Blockchain Commons specifications including dCBOR, Gordian Envelopes, Uniform Resources, SSKR, and other cryptographic standards",
"author": "Parity Technologies <[email protected]> (https://parity.io)",
Expand Down
2 changes: 1 addition & 1 deletion packages/components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bcts/components",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"type": "module",
"description": "A TypeScript implementation of Blockchain Commons cryptographic components. Supports key generation, signing, verification, encryption, and post-quantum cryptography.",
"license": "BSD-2-Clause-Patent",
Expand Down
2 changes: 1 addition & 1 deletion packages/crypto/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bcts/crypto",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"type": "module",
"description": "Blockchain Commons Cryptographic Utilities for TypeScript",
"license": "BSD-2-Clause-Patent",
Expand Down
2 changes: 1 addition & 1 deletion packages/dcbor-parse/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bcts/dcbor-parse",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"type": "module",
"description": "dCBOR Diagnostic Parser and Composer for TypeScript",
"license": "BSD-2-Clause-Patent",
Expand Down
2 changes: 1 addition & 1 deletion packages/dcbor-pattern/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bcts/dcbor-pattern",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"type": "module",
"description": "Pattern matching for dCBOR (Deterministic CBOR) for TypeScript",
"license": "BSD-2-Clause-Patent",
Expand Down
2 changes: 1 addition & 1 deletion packages/dcbor/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bcts/dcbor",
"version": "1.0.0-alpha.24",
"version": "1.0.0-beta.0",
"type": "module",
"description": "Blockchain Commons Deterministic CBOR (dCBOR) for TypeScript",
"license": "BSD-2-Clause-Patent",
Expand Down
19 changes: 0 additions & 19 deletions packages/double-ratchet/CHANGELOG.md

This file was deleted.

Loading
Loading