2
私はweb3jを手直ししています。私が成功したいことのほとんどは、イベントを聞くことができないようです。Web3jのイベントを聴く
リミックスとのballot.sol契約を延長しました。VoteEndedというイベントを追加しました。これはwinningProposalが呼び出されたときに呼び出され、Remix JavaScript VMで動作します。
...
event VoteEnded();
...
function winningProposal() constant returns (uint8 winningProposal) {
uint256 winningVoteCount = 0;
for (uint8 proposal = 0; proposal < proposals.length; proposal++)
if (proposals[proposal].voteCount > winningVoteCount) {
winningVoteCount = proposals[proposal].voteCount;
winningProposal = proposal;
}
VoteEnded();
}
...
私はWeb3jでこの契約と投票などを展開することができます。それから、VoteEndedを聞くフィルタを追加しました。私はそれが好きでした:
EthFilter filter = new EthFilter(DefaultBlockParameterName.EARLIEST, DefaultBlockParameterName.LATEST, contract.getContractAddress());
web3.ethLogObservable(filter).subscribe(new Action1<Log>() {
@Override
public void call(Log log) {
System.out.println("log.toString(): " + log.toString());
}
});
しかし、これがすべてでは何も印刷されません。
私は間違っていますか?