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が見えてるので、今のところ動いてそうに見える。
![](https://assets.st-note.com/img/1644133767597-PuXa8DhlNb.png?width=1200)
起動で使ったオプションは以下。
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経由で切り分けが必要かな。。