@civic/profile
v0.5.2
Published
Civic Profile SDK
Downloads
324
Maintainers
Keywords
Readme
Civic Profile SDK
A library for accessing a user's civic.me profile on Civic's identity-store backend.
Usage
import { CivicProfile, Profile } from "@civic/profile";
// Query using a wallet address, DID, or ETH or SNS name
const profile: Profile = await CivicProfile.get("query");
// wallet information
profile.address
profile.did
// access profile information if available
profile.name;
profile.headline;
// access social identifiers linked to the profile:
profile.identifiers;
// access other wallets linked to the profile:
profile.linkedWallets;
Options
Solana connection
A Solana connection or Ethereum provider can be passed to the library as follows:
const profile = await CivicProfile.get("query", { solana: { connection }, ethereum: { provider } });
Civic backend endpoint
By default, Civic's production endpoint for the identity-store is used:
https://api.civic.com/identity-store
A different one can be passed in:
const profile = await CivicProfile.get("query", { civicIdentityStoreEndpoint: 'https://example.com' });
Examples
The below queries will all return the same profile - connected to the "civic.me" account:
// Query using DID
CivicProfile.get("did:sol:9KKaBPxD9mYxLcsrBjdvChcchxSf6hRsQxfUpCbsuaDJ");
// Query using SOL address
CivicProfile.get("9KKaBPxD9mYxLcsrBjdvChcchxSf6hRsQxfUpCbsuaDJ");
// Query using SNS address
CivicProfile.get("civicme.sol");
// Query using ethereum address
CivicProfile.get("0x964617b2d933c6e5c6c1B30681DCAee23Baa9836");
// Query using ENS address
CivicProfile.get("civic-me.eth");
Obtaining Civic passes
import { CivicProfile, GatewayToken } from "@civic/profile";
// Query using a wallet address, did or SNS name
const profile = await CivicProfile.get("query");
const passOptions: PassOptions = {
includeExpired: true,
};
const passes: GatewayToken[] = await profile.getPasses(passOptions);