tktechblog

日々の記録用です。blockchain,bitcoin,ethereumメインです。

rinkeby deploy

問題点

これに毎度やられている。他のropstenとか使ったり、infura使っても良いんだけど、なんとか対策したい。

基本的な懸念ポイント

% truffle migrate --network rinkeby
Using network 'rinkeby'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... undefined
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: insufficient funds for gas * price + value

問題はgasが足りないこと?

ただ、既存のgethtestnet上のgetBalanceもetherscan上は増えているのだけれどもcli上には反映されない。

原因っぽいところ。

WARN [08-21|17:20:35.730] Rolled back headers                      count=22   header=2851299->2851277 fast=2851213->2851213 block=0->0
INFO [08-21|17:20:35.735] Imported new state entries               count=768  elapsed=4.430ms   processed=14674025 pending=10082 retry=0  duplicate=0 unexpected=657
WARN [08-21|17:20:35.735] Synchronisation failed, dropping peer    peer=eb941411bbf432b1 err="retrieved hash chain is invalid"

おそらくこのerrorが原因を表している。

例えば、今は geth --rinkeby --rpc --rpcaddr "localhost" --rpcport "8545" --unlock="0xf90fd9c529b52e82e50b67ca3612eaad7781647b" --fast

このコマンドを起動してgethノードを立ち上げている。 --fastは任意。
unlock="0xf90fd9c529b52e82e50b67ca3612eaad7781647b"をしないと

truffle migrate --network rinkeby
Using network 'rinkeby'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... undefined
Error encountered, bailing. Network state unknown. Review successful transactions manually.
Error: authentication needed: password or unlock

こう行った風に別のエラーが出るので考えなくてはいけない。

とりあえず今解決しないといけないこと。

geth上でのtestネットアカウントのbalanceを増やすこと。

ここを解決できれば他の部分も全て解決される気がするので、解決方法を特定することが必要っぽい。

infuraでの実装

infuraでやってみたところなんの問題もなく動くっぽい?

truffle migrate --network rinkeby 
Using network 'rinkeby'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x308a5eb49faf41f0006b1a837953619ccd7ef396fc9a8bdeca612f43278a49e4
  Migrations: 0x655213695fcb5fd1b2cfb4dd9631091c16ba3388
Saving artifacts...
Running migration: 2_deploy_contracts.js
  Deploying TutorialToken...
  ... 0xc79a2db32bbfca9e098c526c6a58a19c2584e22fc2caf2dcefe7fdbea6a4bb6b
  TutorialToken: 0xaa09a1adcd5f4e481234c746d3a3adc37d366ace
Saving artifacts...

f:id:doobiedo222:20180821192323p:plain

と思いきや新しい問題に遭遇。  

erc20trackerでは f:id:doobiedo222:20180821192625p:plain

errorが出てしまう。

Sorry, We were unable to locate any valid Token Transfer Events for Contractと出てくるので おそらくこの辺を参考にする感じかと思われる。

ethereum.stackexchange.com

cf. 原因として考えられるもの

直接の原因としてあるのかはわからないが,

  • デプロイの起点となっているアカウントのbalanceが0の状態でmigrateしたこと
  • 操作するアカウントをtruffle compileする時に表示されたアカウントをmetamaskで操作したこと

などが少し影響しているかもしれないなあとも感じているので、

使用アカウントはコンソール上で作ったものかメタマスク上で作ったユニークなものだけを使うことにしようと感じた。

  • p.s
    f:id:doobiedo222:20180822214055p:plain myetherwalletやメタマスクにつなげて、トークンのやり取りをしたら表記が変わって正常に扱われるようになった。

balanceとholderの部分はあとで調整をしたい。

f:id:doobiedo222:20180822214220p:plain

参考

github.com

ethereum.stackexchange.com

ethereum.stackexchange.com

Ethereum Clients — Ethereum Homestead 0.1 documentation

How to Import Account? · Issue #3475 · ethereum/mist · GitHub

blog.abuiles.com

truffleframework.com

github.com

www.reddit.com

github.com