#vanity #address #stellar #cli #cli-tool #tool

bin+lib stellar_vanity

用于生成 Stellar 非凡地址的简单 CLI 工具

11 个版本 (破坏性更新)

使用旧的 Rust 2015

0.9.0 2021 年 11 月 23 日
0.8.0 2020 年 5 月 24 日
0.7.1 2020 年 5 月 13 日
0.6.0 2020 年 1 月 23 日
0.3.0 2018 年 3 月 31 日

#8 in #vanity

自定义许可协议

16KB
186

Stellar Vanity

一个简单的 CLI 工具,用于生成 Stellar 非凡地址。

非凡地址:类似于个性化车牌,非凡加密货币地址是一个地址,其开头(前缀)或结尾(后缀)包含特殊或有意义的短语。生成此类地址需要工作量。

基准测试

基准测试是通过使用 criterion.rs 通过 cargo bench 执行 benches/benchmark.rs 文件来完成的。

如何进行基准测试?

啊,非常感谢!我的计算能力有限(如果你也如此...不要尝试,可能需要很长时间且成本高昂)

  1. git clone https://github.com/robertDurst/stellar-vanity-address-generator.git
  2. cdstellar-vanity-address-generator
  3. cargobench

基准测试配置

  • 尽可能多的线程(见以下说明)
  • 每种方法不同的样本数量
  • 1 - 3 个前缀

注意:这使用了 num_cpus::get() 从 num_cpus 确定可用的最大核心数。如果不希望这样做,您将不得不手动设置此数字...或者如果您知道如何传递 CLI 参数给 cargo bench,可以打开一个 pr :)

如何使用库

use stellar_vanity::vanity_key::AddressGenerator, deserialize_public_key};;

let mut generator: AddressGenerator = Default::default();
let keypair = generator.find(|key| {
    let public = deserialize_public_key(key);
    // any conditions go here
    public.as_str().ends_with("RUST") // e.g. find address with the "RUST" suffix
});

这将无限循环,直到找到具有所需属性的关键字。一旦找到非凡地址,将返回一个密钥对,可以使用 deserialize_public_key 和 deserialize_private_key 分别反序列化。注意,这是一个同步函数。

如何使用 CLI

cargo run -- [--postfix=<POSTFIX>] [--prefix=<PREFIX>] [-c=<NUMBER_OF_THREADS>]

Either `--postfix` or `--prefix` option is required, while thread count is optional.

例如,以下命令使用 8 个线程查找以 pizza 结尾的地址

cargo run -- -c=8 --postfix=pizza

--prefix--postfix 选项将使用正则表达式进行搜索。您可能需要在命令行运行时将表达式用引号括起来。

以下示例使用 8 个线程查找以 joe 结尾的地址,地址前有一个数字。

cargo run -- -c=8 --postfix='[0-9]joe'

依赖项

约 7.5MB
约 131K SLoC