参考文章
1、合约代码
pragma solidity ^0.4.21;
contract Coin{
address public minter;
mapping (address=> uint) public balances;
event LogSend(address from, address to, uint amount);
constructor () public {
minter = msg.sender;
}
function min(address receiver, uint amount) public {
if (msg.sender != minter) return ;
balances[receiver] += amount;
}
function send(address receiver, uint amount) public {
if (balances[msg.sender] < amount) return;
balances[msg.sender] -= amount;
balances[receiver] += amount;
emit LogSend(msg.sender, receiver, amount);
}
}
2、设置事件
var myEvent = counter.LogSend();
myEvent.watch(function(err, result){
if (!err){
console.log(result)
} else {
console.log(err);
}
myEvent.stopWatching();
});
转账:
> personal.unlockAccount(eth.accounts[0], "lyh001", 300)
> counter.send(eth.accounts[1], 1)
> miner.start(1); admin.sleepBlocks(1); miner.stop();
此时,可以看到有相关的交易事件输出
> counter.balances(eth.accounts[0])