truffleからgoerliへの接続が出来ない1

まだ解決してないものの状況の整理と備忘のメモ書き。

問題

    private: {
     provider: () => {
       const mnemonic = process.env.MNEMONIC
       return new HDWalletProvider(mnemonic, "http://x.x.x.x:8507");
     },
     network_id: "*",
     timeoutBlocks: 200
    },
    infura: {
      provider: () => {
        const mnemonic = process.env.MNEMONIC
        const project_id = process.env.INFURA_PROJECT_ID
        return new HDWalletProvider(mnemonic, `https://goerli.infura.io/v3/${project_id}`);
      },
      networkCheckTimeoutnetworkCheckTimeout: 100000,
      network_id: "5"
    },
   

自分が建てたFullノードがネットワーク(private)とInfura経由(infura)の2種類。どちらに対してもmigrateでエラーが発生する。

/work/greeter_app # truffle migrate --network infura
This version of µWS is not compatible with your Node.js build:

Error: Cannot find module './uws_linux_x64_64.node'
Falling back to a NodeJS implementation; performance may be degraded.



Compiling your contracts...
===========================

/work/node_modules/eth-block-tracker/src/polling.js:51
        const newErr = new Error(`PollingBlockTracker - encountered an error while attempting to update latest block:\n${err.stack}`)
                       ^
Error: PollingBlockTracker - encountered an error while attempting to update latest block:
undefined
    at PollingBlockTracker._performSync (/work/node_modules/eth-block-tracker/src/polling.js:51:24)
    at process._tickCallback (internal/process/next_tick.js:68:7)
UnhandledRejections detected
Promise {
  <rejected> { code: -32603,
    message: 'ETIMEDOUT',
    data: { originalError: [Object] } } } { code: -32603,
  message: 'ETIMEDOUT',
  data: { originalError: { code: 'ETIMEDOUT', connect: true } } }
Promise {
  <rejected> { code: -32603,
    message: 'ETIMEDOUT',
    data: { originalError: [Object] } } } { code: -32603,
  message: 'ETIMEDOUT',
  data: { originalError: { code: 'ETIMEDOUT', connect: true } } }

環境

truffle(infura)> version
Truffle v5.4.32 (core: 5.4.32)
Solidity - 0.8.11 (solc-js)
Node v10.21.0
Web3.js v1.5.3

MacにDockerを入れて、コンテナの中で稼働。PrivateのFullノードはOCI上でgethのコンテナを立てて稼働。

状況

PrivateのFullノードは問題なく作れてそう

MetaMaskからちゃんとETHが見えてるので、今のところ動いてそうに見える。

起動で使ったオプションは以下。

geth --goerli --rpc.evmtimeout 0 --rpc.allow-unprotected-txs --datadir ./data --syncmode "snap" --port 30303 --http --http.api "eth,web3,personal,net,miner,admin,debug" --http.addr 0.0.0.0 --http.port 8507 --http.corsdomain "*" --http.vhosts "*" console

試行錯誤してたので不要なものも多分含んでる。 30303/tcpと30303/udpの穴あけをして、リクエスト応答のための8507/tcpを自分のIPに絞って開放。

truffleの動きが怪しい

truffle migrate --network infura

みたいなことをするとエラーになるが、

/work/greeter_app # truffle console --network infura
This version of µWS is not compatible with your Node.js build:

Error: Cannot find module './uws_linux_x64_64.node'
Falling back to a NodeJS implementation; performance may be degraded.


truffle(infura)> web3.eth.getBalance('0xc40057b29e74919e05864F8356caDc45ceFcb7b5')
'6250000000000000000'
truffle(infura)> .exit
/work/greeter_app # truffle console --network private
This version of µWS is not compatible with your Node.js build:

Error: Cannot find module './uws_linux_x64_64.node'
Falling back to a NodeJS implementation; performance may be degraded.


truffle(private)> web3.eth.getBalance('0xc40057b29e74919e05864F8356caDc45ceFcb7b5')
'6250000000000000000'
truffle(private)>

consoleだと通る。

もうちょっとconsole経由で切り分けが必要かな。。

この記事が気に入ったらサポートをしてみませんか?