简体   繁体   English

如何监听自定义事件 web3 flutter

[英]How to listen custom event web3 flutter

I was trying to listen an event from bsc chain testnet我试图从 bsc 链测试网监听一个事件

Contract address: 0x99ab1685b4227087ec776fdf75947537f2a150e1合约地址:0x99ab1685b4227087ec776fdf75947537f2a150e1

Event: AuctionStart事件:拍卖开始

i have created the contract using abi and contract address and this is working fine.我已经使用 abi 和合同地址创建了合同,这工作正常。

final ContractEvent transferEvent = contract!.event("AuctionStart");

web3client
        .events(FilterOptions.events(contract: contract, event: transferEvent))
        .listen((event) {print(event);});

but i am not getting anything though i have an event.但我没有得到任何东西,虽然我有一个事件。 https://testnet.bscscan.com/address/0x21a7e36c3610c98a485ae3f5f34d9db6423bbcbf#events https://testnet.bscscan.com/address/0x21a7e36c3610c98a485ae3f5f34d9db6423bbcbf#events

First initialize your contract Abi file from asset.首先从asset初始化你的合约Abi文件。 Then configure filter options as below.然后如下配置过滤器选项。

final DeployedContract?最终部署合同? contract = await anchorContract(contractToken);合约 = 等待锚定合约(合约代币);

    final auctionEvent = contract!.event('Transfer');
    
    FilterOptions options = FilterOptions(
      address: contract.address,
      fromBlock: BlockNum.genesis(),
      toBlock: BlockNum.current(),
      topics: [
        [bytesToHex(auctionEvent.signature, padToEvenLength: true, include0x: true)],
      ],
    );
    var event = web3client.events(options);
    event.listen((e) {
      print("Event: $e");
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM