Step 1: Install packagesnpm install @dialectlabs/sdk @dialectlabs/blockchain-sdk-solana
Step 2: Create a keypair for your appCreating a keypair is analogous to creating a username & password. It’s important to securely create and manage your keypair, as it will be used to access your Dialect account.
# Create new keypair
solana-keygen new -o <your-app-name>-messaging-keypair.json
# Get the public key
solana-keygen publickey <your-app-name>-messaging-keypair.json > app-pubkey.pub
Step 3: Set environment variable# Set your keypair as environment variable (use the array format from your keypair file)
export DIALECT_SDK_CREDENTIALS="[170,23,...,300]"
Step 4: Register programmaticallyimport { Dialect, DialectCloudEnvironment, DialectSdk, BlockchainType } from "@dialectlabs/sdk";
import {
Solana,
SolanaSdkFactory,
NodeDialectSolanaWalletAdapter,
} from "@dialectlabs/blockchain-sdk-solana";
const environment: DialectCloudEnvironment = "production"; // or "development"
// Create SDK instance
const sdk: DialectSdk<Solana> = Dialect.sdk(
{
environment,
},
SolanaSdkFactory.create({
// IMPORTANT: must set environment variable DIALECT_SDK_CREDENTIALS
// to your dapp's Solana keypair e.g. [170,23, . . . ,300]
wallet: NodeDialectSolanaWalletAdapter.create(),
})
);
// Register your app
const dapp = await sdk.dapps.create({
name: "My App Name",
description: "Brief description of what my app does",
blockchainType: BlockchainType.SOLANA,
});
console.log('App registered successfully:', dapp);
Always create a new wallet for each app. Never reuse existing wallet keypairs from other applications or personal wallets. This ensures proper security isolation and prevents unauthorized access to your notification system.
Keep your DIALECT_SDK_CREDENTIALS secure. This is your app’s private key and should never be exposed in client-side code or committed to version control.
Dialect’s database never stores your app’s private keys, only the public key.