Legalities
By downloading, installing, or implementing any of the idOS' SDKs, you acknowledge that you have read and understood idOS' Privacy Policy and Transparency Document.
| Folder | Contents |
|---|---|
π consumer |
idOS JavaScript SDK for consumers |
π issuer |
idOS JavaScript SDK for issuers |
π client |
idOS JavaScript SDK for browser environments |
| Folder | Contents |
|---|---|
π idos-data-dashboard |
Interface for users to visualize and manage their idOS profile. Deployed at https://dashboard.idos.network/. |
π idos-enclave |
A secure browser context for password input, key derivation, encryption, and decryption. |
Get client NPM packages and consumer NPM packages and its dependencies with pnpm or the equivalent of your package manager of choice:
pnpm add @idos-network/client @idos-network/consumer ethers near-api-jsimport { createIDOSClient, type idOSClient } from "@idos-network/client";
// Connect your user's wallet however you do it today, for example:
const provider = new ethers.BrowserProvider(window.ethereum);
await provider.send("eth_requestAccounts", []);
const signer = await provider.getSigner();
// Initialize the SDK
let idOSClient = createIDOSClient({
enclaveOptions: { container: "#idOS-container" },
});
idOSClient = await idOSClient.withUserSigner(signer);
// Overview of user's credentials
const credentials = await idOSClient.getAllCredentials();
console.log(credentials);
// [{ id: "4f4d...", issuer: "Fractal ID", type: "KYC"}, ...]More details on https://github.com/idos-network/idos-sdk-js/tree/main/docs.
- Node.js (see
.node-versionfor the exact version) - pnpm v10+ (enforced via the
packageManagerfield inpackage.json)
git clone https://github.com/idos-network/idos-sdk-js.git
cd idos-sdk-js
pnpm installA pre-commit hook (via Lefthook) is installed automatically on pnpm install. It runs formatting and linting on staged files before each commit.
| Command | Description |
|---|---|
pnpm dev |
Start all apps in development mode |
pnpm build |
Build all packages and apps |
pnpm build:packages |
Build only the packages under packages/ |
pnpm test |
Run unit tests |
pnpm typecheck |
Run TypeScript type checking |
Formatting is handled by oxfmt and linting by oxlint, both from the Oxc project.
| Command | Description |
|---|---|
pnpm format:fix |
Format the codebase |
pnpm format |
Check formatting (no writes) |
pnpm lint:fix |
Lint and auto-fix issues |
pnpm lint |
Check for lint errors |
pnpm turbo run quality |
Run both format and lint checks in parallel |
This monorepo uses Changesets for versioning and publishing packages to npm. All @idos-network/* packages are versioned together (fixed versioning).
When making changes to any package under packages/, add a changeset before opening your PR:
pnpm changesetFollow the prompts to select the affected packages and the semver bump type (patch / minor / major). This creates a markdown file in .changeset/ β commit it with your PR.
For PRs that don't need a release (tests, docs, tooling), run:
pnpm changeset --emptyCI will block PRs that touch packages without a changeset.
Publishing is fully automated:
- When PRs with changesets are merged to
main, a "chore: update versions" PR is automatically created (or updated) with bumped versions and changelogs. - Merging that PR publishes all packages to npm.
License inventory workflow and local ORT usage are documented in
ort-config/README.md.
Please follow the process outlined here: https://github.com/idos-network/.github/blob/main/profile/README.md