Web3js
過濾器不會為我的合約觸發事件
我有一個瑣碎的契約,我想獲得契約所有事件的通知。但我沒有看到我的契約需要任何事件:
contract MainContract{ event Evt(address indexed _sender,string jsn); function deposit(string jsn) returns (int256) { Evt(msg.sender, jsn); } } var contract = web3.eth.contract(abi).at("0xe45866ac5d51067ce292bc656c790e94ddcf0766"); web3.eth.filter({},function(err,res) { console.log("on filter",res.address); }); contract.deposit('hello there',function (res) { console.log(arguments) });
您可以在控制台中看到 deposit() 成功執行,但控制台中沒有與我的地址呼叫匹配的回調呼叫。為什麼是這樣?這是預期的行為嗎?
問題是我在這裡使用了我的錢包地址而不是合約地址:
web3.eth.contract(abi).at(“0xe45866ac5d51067ce292bc656c790e94ddcf0766”)
目前的 web3 API 不會通知此處的地址是否不正確…