Remix
Remix 現在強制使用 https,我怎樣才能繼續使用 http://remix.ethereum.org?
最近我可以同時使用http://remix.ethereum.org>或<https://remix.ethereum.org,但今天我無法通過瀏覽器直接訪問不安全的 remix 版本。我需要這樣做的原因是因為我在那裡有很多契約,我想訪問它們並最終將它們轉移到“安全”版本。
我檢查了發送到與 http 重新混合的請求,響應是 301 Moved Permanently to https。我還收到錯誤消息:“您正在使用
https
連接。http
如果您在瀏覽器中使用 Remixhttp Web3 provider
或允許混合內容,請切換到。”,但這並沒有給我提供有關如何解決問題的線索。有沒有辦法強制混音使用 http 而不是 https?我在 Mac 上使用 Chrome 瀏覽器。
如果您只想恢復您的合約並將它們遷移到安全版本,您可以在本地執行 Remix IDE 並將主機文件更改為將 remix.ethereum.org 指向您的本地電腦。步驟如下:
- 安裝nodejs。在 Mac 上有很多方法可以做到這一點,我更喜歡使用 nvm ( https://github.com/nvm-sh/nvm/blob/master/README.md )
- 通過執行安裝 remix-ide 伺服器
npm install -g remix-ide
- 通過執行編輯主機文件
sudo nano /etc/hosts
,然後將該行添加127.0.0.1 remix.ethereum.org
到文件末尾- 預設情況下,remix-ide 監聽 8080 埠,所以現在你有兩個選擇,第一個是設置一個像 nginx 這樣的反向代理,將 80 埠上的請求轉發到 8080 埠,然後正常啟動 remix-ide。我不會詳細介紹如何設置反向代理,如果你不熟悉它們,你可以做下面的快速破解,因為這只是你訪問儲存的智能合約的一種臨時方式。
第二個選項是通過執行編輯remix-ide啟動腳本
nano -w
which remix-ide``並將所有8080替換為80,然後通過執行啟動修改後的啟動腳本sudo remix-ide
5. 無論哪種方式,現在你可以啟動瀏覽器並導航到http://remix.ethereum.org,它會顯示本地伺服器服務的站點,沒有 https,希望你能找到儲存在那裡的所有智能合約。