Linuxベースのガナッシュ、単純な議決DAPP([email protected])の下で

EDITORIAL

前に実行します

  1. インストールノードおよびNPM
  2. ダウンロードファイルとモジュール
git clone https://github.com/1172510217/voting_dapp.git
cd voting_dapp
npm install # 安装依赖
  1. ファイル名を指定して実行ガナッシュ-CLI
./node_modules/.bin/ganache-cli --host "108.61.126.96" --port 8080
  • ガナッシュ-CLIは、サーバー全体の間に実行されていることを確認する必要が実行されています
  • サーバーアドレスのホストパラメータ置換、あなたが聞くために必要なポート、代替ポートパラメータ

ラン

  1. コンパイル契約
// 重新开启一个bash,并进入到voting_dapp中,输入node,在node控制台中操作
var Web3 = require('web3');
var solc = require('solc');
var web3 = new Web3(new Web3.providers.HttpProvider('http://108.61.126.96:8080')); // 这里的网址和上面ganache-cli的网址一致
var compiledCode = solc.compile(fs.readFileSync('Voting.sol').toString());
  1. 展開の契約
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});
  1. 修正index.js
  • あなたのガナッシュ-CLIのURLモニターURLの最初の行を変更します。
  • あなたの実際の展開アドレスのアドレスを展開する契約を変更します。あなたは、ガナッシュ、CLIで対応contractAddrを見つけることができます
  1. 修正server.js
  • 例えば8888のために、非ガナッシュ-CLIリスニングポート番号から、周知のポート番号別に耳を傾け、最終ポート番号
  • サーバーアドレスのURLの最後の行を変更します(URLやガナッシュ-cliの一貫性)
  1. サーバーを実行します
node server.js # 保证该进程一直存在,才可以使得网站被正常访问

ご注意ください

nohup ./node_modules/.bin/ganache-cli --host 108.61.126.9 --port 8080 > ganache_out.log 2>&1 & # 要保证一直运行,可以使用nohup命令,终端输出重定向到ganache_out.log文件中
nohup node server.js > server_out.log 2>&1 &# 要保证一直运行,可以使用nohup命令,终端输出重定向到server_out.log文件中
公開された13元の記事 ウォンの賞賛8 ビュー9291

おすすめ

転載: blog.csdn.net/qq_43481201/article/details/104235425