¿Cómo obtener todas las listas de direcciones de ethereum que tienen mi token?

Quiero una lista de todas las direcciones de ethereum que tienen mi token ERC20 en su cuenta. Alguien tiene una idea de cómo obtener la dirección de la lista. porque quiero dar dividido a cada cuenta que tenga mi token ERC20.

Puede usar los eventos para obtener la lista de direcciones o usar una nueva matriz para almacenar direcciones en su contrato.
¿De qué evento obtengo?
¿Tiene un Transferevento en su contrato que especifique los parámetros fromAddress,toAddress,tokenCount? ¿Puede pegar el código?
sí, tengo Transfer y tokenCount
función de transferencia (dirección _a, uint256 _valor) devoluciones públicas (bool éxito) { validarTransferir (mensaje.remitente, _a,_valor); //asignar el recuento total de tokens de venta if(address(saleToken) == _to) { saleToken.setTotalToken(_value); } return super.transfer(_to, _value); }
..Parece que tienes un evento de transferencia``` event Transfer(dirección indexada _from, dirección indexada _to, uint256 _value);`````
Así que enumera los eventos en tu js

Respuestas (1)

Hágalo usando su Transferevento en su contrato.

    var myEvent = contract.Transfer({},{fromBlock: 0, toBlock: 'latest'});
    myEvent.get((error, result) => {
               console.log(result);
      });

use fromBlockparam como 5933218, el bloque en el que se creó el contrato

Pero emite mi contrato de token y el contrato ico son dos contratos diferentes. así que no recibo el evento Transfer. ¿Tienes alguna idea sobre cómo obtener todas las direcciones?
@sagarjethi, debe obtener la instancia del contrato de token en su js y hacer el código anterior para obtener el registro de eventos.
contractObj = new web3.eth.Contract(CONTRACT_ABI, contractAddress); contractObj.getPastEvents('Transfer' || 'allEvents', { fromBlock: 0, toBlock: 'latest' },function(err,res){ console.log(err,res); });
contractObj.Transfer({},{ fromBlock: 0, toBlock: 'latest' },function(err,res){ console.log(err,res); });