@privy-io/privy-node
Privy's Node client allows you to interact with the Privy API from server-side Node applications.
For interacting with user data in the browser, use @privy-io/privy-browser.
https://www.privy.io
Documentation
See https://docs.privy.io/.
Requirements
Node 14 and higher is supported.
Installation
npm i @privy-io/privy-node
Basic usage
Initialize the Privy client using a session that can fetch tokens from Privy through your backend.
import {PrivyClient} from '@privy-io/privy-node';
const client = new PrivyClient(
process.env.PRIVY_API_KEY,
process.env.PRIVY_API_SECRET,
);
Using the Privy node client, configure your Privy datastore.
const fields = await client.listFields();
const field = await client.createField({name: name, description: 'A field'});
await client.deleteAccessGroup(accessGroupId);
const permissions = await client.getUserPermissions(userId);
Using privy-node
, you can also read and write some data for a given user.
const userId = "0x123";
const [email, ssn] = await client.put(userId, [
{field: "email", value: "foo@example.com"},
{field: "ssn", value: "123-45-6789"},
]);
const [email, ssn] = await client.get(userId, ["email", "ssn"]);
console.log(email.text());
console.log(ssn.text());
Testing
The test runner looks for files with a .test.ts
extension. There are two groups of tests: unit and integration.
Unit
To run unit tests:
npm test
Integration
Some of the tests are currently expected to be run against a running instance of the API. To successfully run those, you will need to create a .env
file in the root of ./privy-node
with the following fields:
PRIVY_API_URL=<privy api url>
PRIVY_KMS_URL=<privy kms url>
PRIVY_API_KEY=<your public key>
PRIVY_API_SECRET=<your private key>
To run integration tests:
npm run test-integration