A Next.js-based client application for SSS (Shamir's Secret Sharing) wallet operations. Built with TypeScript and Tailwind CSS.
- Wallet Info: Display public key coordinates (X, Y)
- Message Signing: Sign user messages with digital signatures
- Signature Verification: Verify signature validity
- Real-time Updates: Instant display of signing results
- Frontend: Next.js 15.3.5, React 19
- Language: TypeScript
- Styling: Tailwind CSS
- Build Tool: Turbopack
- Node.js 18.0.0+
- Backend server running on http://localhost:8080
npm installnpm run devOpen http://localhost:3000 to view the application.
npm run build
npm startsss-wallet-client/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Main page
│ └── globals.css # Global styles
├── components/ # React components
│ ├── WalletInfo.tsx # Wallet info display
│ ├── SignForm.tsx # Message signing form
│ └── VerifyForm.tsx # Signature verification form
├── lib/ # Utilities and API
│ └── api.ts # Backend API functions
└── public/ # Static files
The client communicates with these backend endpoints:
GET /wallet- Get wallet public keyPOST /sign- Sign a messagePOST /verify- Verify a signature
- View Wallet Info: Check public key information at the top
- Sign Message:
- Enter message in "Message to sign" field
- Click "Sign" button
- View signature result below
- Verify Signature:
- Enter message, R, and S values
- Click "Verify" button
- See verification result
- Build error due to type mismatch between
lastSigstate inapp/page.tsxandonSignprop inSignForm - API calls will fail if backend server (http://localhost:8080) is not running
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License