1.1.0 • Published 1 year ago
@okto_web3/core-js-sdk
Licence
—
Version
1.1.0
Deps
8
Size
1.7 MB
Vulns
0
Weekly
0
@okto_web3/core-js-sdk
Core JavaScript SDK for Web3 operations and blockchain interactions - Build powerful Web3 applications with ease.
Features
Authentication & Security
- Multi-channel authentication (OAuth, Email, WhatsApp)
- Social login integration
- JWT-based secure sessions
- Advanced error handling
Blockchain Operations
- NFT transfers and minting
- Token operations
- Collection management
- EIP-4337 compliant UserOps
Explorer Functions
- Account management
- Multi-chain support
- Transaction history
- Portfolio tracking
- Token & NFT management
Installation
# Using npm
npm install @okto_web3/core-js-sdk
# Using yarn
yarn add @okto_web3/core-js-sdk
# Using pnpm
pnpm install @okto_web3/core-js-sdk
Quick Start
import { OktoClient } from '@okto_web3/core-js-sdk';
// Initialize client
const client = new OktoClient({
environment: 'sandbox', // or 'production'
clientPrivateKey: 'your-private-key',
clientSWA: 'your-client-swa',
});
Authentication Methods
// Email authentication
await client.sendOTP(email, 'email');
await client.loginUsingEmail(email, otp, token);
// Social login
await client.loginUsingSocial('google', {
state: 'custom-state',
windowHandler: customWindow,
});
// WhatsApp authentication
await client.sendOTP(phoneNumber, 'whatsapp');
await client.loginUsingWhatsApp(phoneNumber, otp, token);
Blockchain Operations
// Token operations
const userOp = await client.tokenTransfer(transferData);
const signedOp = await client.signUserOp(userOp);
await client.executeUserOp(signedOp);
// NFT operations
await client.nftTransfer(nftData);
await client.nftMint(mintData);
// Message signing
await client.signMessage(message);
await client.signTypedData(typedData);
Explorer Functions
// Account & portfolio
const account = await client.getAccount();
const portfolio = await client.getPortfolio();
const tokens = await client.getTokens();
const nfts = await client.getNftCollections();
// Transaction history
const history = await client.getOrdersHistory();
const chains = await client.getChains();
Error Handling
import { RpcError, AuthError } from '@okto_web3/core-js-sdk/errors';
try {
await client.executeUserOp(userOp);
} catch (error) {
if (error instanceof RpcError) {
console.error('RPC Error:', error.message);
} else if (error instanceof AuthError) {
console.error('Authentication Error:', error.message);
}
}
Environment Configuration
const config = {
// Development environment
environment: 'sandbox',
clientPrivateKey: process.env.SANDBOX_PRIVATE_KEY,
clientSWA: process.env.SANDBOX_SWA,
};
// Production environment
const prodConfig = {
environment: 'production',
clientPrivateKey: process.env.PROD_PRIVATE_KEY,
clientSWA: process.env.PROD_SWA,
};
Documentation
For detailed documentation and guides, visit: