Enviar un evento a una cuenta de usuario en particular

Estoy tratando de enviar una notificación a un usuario sobre alguna actividad. Traté de usar eventos, pero cuando se activa un evento, va a todas las cuentas de usuario que están actualmente activas en la red. ¿Hay alguna otra forma de hacer lo mismo en Ethereum?

Por lo que sé, esto aún no se puede usar, pero creo que susurro github.com/ethereum/wiki/wiki/Whisper es lo que está buscando

Respuestas (2)

No no hay. Ethereum es un libro público. Eso significa a) todo lo que haces es público, todo el mundo ve todo lo que haces. b) Todo es tirón. Si un usuario quiere ver algo, puede consultar la cadena de bloques, no puede enviar algo a una dirección específica.

Por supuesto que podrías crear algo similar. Pero soluciones como esa seguirían siendo públicas y dependerían de la implementación del cliente. Sin embargo, la idea general de la cadena de bloques es la independencia de los intermediarios centrales y la implementación del cliente.

Si desea implementar algo así: cree un mapeo que mapee la dirección -> su mensaje en el contrato. Luego, el cliente puede verificar regularmente si hay actualizaciones en este mapeo.

Puede crear temas en sus registros indexando campos específicos en su evento

event BidPlaced(address indexed bidder, uint amount);

Luego puede filtrar estos eventos por los campos indexados en su interfaz y mostrar solo notificaciones relevantes para el usuario

var contract = web3.eth.contract(abi).at(contractAddress);
contract.BidPlaced({ bidder: "0x0000..." }).get(console.log);