00 / Overview
The project at a glance.
Ethmailer explores messages addressed to Ethereum accounts. A Solidity registry associates addresses with public keys, while the browser encrypts message payloads, stores them through IPFS, and sends content references through contract events.
Implementation
Connected a Solidity public-key registry and message events with browser encryption, IPFS storage, and a JavaScript inbox.
Project scope
A historical proof of concept connecting account identity, encrypted off-chain payloads, and contract-event delivery.
Address-based delivery
The contract stores a public key for each registered Ethereum address. Sending a message looks up the recipient’s key and emits an event containing the sender, recipient, and IPFS content reference.
Browser and storage integration
The JavaScript client uses Web3 and Truffle contract abstractions to register keys and watch message events. It encrypts outgoing payloads, writes them to IPFS, retrieves incoming content references, and decrypts messages in the browser.
Prototype boundaries
The README identifies this as a proof of concept. It is a historical experiment in connecting Ethereum contract events, browser cryptography, and off-chain storage.