見出し画像

Nethereum 入門 (1) - 事始め

「Nethereum」の使い方を軽くまとめました。

・macOS 12.4
・.NetCore SDK 3.1.421

1. Nethereum

「Nethereum」は、Ethereumノードとへのアクセスとスマートコントラクトの管理を簡単に行うための.Netライブラリです。

2. 開発環境の準備

「Nethereum」 を利用するには、「.Net Core」または「.Net Framework」 (4.5.1 以降) が必要です。

今回は、「.Net Core 3.1」をインストールします。インストール手順は、以下で紹介しています。

3. はじめてのアプリの作成

はじめてのアプリの作成手順は、次のとおりです。

(1) 以下のコマンドでプロジェクト作成。
"NethereumSample"という名前のプロジェクトを作成します。

$ dotnet new console -o NethereumSample
$ cd NethereumSample

(2) Nethereum.Web3パッケージの参照を追加し、プロジェクトパッケージをリストア (更新 / ダウンロード)。

$ dotnet add package Nethereum.Web3
$ dotnet restore

(3) 「Program.cs」のコードを以下のように編集。
Infuraなどのパブリックノードを使用してEthereumメインネットに接続し、アカウントの残高を確認するコードになります。

using System;
using System.Threading.Tasks;
using Nethereum.Web3;

namespace NethereumSample
{
    class Program
    {
        static void Main(string[] args)
        {
            GetAccountBalance().Wait();
            Console.ReadLine();
        }

        static async Task GetAccountBalance()
        {
            // メインネットに接続
            // <自身のプロジェクトID>はInfuraで生成した自身のプロジェクトIDと置き換える
            var web3 = new Web3("https://mainnet.infura.io/v3/<自身のプロジェクトID>");
            
            // イーサリアム財団のアカウントの残高の確認
            var balance = await web3.Eth.GetBalance.SendRequestAsync("0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae");
            Console.WriteLine($"Balance in Wei: {balance.Value}");

            // weiをetherに変換
            var etherAmount = Web3.Convert.FromWei(balance.Value);
            Console.WriteLine($"Balance in Ether: {etherAmount}");
        }
    }
}

◎ INFURAでのプロジェクトIDの取得
INFURA」にサインアップして、プロジェクトを作成して、そのプロジェクトの「PROJECT ID」をコード内の<自身のプロジェクトID>に記述します。(「ENDPOINT」をまるまる記述するも可)

「INFURA」は、開発者が簡単にEthereumをテストできるように、Ethereumノードと便利なAPIを提供してくれるサービスになります。

◎ イーサリアムの単位
イーサリアムにはイーサという通貨があり、基本単位は「ether」です。1 ether、2ether、3 ether… (または1ETH、2ETH、3ETH…)と数えます。「wei」はイーサの最小単位で、1 wei = 0.000000000000000001 ether になります。

(3) 以下のコマンドで実行。
プロジェクトフォルダ直下で「dotnet run」を実行し、アカウントの残高が表示されることを確認します。


$ dotnet run                              
Balance in Wei: 343270355903185816963191
Balance in Ether: 343270.355903185816963191

4. Nethereum Playground

Nethereum Playground」では、ブラウザ上で「Nethereum」のサンプルを実行して試すことができます。「Select sample」でサンプルを選択して、「Compile and Execute」で実行します。

次回



いいなと思ったら応援しよう!