#stealth #privacy #ethereum #secp256k1 #eth #key-gen

app stealthereum-cli

用于evm链上ERC-5564兼容匿名地址管理的CLI

3个不稳定版本

0.2.0 2023年9月19日
0.1.1 2023年9月17日
0.1.0 2023年9月17日

#3 in #stealth

MIT 许可证

14KB
240

stealthereum-cli

这是一个用rust编写的简单CLI,用于evm链上ERC-5564兼容匿名地址管理

目前这是与eth-stealth-addresses rust库交互的最简单方式,该库实现了在secp256k1曲线(带有视图标签)上实现匿名地址方案所需的基本加密操作,如此处概述

目前它非常简陋且底层!即将进行更多改进

安装

cargo install stealthereum-cli

确保将 $HOME/.cargo/bin 添加到您的PATH

用法

以下是CLI的基本命令和参数列表

keygen

生成匿名元地址并存储密钥

stealthereum keygen -o path/to/keyfile.json

stealth-address

根据ERC-5564定义,为要私密发送的目标接收者的匿名地址生成所有组件

stealthereum stealth-address -r 0xReceiverStealthMetaAddres

reveal-stealth-key

计算您控制的匿名地址的私钥

stealthereum reveal-stealth-key -k path/to/keyfile.json -s 0xStealthAddress -e 0xEphemeralPub

请注意,这要求您事先知道哪些 [stealth_address, ephemeral_pubkey] 对是针对您的匿名元地址的实际付款(否则进程会崩溃)。有关如何扫描对您的匿名元地址的私人付款的更多信息,请参阅下面的 scan

scan

扫描公告的匿名转账以支付给您的匿名元地址

stealthereum scan -k path/to/keyfile.json -s path/to/scanfile.json

这将记录scanfile中您可声称的所有匿名转账的 [stealth_address, ephemeral_pubkey] 对。

目前,scanfile必须预先计算为如下JSON格式

{
    "announcements": [
        {
            "stealth_address": "0xSomeStealthAddress",
            "ephemeral_pubkey": "0xSomeEphemeralPubkey",
            "view_tag": 116
        },
        {
            "stealth_address": "0xSomeOtherAddress",
            "ephemeral_pubkey": "0xSomeOtherPubkey",
            "view_tag": 94
        }
    ]
}

show-meta-address

从密钥文件重新计算您的匿名元地址

stealthereum show-meta-address -k path/to/keyfile.json

依赖关系

~11MB
~150K SLoC