Skip to content

harshjv/dopplr-browser

Repository files navigation

Dopplr

Ethereum for humans!

Visit https://dopplr.io

What is Dopplr?

Think Dopplr as Metamask minus chrome extension plus identity provider.

Dopplr is an extensible & cross-platform Ethereum browser. Using iframe and window.postMessage, it provides a secure way of signing data while keeping encrypted private key in localStorage or somewhere in a remote location.

Architecture

  1. DApp developer embeds Dopplr-Web3 library (https://dopplr.io/web3.js) with the DApp.
  2. When DApp is loaded using Dopplr-browser (inside an iframe), Dopplr-Web3 will connect to parent web3-provider.
  3. iframe-messenger routes all the RPC and signing calls to Dopplr-browser, and then again redirected back to DApp upon result.
  4. Dopplr-browser contains Dopplr-UI which handles signing requests through intermediate OTP provider (optional).
  5. Up on successful authentication, the signed data is passed back to the DApp, otherwise an authentication error is thrown.

Architecture Diagram

Demo

  1. Visit https://dev.dopplr.io/harshjv
  • this end point (/harshjv) is configured with;
    • Telegram as OTP provider
    • a remote server as encrypted private key provider
  1. Browse any Dopplr-compatible DApp
  2. Do any destructive action
  3. For development/test environment, OTP is 123456 and password is 1234