(beta) Add MetaMask to your dapp even if the user doesn't have the extension installed
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
example prepare widget Oct 25, 2017
images
lib
.eslintrc.js
.gitignore add .gitignore Sep 18, 2017
.npmignore
LICENSE
README.md get rid of warning Nov 4, 2017
config.json add eth_personalSign to pop up list Nov 14, 2017
mascara.js enable widget Nov 20, 2017
package.json

README.md

MetaMascara

MetaMascara(mascara) brings metamask when metamask is not installed.

Disclaimer:

MetaMascar is in alpha expect breaking changes

to use as a CDN put this script tag in the <head> of your html file:

<script src="https://wallet.metamask.io/metamascara.js"></script>

or bring your own:

npm i --save metamascara

const metamask = require('metamascara')
const EthJs = require('ethjs')

// mascara will use the environmental provider if the user brings one
// in the form of metamask extension, mist or parity
// other wise it will make one for you :}

const ethereumProvider = metamask.createDefaultProvider()

const eth = new EthJs(ethereumProvider)

// do stuff...

Developing:

For development with metamask-extension/mascara to point the iframe at localhost just do:

const metamask = require('metamascara')
const ethereumProvider = metamask.createDefaultProvider({
    host: 'http://localhost:9001'
  }) // or what ever port you use

How does it work and how to use it:

Mascara is an iframe that acts as a proxy between your dapp and metamask core. The metamask core is the global context housed in a service worker, it does the key management for every dapp the user visits.

nomnom

todo's: