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.
日本語の概要は準備中です。原文の説明を表示しています。
Production-grade multi-threaded Rust vanity address generator for Solana — 100K+ keys/sec using Rayon parallel iterators with solana-sdk, Base58 pattern matching, prefix/suffix support, security-hardened file output, and Criterion benchmarks.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Production-grade Rust binary achieving 100K+ keys/sec using Rayon parallel iterators with security-hardened file output and Solana CLI compatibility.
CLI Args ──► VanityConfig ──► VanityGenerator
│
Rayon par_iter
┌─────┼─────┐
Thread Thread Thread ...
│ │ │
Keypair::new() per iteration
│ │ │
Base58 encode + match
│ │ │
└─────┼─────┘
│
AtomicBool found
│
SecureOutput (0o600)
| Argument | Description |
|---|---|
--prefix | Required Base58 prefix to match |
--suffix | Optional Base58 suffix |
--output | Output file path (default: stdout) |
--threads | Number of threads (default: all CPUs) |
struct VanityConfig {
prefix: String,
suffix: Option<String>,
output: Option<PathBuf>,
threads: Option<usize>,
}
struct GeneratedAddress {
keypair: Keypair,
address: String,
attempts: u64,
}
fn generate(config: &VanityConfig) -> Result<GeneratedAddress> {
let found = AtomicBool::new(false);
let result = (0..num_cpus::get())
.into_par_iter()
.find_map_any(|_| {
let mut attempts = 0u64;
loop {
if found.load(Ordering::Relaxed) { return None; }
attempts += 1;
let keypair = Keypair::new();
let address = keypair.pubkey().to_string();
if matches_pattern(&address, &config) {
found.store(true, Ordering::Relaxed);
return Some(GeneratedAddress { keypair, address, attempts });
}
}
});
result.ok_or_else(|| anyhow!("No match found"))
}
| Feature | Implementation |
|---|---|
| CSPRNG | OsRng via solana-sdk |
| Memory cleanup | Zeroize trait on secret key bytes |
| File permissions | 0o600 via std::fs::set_permissions |
| No network | Pure offline operation |
| Crate | Purpose |
|---|---|
solana-sdk | Keypair generation, Base58, signing |
rayon | Data-parallel iteration |
clap | CLI argument parsing |
anyhow | Error handling |
criterion | Benchmarking |
cargo test # Unit + integration tests
cargo test --test security_tests # Security-focused tests
cargo bench # Criterion benchmarks
solana-sdk for cryptographic operationsZeroize on all key material0o600 immediately after writingAtomicBool for cross-thread termination signalingfind_map_any for early termination on first matchpump ≠ PumpKeypair::new() uses OS entropy — do not seed with user inputrayon thread pool size should match CPU cores for optimal throughputまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
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.
日本語の概要は準備中です。原文の説明を表示しています。