奇偶校驗的奇怪問題
我剛剛安裝了 Parity (1.8.2) 並確保它完全同步,並且遇到了一些奇怪的問題。(我通過 Homebrew 在 MacBook 上安裝了 Parity,配置都是預設值)
- 我可以通過http://localhost:8545使用 MetaMask 連接到我的本地節點,但無法使用 MEW(下載/離線版本)連接到它。我不斷收到此錯誤:
無法連接到節點。刷新您的頁面,嘗試不同的節點(右上角),檢查您的防火牆設置。如果是自定義節點,請檢查您的配置。
我注意到我有一個與此處所述類似的問題:https ://github.com/kvhnuke/etherwallet/issues/922 ,我沒有看到請求有效負載。
- 當使用 Parity 的 Javascript 控制台時,像
web3.eth.blockNumber
,之類的命令web3.eth.syncing
都可以工作並返回值。但是,當我通過 npm 安裝 web3.js 時,然後執行以下命令:
var Web3 = require('web3'); var web3 = new Web3(); web3.setProvider(new web3.providers.HttpProvider('http://127.0.0.1:8545'));
所有命令
web3.eth.blockNumber
都返回未定義。但是,web3.eth.getBlockNumber().then(console.log);
返回一個值。謝謝您的幫助!
更新:我還嘗試了以下所有命令(或它們的組合):
parity --jsonrpc-cors '*' --jsonrpc-hosts all --jsonrpc-interface all
parity --jsonrpc-cors '*' --jsonrpc-hosts all --jsonrpc-interface all --rpccorsdomain 127.0.0.1
它們都不起作用。MEW 拋出此錯誤(在控制台中):
index.html:1 無法載入http://127.0.0.1:8545/:對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在“Access-Control-Allow-Origin”標頭。因此,Origin ’null’ 不允許訪問。
最後,
parity --jsonrpc-cors null
成功了。它通過 AFAIK 禁用了 CORS,但現在我的本地 MEW 能夠連接到我的本地奇偶校驗。但是,當使用 web3.js 時,我仍然不確定,例如
var Web3 = require('web3'); var web3 = new Web3(); web3.setProvider(new web3.providers.HttpProvider('http://127.0.0.1:8545')); console.log(web3.eth.blockNumber);
最後一行的輸出返回未定義。
+1 @shuxy,我在使用時遇到了同樣的問題
--rpccorsdomain "*"
,但--jsonrpc-cors null
解決了問題。