# @transmute/vc-status-rl-2020

> ``` npm i @transmute/vc-status-rl-2020@latest --save ```

Latest version **0.7.0-unstable.82** (published 2023-12-06) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @transmute/vc-status-rl-2020
pnpm add @transmute/vc-status-rl-2020
yarn add @transmute/vc-status-rl-2020
bun add @transmute/vc-status-rl-2020
```

## Health

**Score 30/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.7.0-unstable.82 |
| Published | 2023-12-06 |
| First published | 2021-03-01 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=16 |
| Dependencies | 8 |
| Unpacked size | 366.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 55 |
| Author | Orie Steele |
| Maintainers | ipbyrne, or13, transmute-ci |

## Links

- npm: https://www.npmjs.com/package/@transmute/vc-status-rl-2020
- Repository: https://github.com/transmute-industries/verifiable-data
- Homepage: https://github.com/transmute-industries/verifiable-data/tree/main/packages/vc-status-rl-2020
- Issues: https://github.com/transmute-industries/verifiable-data/issues
- npm.io page: https://npm.io/package/@transmute/vc-status-rl-2020

## Dependencies (8)

- [@transmute/vc.js](https://npm.io/package/@transmute/vc.js.md) ^0.7.0-unstable.82
- [@transmute/did-context](https://npm.io/package/@transmute/did-context.md) ^0.7.0-unstable.82
- [@transmute/did-key-ed25519](https://npm.io/package/@transmute/did-key-ed25519.md) ^0.2.1-unstable.37
- [@transmute/security-context](https://npm.io/package/@transmute/security-context.md) ^0.7.0-unstable.82
- [@transmute/linked-data-proof](https://npm.io/package/@transmute/linked-data-proof.md) 0.2.1-unstable.10
- [@transmute/credentials-context](https://npm.io/package/@transmute/credentials-context.md) ^0.7.0-unstable.82
- [@transmute/compressable-bitstring](https://npm.io/package/@transmute/compressable-bitstring.md) ^0.7.0-unstable.82
- [@transmute/revocation-list-context](https://npm.io/package/@transmute/revocation-list-context.md) ^0.7.0-unstable.82

## Recent versions

- 0.7.0-unstable.82 (latest) — 2023-12-06
- 0.7.0-unstable.81 — 2023-06-10
- 0.7.0-unstable.80 — 2023-01-24
- 0.7.0-unstable.79 — 2023-01-17
- 0.7.0-unstable.78 — 2023-01-17
- 0.7.0-unstable.77 — 2022-12-16
- 0.7.0-unstable.76 — 2022-12-13
- 0.7.0-unstable.75 — 2022-12-09
- 0.7.0-unstable.74 — 2022-12-09
- 0.7.0-unstable.73 — 2022-12-06
- 0.7.0-unstable.72 — 2022-12-06
- 0.7.0-unstable.71 — 2022-11-28
- 0.7.0-unstable.70 — 2022-10-31
- 0.7.0-unstable.69 — 2022-10-31
- 0.7.0-unstable.68 — 2022-10-29
- … 113 more at https://npm.io/package/@transmute/vc-status-rl-2020/versions

## README

### @transmute/vc-status-rl-2020

```
npm i @transmute/vc-status-rl-2020@latest --save
```

## Usage

### Create a Verifiable Credential Revocation List Status

```ts
import { ld as vc } from '@transmute/vc.js';
import { createList, createCredential } from '@transmute/vc-status-rl-2020';
const id = 'https://example.com/status/2';
const list = await createList({ length: 100000 });
const verifiableCredentialStatusList = await vc.issue({
  credential: {
    ...(await createCredential({ id, list })),
    issuer: suite.key.controller,
    issuanceDate: '2021-03-01T01:16:12.860Z',
  },
  suite,
  documentLoader,
});
```

### Issue a Verifiable Credential with Revocation Status

```ts
const verifiableCredentialWithRevocationStatus = await vc.issue({
  credential: {
    '@context': [
      'https://www.w3.org/2018/credentials/v1',
      'https://w3id.org/vc-revocation-list-2020/v1',
    ],
    id: 'https://example.com/credenials/123',
    type: ['VerifiableCredential'],
    issuer: 'did:key:z6MkjdvvhidKavKoWwkdf4Sb8JkHTvnFUsGxvbmNMJUBPJs4',
    issuanceDate: '2021-03-01T01:16:12.860Z',
    credentialStatus: {
      id: 'https://example.com/status/2#0',
      type: 'RevocationList2020Status',
      revocationListIndex: '0',
      revocationListCredential: 'https://example.com/status/2',
    },
    credentialSubject: {
      id: 'did:example:123',
    },
  },
  suite,
  documentLoader,
});
```

### Revoke a Verifiable Credential with Revocation Status

```ts
import { ld as vc } from '@transmute/vc.js';
import { decodeList, createCredential } from '@transmute/vc-status-rl-2020';

const list = await decodeList(signedRevocationList2020.credentialSubject);
list.setRevoked(0, true); // set the status of an exiting credential to revoked.
const verifiableCredentialStatusList = await vc.issue({
  credential: {
    ...(await createCredential({
      id: signedRevocationList2020.id,
      list,
    })),
    issuer: suite.key.controller,
    issuanceDate: '2021-03-01T01:16:12.860Z',
  },
  suite,
  documentLoader,
});
// make sure to publish the updated list at the expected location,
// for example: https://example.com/status/2
```

## About

This module is based on / interoperable with [digitalbazaar/vc-revocation-list](https://github.com/digitalbazaar/vc-revocation-list).

---
_Source: https://npm.io/package/@transmute/vc-status-rl-2020 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
