@portkey-v1/did v1.5.4-alpha.22
Prerequisites
Package.json Scripts
| Script | Description | 
|---|---|
| clean | Uses rmto removedist/ | 
| build | Uses tscto build package and dependent packages | 
| lint | Uses eslintto lint package | 
| lint:fix | Uses eslintto check and fix any warnings | 
| format | Uses prettierto format the code | 
Getting Started
The @portkey-v1/did library is a collection of modules that contain functionality for the did ecosystem.
- @portkey-v1/accountsis for the portkey account.
- @portkey-v1/utilsis for the portkey utils.
- @portkey-v1/contractsis for the portkey contracts.
- @portkey-v1/graphqlis for the portkey graphql.
- @portkey-v1/requestis for the portkey request.
- @portkey-v1/typesis for the portkey types.
- @portkey-v1/utilsis for the portkey utils.
- @portkey-v1/validatoris for the portkey validator.
Installation
Using NPM
npm install @portkey-v1/didUsing Yarn
yarn add @portkey-v1/didAfter that you need configure did server node、graphQL node、storage suite.
class Store implements IStorageSuite {
  async getItem(key: string) {
    return localStorage.getItem(key);
  }
  async setItem(key: string, value: string) {
    return localStorage.setItem(key, value);
  }
  async removeItem(key: string) {
    return localStorage.removeItem(key);
  }
}
did.setConfig({
  requestDefaults: {
    baseURL: 'your did server node',
    timeout: 'timeout', // optional default 8000ms
  },
  graphQLUrl: 'your graphQL node',
  storageMethod: new Store(),
});That’s it! now you can use the did object.
@portkey-v1/did API Reference
did.setConfig
Where you configure did server node, graphQL node, storage suite.
did.setConfig({
  requestDefaults: {
    baseURL: 'you did server node',
    timeout: 'timeout', // optional default 8000ms
  },
  graphQLUrl: 'your graphQL node',
  storageMethod: 'your storage suite',
});did.login
type: loginAccount
Email or mobile phone number or Google or Apple login.
did.login(type: 'loginAccount', params: AccountLoginParams): Promise<LoginResult>;Example
did.login('loginAccount', {
  chainId: 'chainId',
  loginGuardianIdentifier: 'loginGuardianIdentifier',
  guardiansApproved: [
    {
      type: 'Email',
      identifier: 'identifier',
      verifierId: 'verifierId',
      verificationDoc: 'verificationDoc',
      signature: 'signature',
    },
  ],
  extraData: 'extraData',
  context: {
    requestId: 'requestId',
    clientId: 'clientId',
  },
});type: scan
Logged in management to add management.
login(type: 'scan', params: ScanLoginParams): Promise<true>;Example
did.login('scan',{
  chainId: 'chainId',
  caHash: 'caHash',
  managerInfo: {
    address: 'address',
    extraData: 'extraData'
  };
})getLoginStatus
getLoginStatus(params: { chainId: ChainId; sessionId: string }): Promise<RecoverStatusResult>;Example
did.getLoginStatus({
  chainId: 'chainId',
  sessionId: 'sessionId',
});logout
logout(params: EditManagerParams): Promise<boolean>;Example
did.logout({ chainId: 'chainId' });register
register(params: Omit<RegisterParams, 'manager'>): Promise<RegisterResult>;Example
did.register({
  type: 'Email',
  loginGuardianIdentifier: 'loginGuardianIdentifier',
  extraData: 'extraData',
  chainId: 'chainId',
  verifierId: 'verifierId',
  verificationDoc: 'verificationDoc',
  signature: 'signature',
  context: {
    requestId: 'requestId',
    clientId: 'clientId',
  },
});getRegisterStatus
getRegisterStatus(params: { chainId: ChainId; sessionId: string }): Promise<RegisterStatusResult>;Example
did.getRegisterStatus({
  chainId: 'chainId',
  sessionId: 'sessionId',
});getHolderInfo
getHolderInfo by graphQL.
getHolderInfo(params: Pick<GetHolderInfoParams, 'manager' | 'chainId'>): Promise<GetCAHolderByManagerResult>;Example
did.getHolderInfo({
  manager: 'manager', // optional
  chainId: 'chainId',
});getHolderInfo by server.
getHolderInfo(params: Omit<GetHolderInfoParams, 'manager'>): Promise<IHolderInfo>;Example
did.getHolderInfo({
  caHash: 'caHash', // loginGuardianIdentifier and caHash choose one
  loginGuardianIdentifier: 'loginGuardianIdentifier', // loginGuardianIdentifier and caHash choose one
  chainId: 'chainId',
});getVerifierServers
Get the VerifierServer information of the corresponding chain.
getVerifierServers(chainId: ChainId): Promise<VerifierItem[]>;Example
did.getVerifierServers({
  chainId: 'chainId',
});check manager is exist
Check whether the manager has management permissions for the account.
checkManagerIsExist(params:{chainId: ChainId, caHash:string, manager:string}): Promise<boolean>;Example
did.checkManagerIsExist({
  chainId: 'chainId',
  caHash: 'caHash',
  manager: 'manager'
});services
services.getVerificationCode
send verification code.
getVerificationCode(params: SendVerificationCodeRequestParams): Promise<SendVerificationCodeResult>;Example
did.services.getVerificationCode({
  params: {
    chainId: 'chainId',
    guardianIdentifier: 'guardianIdentifier',
    type: 'Email',
    verifierId: 'verifierId',
    operationType: 'operationType',
  },
  headers: {
    reCaptchaToken: 'reCaptchaToken',
  },
});services.verifyVerificationCode
verify verification code.
verifyVerificationCode(params: VerifyVerificationCodeParams): Promise<VerifyVerificationCodeResult>;Example
did.services.verifyVerificationCode({
  verifierSessionId: 'verifierSessionId',
  chainId: 'chainId',
  guardianIdentifier: 'guardianIdentifier',
  verifierId: 'verifierId',
  verificationCode: 'verificationCode',
  operationType: 'operationType',
});services.verifyGoogleToken
verify Google token.
verifyGoogleToken(params: VerifyGoogleTokenParams): Promise<VerifyVerificationCodeResult>;Example
did.services.verifyGoogleToken({
  chainId: 'chainId',
  accessToken: 'accessToken',
  verifierId: 'verifierId',
  operationType: 'operationType',
});services.verifyAppleToken
verify Apple token.
verifyAppleToken(params: VerifyAppleTokenParams): Promise<VerifyVerificationCodeResult>;Example
did.services.verifyAppleToken({
  chainId: 'chainId',
  verifierId: 'verifierId',
  identityToken: 'identityToken',
  operationType: 'operationType',
});services.sendAppleUserExtraInfo
send Apple user extra info.
sendAppleUserExtraInfo(params: SendAppleUserExtraInfoParams): Promise<SendAppleUserExtraInfoResult>;Example
did.services.sendAppleUserExtraInfo({
  identityToken: 'identityToken',
  userInfo: {
    name: {
      firstName: 'firstName',
      lastName: 'lastName',
    },
    email: 'email',
  },
});2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago