Installation
Package Manager
bash
npm install @vortum/sdkbash
pnpm add @vortum/sdkbash
yarn add @vortum/sdkRequirements
- Node.js 18+ or modern browser
- TypeScript 5.0+ (recommended)
Basic Setup
typescript
import { VortumClient } from '@vortum/sdk'
// Create a client instance (browser only)
const client = await VortumClient.create()
// Returns null on server-side
if (!client) {
console.log('SDK only works in browser')
}Configuration Options
typescript
const client = await VortumClient.create({
// Custom canister ID (for local development)
canisterId: 'bkyz2-fmaaa-aaaaa-qaaaq-cai',
// Custom host
host: 'http://localhost:4943',
})| Option | Type | Default | Description |
|---|---|---|---|
canisterId | string | Production ID | Backend canister ID |
host | string | https://icp0.io | IC host URL |
Browser Usage
The SDK is designed for browser environments:
html
<script type="module">
import { VortumClient } from '@vortum/sdk'
const client = await VortumClient.create()
// Initialize auth state (restores existing session)
await client.auth.initAuth()
if (client.isAuthenticated()) {
console.log('Logged in as:', client.getPrincipal())
} else {
await client.auth.loginWithII()
}
</script>State Management
Subscribe to authentication state changes:
typescript
const client = await VortumClient.create()
// Subscribe to state changes
const unsubscribe = client.subscribe(() => {
console.log('Authenticated:', client.isAuthenticated())
console.log('Principal:', client.getPrincipal())
})
// Later, stop listening
unsubscribe()