# @hyperledger/anoncreds-shared

> Anoncreds wrapper library with NodeJS and React Native

Latest version **0.4.0** (published 2026-04-01) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @hyperledger/anoncreds-shared
pnpm add @hyperledger/anoncreds-shared
yarn add @hyperledger/anoncreds-shared
bun add @hyperledger/anoncreds-shared
```

## Health

**Score 50/100 (C)** — status: active.

Positive: no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; no esm support; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2026-04-01 |
| First published | 2023-01-26 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Maintainers | hyperledger-lf, hyperledger-ghci, openwalletfoundation, lfdt-npm, rafaelapb |

## Links

- npm: https://www.npmjs.com/package/@hyperledger/anoncreds-shared
- Repository: https://github.com/anoncreds/anoncreds-wrapper-javascript
- Homepage: https://github.com/anoncreds/anoncreds-wrapper-javascript/tree/main/packages/anoncreds-shared
- Issues: https://github.com/anoncreds/anoncreds-wrapper-javascript/issues
- npm.io page: https://npm.io/package/@hyperledger/anoncreds-shared

## Recent versions

- 0.4.0 (latest) — 2026-04-01
- 0.4.1-alpha-20260924102630 (alpha) — 2026-09-24
- 0.4.1-alpha-20260609124337 — 2026-06-09
- 0.4.1-alpha-20260609124055 — 2026-06-09
- 0.4.1-alpha-20260519194331 — 2026-05-19
- 0.4.1-alpha-20260401185902 — 2026-04-01
- 0.4.0-alpha-20260327110255 — 2026-03-27
- 0.4.0-alpha-20260327105745 — 2026-03-27
- 0.4.0-alpha-20260327071141 — 2026-03-27
- 0.4.0-alpha-20260302110120 — 2026-03-02
- 0.4.0-alpha-20260212144625 — 2026-02-12
- 0.4.0-alpha-20260212142546 — 2026-02-12
- 0.3.5-alpha-20260107085331 — 2026-01-07
- 0.3.5-alpha-20251114202656 — 2025-11-14
- 0.3.4 — 2025-11-14
- … 48 more at https://npm.io/package/@hyperledger/anoncreds-shared/versions

## README

# Anoncreds Shared

This package does not contain any functionality, just the classes and types
that wrap around the native NodeJS / React Native functionality

## General setup

Every object can be created by calling `create` on the class as a static
method. This returns an instance of the class which contains a handle
to an internal object inside the `anoncreds-rs` library. This handle can
be turned into json by calling `toJson()` on the object.

```typescript
import { Schema } from '@hyperledger/anoncreds-nodejs'

const schema = Schema.create({
  name: 'test',
  version: '1.0',
  issuerId: 'mock:uri',
  attributeNames: ['name', 'age', 'address']
})

// JSON representation
const schemaJson = schema.toJson()

// This can be used as a deconstructor to clear the internal reference to
// the anoncreds object
schema.handle.clear()
```

## Platform independent setup

If you would like to leverage the anoncreds libraries for JavaScript in a platform independent way you need to add the `@hyperledger/anoncreds-shared` package to your project. This package exports all public methods.

Before calling any methods you then need to make sure you register the platform specific native bindings. You can do this by importing the platform specific package. You can do this by having separate files that register the package, which allows the React Native bundler to import a different package:

```typescript
// register.ts
import '@hyperledger/anoncreds-nodejs'
```

```typescript
// register.native.ts
import '@hyperledger/anoncreds-react-native'
```

An alterative approach is to first try to require the Node.JS package, and otherwise require the React Native package:

```typescript
try {
  require('@hyperledger/anoncreds-nodejs')
} catch (error) {
  try {
    require('@hyperledger/anoncreds-react-native')
  } catch (error) {
    throw new Error('Could not load anoncreds bindings')
  }
}
```

How you approach it is up to you, as long as the native binding are called
before any actions are performed on the anoncreds library.

---
_Source: https://npm.io/package/@hyperledger/anoncreds-shared · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
