来源:https://github.com/MetaMask/mascara

(beta) Add MetaMask to your dapp even if the user doesn't have the extension installed

有两种调用mascara的方法:

1)页面端

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

在网页上调用,将得到:

因此在网页上可以通过window.metamask.createDefaultProvider()的方法来进行使用

2)后台调用(现在我使用的是这种方法)看简单使用metamascara

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)

或者:

const metamask = require('metamascara');
const Web3 = require('web3');
const ethereumProvider = metamask.createDefaultProvider();
const web3 = new Web3(ethereumProvider);

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

如果上面没有设置host,那就说明要使用的是网页版的metamask(https://wallet.metamask.io)。如果想要设置自己的网页版,那么就要将相应的服务端写好,并将接口设成9001,然后就可以通过设置host来进行连接了(这部分之后再讲,在这里将直接使用网页版的metamask)

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.

然后后面分析一下代码

mascara-1的更多相关文章

  1. mascara-2(MetaMask/mascara本地实现)-连接线上钱包

    https://github.com/MetaMask/mascara (beta) Add MetaMask to your dapp even if the user doesn't have t ...

  2. MetaMask/metamask-extension/mascara 的运行实现

    https://github.com/MetaMask/metamask-extension/tree/develop/mascara 找了很多个实例,基本上很少是不使用线上钱包的,只有metamas ...

  3. 使用ab对nginx进行压力测试

    nginx以高并发,省内存著称. 相信大多数安装nginx的同学都想知道自己的nginx性能如何. 我想跟大家分享下我使用ab工具的压力测试方法和结果, ab是针对apache的性能测试工具,可以只安 ...

  4. UI中经常出现的下拉框下拉自动筛选效果的实现

    小需求是当你在第一个下拉框选择了国家时,会自动更新第二个省份的下拉框,效果如下 两个下拉选择Html如下: <select id="country_select"> & ...

  5. 一切皆为 JavaScript

    JavaScript起源于Netscape公司的LiveScript语言,这是一种基于对象和事件驱动的client脚本语言.最初的设计是为了检验HTML表单输入的正确性. 早些年,JavaScript ...

  6. metamascara学习导论

    研究了一段时间的metamascara终于有了一点起色,因为前段时间有一个小伙伴问了我一个问题,就是能不能将metamask嵌入到自己设计的网站中,在自己要进行交易的时候也会弹出一个页面来让用户确认这 ...

  7. 简单使用metamascara

    package.json 配置文件信息 { "name": "test-mascara", "version": "1.0.0&q ...

  8. Neo4j 文档

    Graph Fundamentals 基础 Basic concepts to get you going. A graph database can store any kind of data u ...

  9. 运行metamascara时出现的一些错误

    The difference between mascara and the extension Mascara Is in alpha and some of it's behaviors are ...

随机推荐

  1. C# 数据库并发的解决方案(通用版、EF版)

    自ASP.NET诞生以来,微软提供了不少控制并发的方法,在了解这些控制并发的方法前,我们先来简单介绍下并发! 并发:同一时间或者同一时刻多个访问者同时访问某一更新操作时,会产生并发! 针对并发的处理, ...

  2. Centos7下开启80端口

    firewall-cmd --zone=/tcp --permanent 命令含义:   --zone #作用域   --add-port=80/tcp  #添加端口,格式为:端口/通讯协议   -- ...

  3. MEF 插件式开发之 DotNetCore 中强大的 DI

    背景叙述 在前面几篇 MEF 插件式开发 系列博客中,我分别在 DotNet Framework 和 DotNet Core 两种框架下实验了 MEF 的简单实验,由于 DotNet Framewor ...

  4. 初学CSS-3-文字的属性

    文字样式属性: 格式:font-style:italic;/normal; 快捷键:fsi / fsn + tab键 文字粗细属性: 格式:font-weight:bold;/bolder;/ligh ...

  5. Python 简单的远程执行命令

    client端执行命令,server端返回命令结果 # server 端 import socket, subprocess sk = socket.socket() address=('127.0. ...

  6. 洛谷P4563 [JXOI2018]守卫(dp)

    题意 题目链接 Sol 非常有意思的题目. 我们设\(f[l][r]\)表示区间\([l,r]\)的答案. 显然\(r\)位置一定有一个保镖 同时不难观察到一个性质:拿\([1, n]\)来说,设其观 ...

  7. SQLServer Management Studio登录框中的“服务器名”填写

    SQL Server Management Studio登录框中的“服务器名”填写 by:授客 QQ:1033553122 打开MSSQL Management Studio,如图,登录框中怎么填写? ...

  8. SpringBoot整合Rabbitmq设置消息请求头

    String str = "{\"origin\":\"BBC\",\"origin_coupon_id\":51,\" ...

  9. Sql Server 判断字符串是否可以转数字

    主要是在sql server的内置系统函数ISNUMERIC的基础上,将例外的“+”.“-”.“$”等也进行判断. CREATE FUNCTION [dbo].[fn_IsNumberic]( @st ...

  10. centos 6.5下安装nmap工具及简单用法

    Nmap是一款针对大型网络的端口扫描工具,被广泛应用于黑客领域做漏洞探测以及安全扫描,其主要功能有主机发现(Host Discovery). 端口扫描(Port Scanning). 版本侦测(Ver ...