Introduction
MetaKeep JS is a lightweight SDK that can be used in any JavaScript/TypeScript browser
application. It can be used to integrate MetaKeep into your web applications
, browser extensions
, and more. Note that MetaKeep JS is not compatible with backend Node.js applications. Please use the APIs directly for backend applications.
Importing the library
Here's what a sample client-facing developer app might look like-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!--import metakeep js-->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/index.js"
integrity="sha256-dVJ6hf8zqdtHxHJCDJnLAepAyCCbu6lCXzZS3lqMIto="
crossorigin="anonymous">
</script>
</head>
</html>
Security Advisory
MetaKeep strongly recommends adding
integrity="sha256-dVJ6hf8zqdtHxHJCDJnLAepAyCCbu6lCXzZS3lqMIto="
tag to the<script>
tag used to import MetaKeep's client JS library. An example is given above.This ensures that even in the case when an end-user is in an insecure network, or if the CDN servers get compromised, the users are only running the javascript libraries officially signed by MetaKeep, mitigating any man-in-the-middle (MITM) attacks.
Alternatively, if you're using a node
based build system/app framework, you should install MetaKeep SDK
via npm. It looks something like-
$ npm install [email protected]
Initializing the library
Now that you've imported MetaKeep Client SDK
, in the javascript, you need to first initialize the SDK with the appId
. You can find appId
in the developer console. Here's an example-
/* Init SDK */
const sdk = new MetaKeep({
/* App id to configure UI */
appId: "9cc98bca-da35-4da8-8f10-655b3e51cb9e",
});
If you already have a signed-in user, you can provide the user's email address
or phone number
when initializing the MetaKeep SDK. This provides a native logged-in user experience when your app and MetaKeep SDK are interacting. If the user's identity is not provided, the SDK will ask the user for their email address
orphone number
when you perform the first SDK operation.
const sdk = new MetaKeep({
/* App id to configure UI */
appId: "9cc98bca-da35-4da8-8f10-655b3e51cb9e",
/* Signed in user's email address */
user: {
email: "[email protected]"
}
});
const sdk = new MetaKeep({
/* App id to configure UI */
appId: "9cc98bca-da35-4da8-8f10-655b3e51cb9e",
/* Signed in user's phone number in E164 format(https://en.wikipedia.org/wiki/E.164) */
user: {
phone: "+1206XXXXXXX"
}
});
Configuration options
Here are all possible configuration options supported by the SDK
Option | Description | Required |
---|---|---|
appId | This is the public app-id you get from the MetaKeep Developer Console. Use this to customize the look and feel of the MetaKeep wallet UI for your users. | Yes |
user | Use this to provide the email address or phone number of the signed-in user to create a seamless UI experience.If not specified, users will be asked for their identity. | No |
© Copyright 2024, Passbird Research Inc.