LoginSignup
3
2

More than 5 years have passed since last update.

Ganacheでプライベートネットのデータをリセットする手順

Last updated at Posted at 2018-03-15

先日、Truffleの勉強中にGanache(プライベートネットのデータ)をリセットしようと思ってハマりました。
そこで以下のペットショップの例を元にプライベートネットのリセット手順をステップバイステップでまとめました。

最初の状態

1番目のペットがSuccess状態になっており、プライベートネットにデータが書き込まれている状態です。

image.png

Ganacheをリセット

Network IDを元々のIDと違うものにします。ここではカウントアップして5781→5782へ変更しました。

image.png

「SAVE AND RESTART」ボタンを押すとデータ(及びコントラクト)の初期化が起こります。
この後画面が止まることがあるのでその場合はGanacheアプリを再起動してください。
以下のように全員のBALANCEが100に戻っていれば成功です。

image.png

Metamaskのリセット

次にChromeの拡張機能の設定でMetamaskを一旦無効にして再度有効にします。
これで内部キャッシュが消えます。

image.png

Account1のキャッシュが100に戻っていれば成功です。

image.png

再度デプロイ

コントラクトも消えてしまっているのでデプロイし直します。

スマートコントラクトをデプロイ(ここは各アプリによって異なる場合あり)
$ truffle migrate
Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0xa62e50bcc466353b229a9d9c4f1d61ff0c27eb3f7423174532eb9e875c318485
  Migrations: 0x8cdaf0cd259887258bc13a92c0a6da92698644c0
Saving successful migration to network...
  ... 0xd7bc86d31bee32fa3988f1c1eabce403a1b5d570340a3a9cdba53a472ee8c956
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Deploying Adoption...
  ... 0x4f39b4b30e8d5283a79691f34367345f5d20ed5d1aeef99c6b44d1364ca72c22
  Adoption: 0x345ca3e014aaf5dca488057592ee47305d9b3e10
Saving successful migration to network...
  ... 0xf36163615f41ef7ed8f4a8f192149a0bf633fe1a2398ce001bf44c43dc7bdda0
Saving artifacts...

Webサーバーのリセット

最後にWebサーバーもリセットします。

Webサーバーもリセット
$ npm run dev

> pet-shop@1.0.0 dev /Users/tomo1026/truffleProjects/pet-shop-tutorial
> lite-server

** browser-sync config **
{ injectChanges: false,
  files: [ './**/*.{html,htm,css,js}' ],
  watchOptions: { ignored: 'node_modules' },
  server: 
   { baseDir: [ './src', './build/contracts' ],
     middleware: [ [Function], [Function] ] } }
[Browsersync] Access URLs:
 -------------------------------------
       Local: http://localhost:3000
    External: http://192.168.1.43:3000
 -------------------------------------
          UI: http://localhost:3001
 UI External: http://192.168.1.43:3001
 -------------------------------------
[Browsersync] Serving files from: ./src
[Browsersync] Serving files from: ./build/contracts
[Browsersync] Watching files...
18.03.07 17:45:35 304 GET /index.html
18.03.07 17:45:35 304 GET /css/bootstrap.min.css
18.03.07 17:45:35 304 GET /js/bootstrap.min.js
18.03.07 17:45:35 304 GET /js/web3.min.js
18.03.07 17:45:35 304 GET /js/truffle-contract.js
18.03.07 17:45:35 304 GET /js/app.js
18.03.07 17:45:36 304 GET /pets.json
18.03.07 17:45:36 200 GET /Adoption.json
18.03.07 17:45:37 304 GET /images/scottish-terrier.jpeg
18.03.07 17:45:37 304 GET /images/french-bulldog.jpeg
18.03.07 17:45:37 304 GET /images/boxer.jpeg
18.03.07 17:45:37 304 GET /images/golden-retriever.jpeg

確認

ペットたちがAdopt済み(Success)になっていなければリセット成功です。

image.png

もう一度Adoptを試みます。

image.png

Submitすると残高が減ってトランザクションが完了していれば成功です。

image.png

Webサイトを再更新するとSuccessになっていることが確認できます。

image.png

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2