Ich habe einen trivialen Vertrag und möchte über alle Ereignisse für den Vertrag benachrichtigt werden. Aber ich sehe keine Ereignisse, die für meinen Vertrag aufgerufen werden:
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)
});
Sie können in der Konsole sehen, dass deposit() erfolgreich funktioniert hat, aber keine Callback-Aufrufe, die mit meinem Adressaufruf übereinstimmen, in der Konsole vorhanden sind. Warum ist das? Ist das erwartetes Verhalten?
Das Problem war, dass ich hier meine Brieftaschenadresse anstelle der Vertragsadresse verwendet habe:
web3.eth.contract(abi).at("0xe45866ac5d51067ce292bc656c790e94ddcf0766")
Die aktuelle Web3-API informiert nicht, wenn die Adresse hier falsch ist ...