使用環境
実施方法
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
実行結果
生成された秘密鍵、公開鍵、ビットコインアドレスの情報。
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
これらのビットコインアドレスに宛てて送金を行うとブロックチェーン上にトランザクション(取引情報)が書き込まれます。コインを取得できたら他のアドレスに宛てた送金が行えるようになります。