#钱包 #密钥 #base58 #文件 #cryptonote #密钥

cryptonote-wallet

为 CryptoNote 设计的 base58

9 个版本

0.2.0 2019 年 9 月 17 日
0.1.7 2019 年 9 月 4 日
0.1.6 2019 年 5 月 18 日
0.1.5 2019 年 4 月 17 日

#2 in #cryptonote

每月 21 次下载

GPL-3.0-or-later

17KB
261 代码行

基于 CryptoNote 的加密货币的钱包库

codecov

纯钱包,无缓存

用法

钱包创建方法

  1. 从密钥中创建
    let spend = b"f644de91c7defae58ff9136dcc8b03a2059fda3294865065f86554d3aaeb310c";
    let view = b"3dd9d71a6fe2b909e1603c9ac325f13f2c6ac965e7e1ec98e5e666ed84b4d40c";
    let wallet = Wallet::from_secret_keys(spend, view);
  1. 从密钥字符串中创建
    let spend_str = "f644de91c7defae58ff9136dcc8b03a2059fda3294865065f86554d3aaeb310c";
    let view_str = "3dd9d71a6fe2b909e1603c9ac325f13f2c6ac965e7e1ec98e5e666ed84b4d40c";
    let wallet = Wallet::from_secret_string(String::from(spend_str), String::from(view_str));

钱包文件处理

  1. 加载和保存钱包
    // Create a wallet object
    let mut wallet = Wallet::new();

    // Load wallet from a wallet file with a password.
    wallet.load(String::from("tests/vig.wallet"), String::from(""));

    // Save current wallet to a new file with a new password.
    wallet.save(String::from("tests/vig-new.wallet"), String::from("abcd"));

钱包实例函数

钱包地址生成

  1. 到地址
    let prefix: u64 = 0x3d;
    let mut wallet = Wallet::new();
    wallet.load(String::from("tests/vig.wallet"), String::from(""));

    // Get an Address object
    let address = wallet.to_address(prefix);
    let addressStr = address.get();
    println!("{}" , addressStr);
  1. 更新密钥
    let prefix: u64 = 0x3d;
    let mut wallet = Wallet::new();
    let spend_str = "f644de91c7defae58ff9136dcc8b03a2059fda3294865065f86554d3aaeb310c";
    let view_str = "3dd9d71a6fe2b909e1603c9ac325f13f2c6ac965e7e1ec98e5e666ed84b4d40c";
    wallet.update_secret_keys(String::from(spend_str), String::from(view_str));

    // Get an Address object
    let address = wallet.to_address(prefix);
    let addressStr = address.get();
    println!("{}" , addressStr);

依赖项

~9–13MB
~157K SLoC