Skip to content

iscc/iscc-core-ts

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iscc-core-ts

Tests

TypeScript implementation of iscc-core python reference

Project summary

The “ISCC-CORE typescript implementation library” goal is to implement core functions of the new ISCC standard ISO 24138:2024 in Typescript programming language. This typescript core library will be useful for the javascript ecosystem and developers ( frontend, backend ) to use and work with this new standard in their project.

The ISCC stands for “International Standard Content Code”. More detail at https://iscc.codes/

The ISCC is a similarity preserving fingerprint and identifier for digital media assets.

ISCCs are generated algorithmically from digital content, just like cryptographic hashes. However, instead of using a single cryptographic hash function to identify data only, the ISCC uses various algorithms to create a composite identifier that exhibits similarity-preserving properties (soft hash).

The component-based structure of the ISCC identifies content at multiple levels of abstraction. Each component is self-describing, modular, and can be used separately or with others to aid in various content identification tasks. The algorithmic design supports content deduplication, database synchronization, indexing, integrity verification, timestamping, versioning, data provenance, similarity clustering, anomaly detection, usage tracking, allocation of royalties, fact-checking and general digital asset management use-cases.

Implementation Status

Function Status Reference Coverage
gen_meta_code_v0 ✓ Done 16/16 tests
gen_text_code_v0 ✓ Done 5/5 tests
gen_image_code_v0 ✓ Done 3/3 tests
gen_audio_code_v0 ✓ Done 5/5 tests
gen_video_code_v0 ✓ Done 3/3 tests
gen_mixed_code_v0 ✓ Done 2/2 tests
gen_data_code_v0 ✓ Done 4/4 tests
gen_instance_code_v0 ✓ Done 3/3 tests
gen_iscc_code_v0 ✓ Done 5/5 tests
gen_iscc_id_v0 ✓ Done 15 tests
gen_iscc_id_v1 ✓ Done 15 tests
gen_flake_code_v0 ✓ Done

Prerequisites

With mise (recommended)

We recommend mise to manage tool versions. A mise.toml is included in the repo.

mise install      # installs Node 22 LTS
mise run install   # npm install
mise run test      # run all tests
mise run typecheck # tsc type checking

Without mise

Install Node.js v22 LTS (or use nvm):

nvm install 22
nvm use 22

Install and build

npm install
npm run build

Tests

npm run test

Expected tests result:

Test Suites: 18 passed, 18 total
Tests:       263 passed, 263 total

Documentation

  • Generate Typedoc documentation in./docs/generated/iscc-core-ts/ with command:
npm run make:docs/reference
  • Reference python implementation is available here
  • Reference standard documentation is available here
  • Examples (React, Svelte, Vite, Node.js) — see examples/README.md

Funding

This project is funded through NGI Zero Core, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo           NGI Zero Logo

About

TypeScript implementation of iscc-core reference

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 99.5%
  • JavaScript 0.5%