EDITORIAL
前に実行します
- インストールノードおよびNPM
- ダウンロードファイルとモジュール
git clone https://github.com/1172510217/voting_dapp.git
cd voting_dapp
npm install
- ファイル名を指定して実行ガナッシュ-CLI
./node_modules/.bin/ganache-cli --host "108.61.126.96" --port 8080
- ガナッシュ-CLIは、サーバー全体の間に実行されていることを確認する必要が実行されています
- サーバーアドレスのホストパラメータ置換、あなたが聞くために必要なポート、代替ポートパラメータ
ラン
- コンパイル契約
var Web3 = require('web3');
var solc = require('solc');
var web3 = new Web3(new Web3.providers.HttpProvider('http://108.61.126.96:8080'));
var compiledCode = solc.compile(fs.readFileSync('Voting.sol').toString());
- 展開の契約
var Voting = compiledCode.contracts[':Voting'];
var abi = JSON.parse(Voting.interface);
var byteCode = Voting.bytecode;
var candidates =['Alice','Bob','Cary'];
var candidatesHex = new Array(candidates.length);
for (let i = 0; i < candidates.length; i++){candidatesHex[i] = web3.utils.asciiToHex(candidates[i]);}
var account;
web3.eth.getAccounts().then(function(res){account=res[0]});
var VotingContract = new web3.eth.Contract(abi);
var contractInstance = VotingContract.deploy({data:byteCode,arguments:[candidatesHex]}).send({from:account,gas:4700000});
- 修正index.js
- あなたのガナッシュ-CLIのURLモニターURLの最初の行を変更します。
- あなたの実際の展開アドレスのアドレスを展開する契約を変更します。あなたは、ガナッシュ、CLIで対応contractAddrを見つけることができます
- 修正server.js
- 例えば8888のために、非ガナッシュ-CLIリスニングポート番号から、周知のポート番号別に耳を傾け、最終ポート番号
- サーバーアドレスのURLの最後の行を変更します(URLやガナッシュ-cliの一貫性)
- サーバーを実行します
node server.js
ご注意ください
nohup ./node_modules/.bin/ganache-cli --host 108.61.126.9 --port 8080 > ganache_out.log 2>&1 &
nohup node server.js > server_out.log 2>&1 &