Skip to content
This repository has been archived by the owner on May 6, 2018. It is now read-only.
/ js-iprs-record Public archive

JavaScript IPFS record class implementation

License

Notifications You must be signed in to change notification settings

libp2p/js-iprs-record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iprs-record JavaScript implementation

[ Build Status](https://travis-ci.org/diasdavid/js-iprs-record) Dependency Status js-standard-style

JavaScript IPRS Record implementations follows specification(IPRS) implementation

Disclaimer: This module is way out of date there will be 🐉🐉

Description

Usage

Example record

// Record is a IPLD object
{
  '@context': {
    mlink: 'http://merkle-link'
  },
  scheme: {
    mlink: <hash to validity scheme or identifier for hard coded validity scheme>
  },
  expires: <data>, // datetime at which record expires
  value: <data>, // the data that this Record Stores
}

Record types

A record type should be identified by its validity scheme and a record validity scheme should be a MerkleDAG object containing its validity checking rules, however, for simplicity, we have developed 4 types of records, in which their validity schemes are hardcoded in this module. To identify which validity scheme to use, we use a enum:

  • a - signed, valid within a datetime range
  • b - signed, expiring after a Time-To-Live
  • c - signed, based on ancestry (chain)
  • d - signed, with cryptographic freshness

Reference: https://github.com/ipfs/specs/tree/master/iprs/README.md#example-record-types