Encrypted Peer to Peer Communications


A while ago I made a project that allows for encrypted peer to peer communication over ipfs using a registry smart contract and public key cryptography.

Here's the smart contract if anyone is curious:

contract Mail {

    mapping (address => string) public pubKeyRegistry;

    event Mail(address indexed to, address indexed from, string hash);

    function getPub(address _address) public constant returns (string) {
        return pubKeyRegistry[_address];

    function updatePubRegistry(string pubKey) public {
        pubKeyRegistry[msg.sender] = pubKey;

    function sendMail(address recipient, string hash) public {
        require(bytes(pubKeyRegistry[recipient]).length != 0);
        Mail(recipient, msg.sender, hash);


The server is no longer running so ethmailer.com no longer works

@elliot 0_1525066356858_Screenshot_58.png

I am getting this error

Are there any examples or applications that I can review?

@sarahmullen you can try Tox.im. It uses distributed hash tables - torrent like technology that makes of a distributed network. It uses public-privacy key cryptography similar to Bitcoin's. This way, communication is encrypted end-to-end and users negotiate the key exchange rather than the software. Very simple. A statement on the Tox.im homepage reads:

this is not working http://ethmail.tech/

@arrana said in Encrypted Peer to Peer Communications:

you can try Tox.im.

Thank you, I checked that, I found another good one though

@nicolaortiz The domain is .com and also I shut down the IPFS server associated with it so it no longer works 😛