Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Educational single-threaded TypeScript vanity address generator for Solana using @solana/web3.js with async iteration, event-loop yielding, streaming generator API, and best-effort memory zeroization.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Single-threaded TypeScript vanity address generator using @solana/web3.js with async iteration, event-loop yielding, and streaming generator API.
CLI / Library API
│
VanityGenerator
│
async generator loop
│
Keypair.generate() per iteration
│
AddressMatcher.matches()
│
yield on match / yield progress
// 1. Async generator (streaming)
for await (const result of generateVanityAddress({ prefix: 'pump' })) {
console.log(result.address);
break; // stop after first match
}
// 2. First match (promise)
const result = await findVanityAddress({ prefix: 'pump' });
// 3. Batch generation
const results = await findVanityAddresses({ prefix: 'So', count: 5 });
async function* generateVanityAddress(config: VanityConfig) {
let attempts = 0;
while (true) {
attempts++;
if (attempts % 1000 === 0) {
await new Promise(resolve => setImmediate(resolve));
}
const keypair = Keypair.generate();
const address = keypair.publicKey.toBase58();
if (matcher.matches(address)) {
yield { keypair, address, attempts };
}
}
}
Yields to the event loop every 1,000 iterations to prevent blocking.
| Feature | Rust | TypeScript |
|---|---|---|
| Speed | 100K+ keys/sec | ~5K keys/sec |
| Parallelism | Rayon (multi-core) | Single-threaded |
| Memory safety | Zeroize trait | Best-effort fill(0) |
| Use case | Production | Educational/prototyping |
// Zeroize secret key after use
const secretKey = keypair.secretKey;
try {
// ... use keypair
} finally {
secretKey.fill(0);
}
JavaScript's garbage collector may copy/relocate buffers, so fill(0) is best-effort.
@solana/web3.js Keypair.generate() — never custom RNGsecretKey.fill(0) after use (best-effort zeroization)setImmediate or setTimeout(0) for yielding, not process.nextTickfill(0) — no guaranteed memory cleanup in JSKeypair.generate() returns 64-byte array (32 secret + 32 public)아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks SolanaOS to add a note, list notes, search notes, or manage note folders.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create, search, and manage Bear notes via grizzly CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
BluOS CLI (blu) for discovery, playback, grouping, and volume.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.