Skip to content

Smart contract for attributing value to read receipts & message replies.

Notifications You must be signed in to change notification settings

communisaas/read-token

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read tokens (in-progress)

What's the value of someone reading your message?

Email headers like Return-Receipt-To and Disposition-Notification-To ask common mail clients/apps to send back read receipts/open events. These events are more reliable than what tracking pixels provide, and give more explicit right-to-consent for sending a receipt.

This smart contract operates on the Solana blockchain since it has reasonable transaction fees and throughput.

How it works

A writer publishes an email message template onto the platform, directed at a decision-maker who is vetted by the community.

A message sender enables verified read receipts & sends email through communi.email

so

  1. A public-private key pair is generated server-side
  2. Private key signs the email, and the signature is appended as a subaddress; message headers are mirrored to a database
  3. Email is dispatched, secured via Transport Layer Security (TLS)
  4. Smart contract containing the public key is created on the Solana blockchain

and then

Receipient opens email message

  1. Email read receipt (MDN) sent
  2. Endpoint within communi.email queries original email headers
    • Check if properties match
  3. If email checks out, and email-writer-sender trio has not already successfully executed on the blockchain, execute contract to verify email signature

finally

Contract validates email signature by checking public key

  • If good signature:
    • token now free for the email sender and writer to withdraw
  • Else:
    • no token

About

Smart contract for attributing value to read receipts & message replies.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages