PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Thursday, July 28, 2022

[FIXED] How to get Transaction Receipt Event Logs?

 July 28, 2022     blockchain, ethereum, javascript, solidity, web3js     No comments   

Issue

I need to get the events emitted by my smart contract and consume them in the front end via web3.

I made some event on my contract that returns event winner and ticket number:

event Winner(uint256 ticketNumber, address winner);

So I emit this event, and I see it on transaction logs.

From Etherscan:

enter image description here

OK! What I need is the data: ticketNumber: 1, winner: 0x........ How did I get this from web3?

Im trying to use:

 await web3.eth.getTransactionReceipt(txnHash, function (error, result) {
          console.log(result);
        });

But when I check console log, I cannot see this information, I suspect that result.logs.data is the right info, but I don't know for sure, and I don't know how to translate:

"0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000005964b608ea267bfe9ef77707fce8105a2d145e7a"

Anybody have an idea?


Solution

If you read the docs, there is getPastEvents method.

myContract.getPastEvents('MyEvent', {
    filter: {myIndexedParam: [20,23], myOtherIndexedParam: '0x123456789...'}, // Using an array means OR: e.g. 20 or 23
    fromBlock: 0,
    toBlock: 'latest'
}, function(error, events){ console.log(events); })
.then(function(events){
    console.log(events) // same results as the optional callback above
});

you can also create event listeners:

contract.events.Winner()
.on('data', (event) => {
    console.log(event);
})
.on('error', console.error);

Docs about subscription to events



Answered By - Yilmaz
Answer Checked By - Terry (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing