Easiest Blockchain~簡単 ブロックチェーン・Cloudの勉強ブログ~

ブロックチェーン技術の勉強のために学んだことをシェアしていきます。ブロックチェーン技術の基礎から応用まで幅広く勉強していきます。

超簡易 ブロックチェーン(Ethereum)上での匿名投票プログラム解説 ”Easiest voting app with blockchain”Part1

今回からは手始めにブロックチェーンアプリケーションの初級編として
匿名投票をブロックチェーン上に載せるプログラムを作っていきます。
今回はPart1ということで導入編です。

参考にしたのはこちらのサイトです↓
medium.com


今回はnpmとnodeを使用し、またweb3.jsを利用して動かしていきます!
仮想ブロックチェーンとして使うものは(ブロックチェーンシミュレーター)ganache-cliです。
※勉強中の学生が勉強中の方に向けて書いている記事ですので、指摘箇所があればコメントしていただけると幸いです。また解釈として簡単な言葉を選ぶようにしています。使用OSはWindows10です。

まずは準備をしていきましょう。

1:環境準備
事前にnpmとnodeをインストールします。
Node.js
にアクセスし、ダウンロードインストールをしてください。
インストールが終わるとnodeそしてnpmもインストールされているはずです。

それでは事前準備ができましたので。
作業に入っていきます。

まずはディレクトリを作成しましょう。

mkdir voting_app
cd voting_app 

今回はわかりやすいようにvoting_appとしましたが。ご自由に指定してもらって構いません。
mkdir はディレクトリを作成するコマンドです。
cd は指定した場所(フォルダ)へ移動するコマンドです。

次にモジュールをインストールするフォルダを作成します

mkdir node_modules

次にganache-cli、web3.jsをインストールします

npm install ganache-cli web3@0.20.2

インストールが完了したら起動してみましょう

ganache-cli

すると以下のようにずらっと出てきます。

Ganache CLI v6.1.0 (ganache-core: 2.1.0)

Available Accounts
==================
(0) 0xc867001038388828bede9ed24a50cba7d87d0152
(1) 0x207154aabb5616846e9f9e6b9adce2f8dd4f453a
(2) 0x5ce62cf9fb11f8ebb7649e3e7ba0ccbdbda62cc1
(3) 0xe604ad444eb1daa0b2fd8d414fdb9a4841c7d3c3
(4) 0x7e0ae96bce372879dcee28882f469300822f4d5d
(5) 0xb91e3e1a564296308124dbbe2a7ca72294b75569
(6) 0x373823574a2bbe1ddd1ae3666a3620391dc6f5e4
(7) 0x935e71ab4e268103556a721579ba2de5852050ed
(8) 0x9971dea65beefdcebc4e063027e36ea7c798926d
(9) 0xab1aedcb0d9e024cbfdbc4159b0e9bd3ba280e59

Private Keys
==================
(0) 0a357266958266835871bd7f111b48e667713f34aec2f172d7ed0aee9f1a6ce4
(1) e251db6254ace222a517cbd040ae71a6538866b4b554c539a268bd6afc78b0e4
(2) 51652d38f1473b3af148bb942f7e5b69000b1f9340644e86c638bbba7b884553
(3) 4354e235331698961d33e3e836fe5b8a7a13f03e555cea688a4f1d53de5d96d5
(4) e3b08a5b0efaafebd0900de9867837d1c7df763d10ceb58368bcf1fb07417a01
(5) c5dded37ea4dbbe28bc062ad5332ef846f37acfa385dbc7ba00053dcdd0ddcc7
(6) 24dc8b017e5e59f8afd300fc3fed32b3fab660b62efb4bfbbbd47ec670ea8359
(7) 385df4314c653262a005311db36c9bc2d4c00def0f2e000f321bdfccc7108ebf
(8) c67c45100cef9f89bd95ab5e49fbc53748c7b2575f792459ed50230f5a66f565
(9) 6faee674d7844420fa87ab3fbe13cbe479a07a062b5e33094f46f60161332856

HD Wallet
==================
Mnemonic:      umbrella cute combine latin donkey pitch peasant luxury reveal another gallery tissueBase HD Path:  m/44'/60'/0'/0/{account_index}

Listening on localhost:8545

ganache-cliは親切にテスト用アカウントを10個自動生成してくれます。
※起動時毎にアカウントが作成されるため、アドレスは上記とは異なります

無事にインストールできたでしょうか?
次回Part2では実際にコードを記述し、コントラクトを作成していきます!