@hqlinhmmo/kahut-core
v1.0.0
Published
Super Smart Web3 SDK for blockchain gaming and pool management
Maintainers
Readme
Super Smart Backend SDK
A comprehensive TypeScript SDK for server-side blockchain gaming operations, providing core functionality for pool management, user verification, and smart contract interactions.
Package Information
- Name:
@hqlinhmmo/kahoot-core - Version: 0.0.0-development
- Description: Super Smart Web3 SDK for blockchain gaming and pool management
Features
- 🔧 Server Operations: Full-featured server-side SDK for backend operations
- 🔐 Worldcoin Verification: Server-side verification of Worldcoin authentication
- 🎮 Pool Management: Create, manage, and close gaming pools
- 🎫 Ticket Operations: Mint and manage gaming tickets
- 🏆 Reward Distribution: Automated reward calculation and distribution
- 📊 Game Analytics: Track game statistics and user performance
- 🔒 Security: Secure private key management and transaction signing
Installation
npm install @hqlinhmmo/kahoot-coreQuick Start
import SuperSmartSDK from "@hqlinhmmo/kahoot-core";
const serverSDK = new SuperSmartSDK({
isProduction: false,
superSmartContractAddress: "0x...",
miniappId: "your-miniapp-id",
privateKey: "your-private-key", // Required for server operations
});
// Create a new pool
await serverSDK.openPool({
startTime: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now
endTime: Math.floor(Date.now() / 1000) + 7200, // 2 hours from now
ticketPrice: BigInt(1000000000000000000), // 1 ETH in wei
fee: 500, // 5% fee (500 basis points)
rewardStructure: [5000, 3000, 2000], // Winner gets 50%, 2nd gets 30%, 3rd gets 20%
});
// Finish a game
await serverSDK.finishGame({
poolId: BigInt(1),
player: "0x...",
startTime: Math.floor(Date.now() / 1000),
endTime: Math.floor(Date.now() / 1000) + 3600,
correctAnswer: "correct-answer",
score: 95,
});API Reference
SuperSmartSDK
Constructor
new SuperSmartSDK({
isProduction: boolean;
superSmartContractAddress: string;
miniappId: string;
privateKey?: string;
})Methods
verifyLogin(payload, nonce): Verify Worldcoin loginopenPool(params): Create a new gaming poolclosePool(poolId: bigint): Close an existing poolverifyJoinPool(poolId: bigint, userAddress: string): Check if user joined poolfinishGame(params): Complete a game and distribute rewardsmintTickets(to: string, amount: bigint): Mint tickets for a user
Configuration
Environment Variables
# Required for server operations
PRIVATE_KEY=your-private-key
# Optional: Custom RPC URLs
RPC_URL_MAINNET=https://mainnet.infura.io/v3/your-key
RPC_URL_TESTNET=https://sepolia.infura.io/v3/your-keyNetwork Configuration
The SDK supports both mainnet and testnet configurations:
- Mainnet: Ethereum mainnet with production settings
- Testnet: Sepolia testnet for development and testing
Core Functionality
Pool Management
- Create gaming pools with customizable parameters
- Set ticket prices and fee structures
- Configure reward distribution
- Manage pool lifecycle (open/close)
Game Operations
- Track game participation
- Validate user eligibility
- Process game completion
- Distribute rewards automatically
Security Features
- Private key management
- Transaction signing
- Worldcoin verification
- Secure contract interactions
Requirements
- Node.js >= 18.0.0
- TypeScript >= 5.0.0
- Private key for server operations
Dependencies
viem: Ethereum interaction libraryethers: Ethereum utilitiesaxios: HTTP client for API calls
Build
# Build ESM version
npm run build:esm
# Build CommonJS version
npm run build:cjs
# Build both versions
npm run build
# Clean build directory
npm run cleanLicense
MIT
Support
For support and questions, please open an issue on our GitHub repository.
Contributing
Contributions are welcome! Please read our contributing guidelines and submit pull requests to our GitHub repository.
