pump-solana-wallet
Secure Solana wallet generation using official Solana Labs libraries — Ed25519 keypairs, memory zeroization, vanity address generation, offline-only operation, and multi-language implementations (Rust, TypeScript, Bash).
- License 许可
- MIT
- 最近更新
- 2026-08-01
- Stars
- ★ 2
- Forks
- 3
01 前言 Front Matter
- name
- pump-solana-wallet
- metadata
- { "solanaos": { "homepage": "https://github.com/nirholas/pump-fun-sdk", "requires": { "bins": [ "solana-keygen" ] } } }
- description
- Secure Solana wallet generation using official Solana Labs libraries — Ed25519 keypairs, memory zeroization, vanity address generation, offline-only operation, and multi-language implementations (Rust, TypeScript, Bash).
03 SKILL.md 正文
Solana Wallet — Key Generation & Security
Secure Solana wallet generation using official Solana Labs libraries with Ed25519 keys, memory zeroization, and offline-only operation. Three implementations: Rust (production), TypeScript (educational), and Bash (wrappers).
Approved Crypto Libraries
| Context | Library | Role |
|---|---|---|
| Rust | solana-sdk |
Keypair::new(), Signer trait, Base58 encoding |
| TypeScript | @solana/web3.js |
Keypair.generate(), Keypair.fromSecretKey() |
| Shell | solana-keygen |
grind (vanity), new (random), verify |
| MCP Server | @solana/web3.js |
Session keypair management in SolanaWalletMCPServer |
Address Format
- 32-byte Ed25519 public key encoded as Base58
- Length: 32–44 characters (typically 43–44)
- Case-sensitive alphabet:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
Vanity Address Difficulty
| Prefix Length | Expected Attempts | Time (100K/sec) |
|---|---|---|
| 1 char | ~58 | < 1 sec |
| 2 chars | ~3,364 | < 1 sec |
| 3 chars | ~195,112 | ~2 sec |
| 4 chars | ~11.3M | ~2 min |
| 5 chars | ~656M | ~2 hours |
Security Model (6 Defense Layers)
- CSPRNG only —
OsRng(Rust),crypto.getRandomValues(Node.js) - Official libraries — No third-party crypto
- Memory zeroization —
Zeroizetrait (Rust),buffer.fill(0)(TypeScript) - File permissions —
0o600owner-only - Offline operation — No network calls during key generation
- Post-generation verification — Re-derive public key from secret and compare
Memory Zeroization by Language
| Language | Mechanism |
|---|---|
| Rust | Zeroize trait + Drop impl, zeroize_on_drop |
| TypeScript | secretKey.fill(0) + Buffer.alloc(0) (best-effort, GC may relocate) |
| Shell | shred -u or rm -P for file cleanup |
Patterns to Follow
- ONLY use
solana-sdk,@solana/web3.js, orsolana-keygenfor crypto operations - Zero all key material as soon as it is no longer needed
- Set file permissions to
0o600immediately after writing keypair files - Never make network calls during key generation
- Verify every generated keypair: re-derive public key from secret and compare
Common Pitfalls
- JavaScript GC may copy/relocate buffers —
fill(0)is best-effort, not guaranteed solana-keygenoutput is [u8; 64] JSON array (32-byte secret + 32-byte public)- Base58 is NOT the same as Base64 — Solana uses a specific alphabet without
0OIl - Vanity matching must use raw Base58 — case-sensitive, no regex anchoring errors
04 同仓库更多 Skills
solana-dev
End-to-end Solana development playbook (Jan 2026). Prefer Solana Foundation framework-kit (@solana/client + @solana/react-hooks) for React/Next.js UI. Prefer @solana/kit for all new client/RPC/transaction code. When legacy dependencies require web3.js, isolate it behind @solana/web3-compat (or @solana/web3.js as a true legacy fallback). Covers wallet-standard-first connection (incl. ConnectorKit), Anchor/Pinocchio programs, Codama-based client generation, LiteSVM/Mollusk/Surfpool testing, and security checklists.
xurl
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
wurk-integration
WURK API integration for monetizing agents with x402 payments on Solana/Base - create social jobs, custom challenges, and agent help tasks
workflows
Manage application workflows including configuration, restart, and removal.
web-search
Search the web, fetch content, extract branding profiles, and capture screenshots from URLs. Use for real-time information, API documentation, current events, design matching, and visual reference.
weather
Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.