npm package: @hqlinhmmo/kahut-core
Description: Super Smart Web3 SDK for blockchain gaming and pool management
Author: Super Smart Team
Latest version: 1.0.0

# 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

```bash
npm install @hqlinhmmo/kahoot-core
```

## Quick Start

```typescript
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

```typescript
new SuperSmartSDK({
  isProduction: boolean;
  superSmartContractAddress: string;
  miniappId: string;
  privateKey?: string;
})
```

#### Methods

- `verifyLogin(payload, nonce)`: Verify Worldcoin login
- `openPool(params)`: Create a new gaming pool
- `closePool(poolId: bigint)`: Close an existing pool
- `verifyJoinPool(poolId: bigint, userAddress: string)`: Check if user joined pool
- `finishGame(params)`: Complete a game and distribute rewards
- `mintTickets(to: string, amount: bigint)`: Mint tickets for a user

## Configuration

### Environment Variables

```bash
# 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-key
```

### Network 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 library
- `ethers`: Ethereum utilities
- `axios`: HTTP client for API calls

## Build

```bash
# 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 clean
```

## License

MIT

## Support

For support and questions, please open an issue on our [GitHub repository](https://github.com/hqlinh-mmo/super-smart-web3/issues).

## Contributing

Contributions are welcome! Please read our contributing guidelines and submit pull requests to our [GitHub repository](https://github.com/hqlinh-mmo/super-smart-web3).