2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

truffle migrate、実は完了していない?

Last updated at Posted at 2018-03-13

完了していなかったmigrate

以前に作ったTokenがmigrateしていたつもりでも、正しく終えていなかった事があった。
githubで共有していたので、他の人に試してもらってた所、addressを取得しようとしたところでエラーが出るそうな。

truffle(private)> minaToken.address

Error: minaToken has no network configuration for its current network id (3).
    at Function.getter (/usr/local/lib/node_modules/truffle/build/webpack:/~/truffle-contract/contract.js:655:1)
    at Function.get (/usr/local/lib/node_modules/truffle/build/webpack:/~/truffle-contract/contract.js:740:1)
    at Function.getter (/usr/local/lib/node_modules/truffle/build/webpack:/~/truffle-contract/contract.js:658:1)
    at Function.network (/usr/local/lib/node_modules/truffle/build/webpack:/~/truffle-contract/contract.js:719:1)

truffle(private)> minaToken.deployed().then(inst =>{ tokeninst = inst })
undefined

truffle(private)> tokeninst.address
'0xd5e8************************************'

truffle(private)> minaToken.address
'0xd5e8************************************'

こんな感じでdeployed()を一度行うと、出来ている様子。
しかし、自分の方では出来ていたようで色々、新しく作り直してみてみると・・・同様の現象を再現できた。

$ truffle migrate --network private
Using network 'private'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x050dcb4cd7d1fdf55fb37e0cc7fdd73d6400c7f0bfe6a422a5c53ab2ca9ed67a
  Migrations: 0x0d8c************************************
Saving successful migration to network...
  ... 0xb7b0cb198b37a32ea8f9aad829c2ff5e0affed9c295b22e9254516dac30dbcb2
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Deploying minaToken...
  ... 0x2454b73807213939ed14bfcdf5c7eb9ee5b441266256e9dbaf3d90951a6d311b
  minaToken: 0xd5e8************************************
Saving artifacts...

$

どうにも完全にMigrateが完了していない感じ。エラーは出ていない。

$ truffle migrate --network private
Using network 'private'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x42f52edc04e1427c16f79cbd50b9500beb85d0c36b6e2a46f5feac3a25b5b31c
  Migrations: 0x8cda************************************
Saving successful migration to network...
  ... 0xd7bc86d31bee32fa3988f1c1eabce403a1b5d570340a3a9cdba53a472ee8c956
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Deploying minaToken...
  ... 0x16b57d9d2046cea5c90d16bba7a7ff23f14de05fcca5b2eba054161b71a9d378
  minaToken: 0x345c************************************
Saving successful migration to network...
  ... 0xf36163615f41ef7ed8f4a8f192149a0bf633fe1a2398ce001bf44c43dc7bdda0
Saving artifacts...

失敗の方は、後半の「Saving successful migration to network...」が出ていないこと。
正常に終了していない感じではある。エラーは出てないし、一体何が違うんだろう・・・?

解決したのはしたけれど

truffle.js
module.exports = {
    networks: {
        private: {
            host: "127.0.0.1",
            port: 7545,
            network_id: "*"
        }
    }
};

小一時間、というかほぼ半日程度悩んだ感じで、実験を繰り返して・・・
上手くいかないものは、truffle.jsでnetwork_id: 3となっていたところ。
これを”*”にする事でsuccessful migrationが出るようになりました。

Ganacheを使ってる環境だからこの辺りは、問題はないかもしれないけどTest netやMain netだとそれで大丈夫なのだろうか?

2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?