Go-Ethereum
無法使訂閱 newBlockHeaders 工作
我這樣做是為了從網路中獲取所有塊:
var web3 = new Web3(); web3.setProvider(new Web3.providers.IpcProvider("...", net)); web3.eth.subscribe('newBlockHeaders', function (err, result) { ... }).on('data', function (blockHeader) { ... });
但從不呼叫回調(除非我關閉 Geth)
在 Windows 和 Linux 上使用 web3 1.0 和最新的 Geth。
還嘗試使用網路套接字但沒有運氣。還有什麼我可以嘗試的嗎?
謝謝。
對我有用的不是從
on
事件中獲取結果,而是在回調中獲取它:web3.eth.subscribe('newBlockHeaders', function (err, result) { if(!error) { console.log(result); // succcess! } });
這對我有用
let Web3 = require('web3') const web3 = new Web3(new Web3.providers.WebsocketProvider('wss://xxxxxx')) web3.eth.subscribe('newBlockHeaders', function (error, result) { if (!error) { console.log(result); } });