1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C#でビットコインの秘密鍵、公開鍵、ビットコインアドレスを生成する

Last updated at Posted at 2020-11-07

使用環境

実施方法

Visual Studio Codeで以下のコマンドを実行する。

# 任意のプロジェクトフォルダを用意
mkdir MyProject 
cd MyProject
# プロジェクトの開始と必要パッケージ(NBitcoin)の追加
# 執筆時点のバージョン
#  - NBitcoin: Version="5.0.65"
dotnet new console
dotnet add package NBitcoin
dotnet restore

秘密鍵、公開鍵、ビットコインアドレスを生成するコードを実行する。

using System;
using NBitcoin;

namespace MyProject
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 3;
            for (int i = 1; i <= n; i++)
            {
                // Mainnet or Testnet
                var network = Network.GetNetwork("testnet");
                // Generate Keys
                var privateKey = new Key();
                PubKey publicKey = privateKey.PubKey;
                Console.WriteLine(i);
                Console.WriteLine("private key (WIF):  " + privateKey.GetWif(network));
                Console.WriteLine("public key:  " + publicKey.ToString());
                Console.WriteLine("bitcoin address:  " + publicKey.GetAddress(ScriptPubKeyType.Legacy, network).ToString());
            } 
        }
    }
}

※上記の例ではtestnetを使用しています。testnetは開発やテスト用のネットワークで、そこでやりとりされるビットコインは無価値です。

コードの実行は以下のコマンドで行う。

dotnet run

実行結果

image.png

生成された秘密鍵、公開鍵、ビットコインアドレスの情報。

1
private key (WIF):  cT7uPMYW53wF99zoLwuTYbFX9u64pZbfMRZPzR4x5ters1imZteK
public key:  026a44900a5adc5e0cb9e3b68bec8dc830a95246eaa449e1982209a61a850011c3
bitcoin address:  mmDSo9ezSiAXmasfDFsiLjMTbkALNS37wW
2
private key (WIF):  cPoEcLELGdXjHK5HB4tFxWf11UabeBJX4muBZSTZoavL8ZbDpBGa
public key:  02ce3ff023c56e25354574f4f04451d4c2947847360495e490a726f6ce2ac0f15a
bitcoin address:  n1LkPbkfFT9xSUmSNZ4gBak1Mqe8AKs1n5
3
private key (WIF):  cVpjKP3ypD7tGpjRNzbnJoWP2ydGu2e1RZQFGawaPc71wWSbjVxy
public key:  0385e93613988781cb323ab8083b724bb870592091cbf0cb2e370f37ea3c4c910e
bitcoin address:  mm3hoc3H1RAxeg3V5dsTFpiZST5d5CNXyG

これらのビットコインアドレスに宛てて送金を行うとブロックチェーン上にトランザクション(取引情報)が書き込まれます。コインを取得できたら他のアドレスに宛てた送金が行えるようになります。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?