ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

波场TRX在.Net Core C#中实现助记词和HDWallet

2020-06-02 18:01:26  阅读:456  来源: 互联网

标签:Core HDWallet 私钥 string C# 助记 TRX 地址 byte


本文章主要通过将ETH钱包地址转换成TRX地址实现,也就是说ETH怎么用HdWallet的通过转换地址的方式在TRX也能用,私钥也是。

主要用到了以下nuget包

  • Nethereum.Hex
  • Nethereum.HdWallet
  • Tron.Net.Client

核心代码:

public static string GetBase58CheckAddress(string ethAddress)
{
    string fixaddress = "0x41" + ethAddress.RemoveHexPrefix();

    byte[] addressBytes = fixaddress.HexToByteArray();

    byte[] hash0 = SHA256(addressBytes);
    byte[] hash1 = SHA256(hash0);

    var checkSum = hash1.Take(4).ToArray();

    return Base58.Encode(addressBytes.Concat(checkSum).ToArray());
}

public static byte[] SHA256(byte[] data)
{
    using (var sha256 = new SHA256Managed())
    {
        return sha256.ComputeHash(data);
    }
}

示例:

//生成助记词
Mnemonic mnemonic = new Mnemonic(Wordlist.English, WordCount.Twelve);

//使用助记词
Nethereum.HdWallet.Wallet wallet = new Nethereum.HdWallet.Wallet(mnemonic.ToString(), "助记词密码");

for (int i = 0; i < 5; i++)
{
    //移除私钥的0x开头
    string privateKey = wallet.GetAccount(i).PrivateKey.RemoveHexPrefix();
string address = GetBase58CheckAddress(wallet.GetAccount(i).Address); Console.WriteLine("TRX地址:{0},私钥:{1}", address, privateKey); }

生成5个ETH地址和对应的私钥,然后把ETH地址转换成TRX

结果:

TRX地址:TREyTqjmzjBFqnWGQZ1q1G2WpGmz7dvbPm,私钥:d687aced7f1c9fc47587b87a457b876b768377e8524b9243a7643ce2be90f938
TRX地址:TQs6vEqL4Vf4ckzmeXWi4q1p5VevkA5Yxi,私钥:c0eb70683e9aeb077286384ed94b9ae8c55d64b6ccd87fa460c932d7aa38c373
TRX地址:THAG1RcHvM6AQzJsPYxuV5PNYrUsfYvMBh,私钥:bfc0e0185ea3b1fdc861af0b44545a1fb7b42a7defda709fc8e92391654d1fe2
TRX地址:TKnmzam2uj6SQ1kUpkEbUDN81Rct9PdQ4z,私钥:96d6ff282991c7700aae0ed132ae598c5325a53e63c71eb8a9749d7626fdee23
TRX地址:TE6S8h3cuxhWkfd7JBGU99vghq4bBJiK6i,私钥:efbb87c615e1a243e770eaedc4d473ab5586f5751b75104615e2415dc1670c66

 

标签:Core,HDWallet,私钥,string,C#,助记,TRX,地址,byte
来源: https://www.cnblogs.com/myhalo/p/13032737.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有