remixで開発をしていて、Web3Providerで特定のサーバに繋ごうとしたときに、
「Not possible to connect to the Web3 provider. 」というエラーが出たことあるという方は多いんじゃないかと思います。
はっきり言ってエラーメッセージだけじゃ、原因はなにもわからないので、remixでこのエラーが出る原因と対処法を徹底解説していきたいと思います。
<スポンサードリンク>
gethを起動していない
接続先のgethが起動していないとつなぐ先プロセスがないためつながりません。
8545ポートが空いていない
意外とやりがちなのがこれです。クラウドなどでたてたサーバーにつなぐ場合は、セキュリティグループで8545ポートを開けていないとつながりません。
ここで注意点なのが、8545ポートを全開放してしまうと、悪意のあるユーザーも接続できてしまうので、接続元のIPを絞ることをおすすめします。ちなみにgethの起動オプションでポート番号を8545から変えることもできます。
rpcサーバーが起動していない
rpcサーバーが起動していないと同じくつなぐことができません。
gethの起動オプションに「–rpc」「 –rpcport <rpcport> 」「–rpccorsdomain “*”」が必要です。
httpsのremixで開発をしている
httpsのremixだとつながらないこともあるので、urlをhttpに変更するか、zip版のremixを落としてきてlocalから繋げましょう。
関連
Ethereum Solidityの最強の開発環境を構築 これだけ!
Ethereum プライベートネットワークでgeth起動時にnodeを自動接続する方法
【solidity】業務ロジックとデータロジックを分断するコントラクト設計
【初心者向け】solidity基礎 modifierの使い方を徹底解説
【初心者向け】Solidity 外部コントラクトの呼び出し方法を徹底解説
Solidity(Remix)とgitを連携させ、Ethereumの開発をする