智能合约的event如何监听
发布于 16 天前 作者 mysql2017 112 次浏览 来自 智能合约
pragma solidity ^0.4.18;

contract Map3 {
    
    mapping(string => string) map;
    
    event orderlog(string indexed action, string indexed key, string value);
    
    function getvalue(string key) public constant returns (string) {
        return map[key];
    }
    
    function setvalue(string key, string value) public {
        orderlog("setvalue invoked", key, value);
        map[key] = value;
    }
}

现在有如上智能合约,有个orderlog的event 请问,当有setvalue方法调用的时候,会触发这个event。但是,如何监听这个event呢? web3.js能吗?如何使用?

1 回复

web3.js可以监听的,例子如下 //定义合约对象 var myCon = youcontractAbi.at(contract address);

//监听事件 var orderlogEvent = myCon.orderlog(function(error, result) { if (!error) { console.log(result.args.action); }
else { console.log(“orderlog error”);
} });

//取消监听事件方法 orderlogEvent.stopWatching();

回到顶部