Web3js
訂閱單個 Eth 地址不會返回任何日誌
使用 Infura ,我希望訂閱特定地址
目前,即使我使用 Ethscan 看到它們,我也沒有收到任何事件
如果我刪除“地址”過濾器,訂閱就可以了。
有什麼我想念的嗎?
const address = "0x81b7e08f65bdf5648606c89998a9cc8164397647"; var subscription = web3.eth.subscribe( "logs", { address, }, function(error, result) { if (error) { console.log(error); } else { console.log(result); } } );
我正在 ropsten 網路上使用 metamask 水龍頭進行測試
Chainstack的開發倡導者在這裡!
事件由智能合約發出,因此您需要監聽智能合約地址才能接收任何事件。
水龍頭通常不是智能合約,而只是在前端請求時發送資金的地址。
此程式碼範例檢索 WETH 合約的事件(在主網上)。
var logs = web3.eth.subscribe('logs', { address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', topics: [] }, function(error, result) { if (!error) console.log(result); }) .on("connected", function(subscriptionId) { console.log(subscriptionId); }) .on("data", function(log) { console.log(log); }) .on("changed", function(log) {});
看起來像這樣(只是一個簡短的範例。)
{ address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45', '0x000000000000000000000000b1a3b3ac90380efa3f06aa06fcb8335925aee3d6' ], data: '0x000000000000000000000000000000000000000000000000012dfb0cb5e88000', blockNumber: 15446829, transactionHash: '0x9ff570a0701a787282721550f694ac6448ce243ed4049ca40f3363b882ef9ee5', transactionIndex: 120, blockHash: '0x291891c1c87fe24fdf644f082031f22cd61b511b7dd4744186e1e41fb2139ecc', logIndex: 285, removed: false, id: 'log_b0af76d0' } { address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', topics: [ '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef', '0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45', '0x000000000000000000000000b1a3b3ac90380efa3f06aa06fcb8335925aee3d6' ], data: '0x000000000000000000000000000000000000000000000000012dfb0cb5e88000', blockNumber: 15446829, transactionHash: '0x9ff570a0701a787282721550f694ac6448ce243ed4049ca40f3363b882ef9ee5', transactionIndex: 120, blockHash: '0x291891c1c87fe24fdf644f082031f22cd61b511b7dd4744186e1e41fb2139ecc', logIndex: 285, removed: false, id: 'log_b0af76d0'
您可以在 Chainstack 文件的Node API 參考頁面上找到更多詳細資訊和更多訂閱方法!
該地址沒有發出任何事件,它實際上甚至不是合約,因此它不能發出事件。事件/日誌與事務不同。有些事務會有日誌/事件,有些則不會
事件是合約可以發出的或多或少的單獨日誌語句,因此您可以像在做的那樣在鏈下觀看它們。