【问题标题】:Obsolete "Use GetAddress(ScriptPubKeyType.Legacy) instead"已过时的“改用 GetAddress(ScriptPubKeyType.Legacy)”
【发布时间】:2020-06-06 05:00:33
【问题描述】:
using System;
using NBitcoin;

namespace RSA
{
    public class RSA
    {
        public static Wallet KeyGenerate()
        {
            Key  privateKey = new Key();

            var v = privateKey.GetBitcoinSecret(Network.Main).GetAddress();
            var address = BitcoinAddress.Create(v.ToString(), Network.Main);

            return new Wallet { PublicKey = v.ToString(), PrivateKey = privateKey.GetBitcoinSecret(Network.Main).ToString() };
        }
    }
}

我收到这种警告,请任何人帮忙解决它?

【问题讨论】:

  • 有什么问题?只需使用警告提供的代码?
  • 你能告诉我应该从警告代码中使用什么吗,谢谢
  • GetAddress(ScriptPublicKeyType.Legacy),它在警告中。

标签: asp.net-core asp.net-core-mvc nbitcoin


【解决方案1】:

正如Progman 所说,您可以使用GetAddress(ScriptPublicKeyType.Legacy) 代替BitcoinSecret.getAddress()

这里是GetAddress(ScriptPublicKeyType.Legacy)的用法:

var v = privateKey.PubKey.GetAddress(ScriptPubKeyType.Legacy, Network.Main);

另外,如果你不想改变方法,可以使用[Obsolete]

这是一个演示: 程序.cs:

[Obsolete]
class Program
{
    static void Main(string[] args) {
        KeyGenerate();
    }

    public static Wallet KeyGenerate()
    {
        Key privateKey = new Key();

        var v = privateKey.GetBitcoinSecret(Network.Main).GetAddress();
        Console.WriteLine(v);
        var v1 = privateKey.PubKey.GetAddress(ScriptPubKeyType.Legacy, Network.Main);
        Console.WriteLine(v1);
        var address = BitcoinAddress.Create(v.ToString(), Network.Main);

        return new Wallet { PublicKey = v.ToString(), PrivateKey = privateKey.GetBitcoinSecret(Network.Main).ToString() };
    }
}

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多