Skip to content

Instantly share code, notes, and snippets.

@siman
Created October 26, 2017 19:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save siman/de133bdf813b82243a58e389e253b97d to your computer and use it in GitHub Desktop.
Save siman/de133bdf813b82243a58e389e253b97d to your computer and use it in GitHub Desktop.
JSON output of Transfer events of Golem token, Ethereum
// web3 code for Golem smart contract
// Golem token:
// https://etherscan.io/address/0xa74476443119A942dE498590Fe1f2454d7D4aC0d
// Golem Token tx:
// https://etherscan.io/tx/0x6e8e11e694673b0b9135511a8267ff05a8444af7d88aaf043350e6349fdb9bb0
// Golem creation block:
// 2603185
var abi = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"golemFactory","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_master","type":"address"}],"name":"setMigrationMaster","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"migrate","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"migrationMaster","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalMigrated","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"funding","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"create","outputs":[],"payable":true,"type":"function"},{"inputs":[{"name":"_golemFactory","type":"address"},{"name":"_migrationMaster","type":"address"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingEndBlock","type":"uint256"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Migrate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Refund","type":"event"}];
var providerLocal = "http://localhost:8545";
// Infura nodes doesn’t store events :(
var providerInfura = "https://mainnet.infura.io/diJO3q7ANjcB4l9iW9ph";
var Web3 = require('web3');
web3 = new Web3(new Web3.providers.HttpProvider(providerLocal));
var contract = web3.eth.contract(abi);
var instance = contract.at('0xa74476443119A942dE498590Fe1f2454d7D4aC0d');
console.log('Token name:', instance.name(), ', total supply:', instance.totalSupply());
var event = instance.Transfer({}, {fromBlock: 2607801, toBlock: 2607804}); // or {toBlock: 'latest'}
// event.watch(function(err, res) { console.log(err, res) });
console.log('Transfer event', event);
var allEvents = event.get(function(err, logs) {
console.log('Logs:\n\n', JSON.stringify(logs, null, 2));
console.log('Error:', err, 'Logs size:', logs.length);
});
console.log('done');
[
{
"address": "0xa74476443119a942de498590fe1f2454d7d4ac0d",
"blockNumber": 2607804,
"transactionHash": "0xd006934e37e244389745495ae481fcf8bfcc08f77ecbb94fd885692024adc4b5",
"transactionIndex": 42,
"blockHash": "0x77edd08a2af034dde99b4a022ea27828d1059aba442097718b5af24bc67513b0",
"logIndex": 37,
"removed": false,
"event": "Transfer",
"args": {
"_from": "0x0000000000000000000000000000000000000000",
"_to": "0xbf5c29bb50dcb96dde76b14a6c4b545a24956e01",
"_value": "3e+23"
}
},
{
"address": "0xa74476443119a942de498590fe1f2454d7d4ac0d",
"blockNumber": 2607804,
"transactionHash": "0x845966e24a7631581c54cadbb7ac4fdeaea3d7ff7edbfd879e5a0324afe6541b",
"transactionIndex": 43,
"blockHash": "0x77edd08a2af034dde99b4a022ea27828d1059aba442097718b5af24bc67513b0",
"logIndex": 38,
"removed": false,
"event": "Transfer",
"args": {
"_from": "0x0000000000000000000000000000000000000000",
"_to": "0x0357d3e0a6268db4f42b05d47892c87cc9fab9b6",
"_value": "1.2e+23"
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment