首页 > 其他分享 >连接metamask,并签名

连接metamask,并签名

时间:2023-04-27 12:12:32浏览次数:34  
标签:await const metamask ethers ethereum 签名 address 连接

在assets下新建metamask.js

import { ethers } from "ethers"; //版本号为 "ethers": "^4.0.47",
import { buildLoginNonce } from '@/api/register' //请求接口后台返回随机验证码
/**
 * 
 * @param {*} ethereum 连接钱包类型 metamask(ethereum)、nabox(NaboxWallet)
 * @returns 
 */

export async function metamaskWallet(ethereum = 'ethereum') {
    if (typeof window[ethereum] === "undefined") {
        if(ethereum === 'ethereum'){
            alert("Please install MetaMask")
        }else{
            alert("Please install Nabox Wallet")
        }
    } else {
        const provider = new ethers.providers.Web3Provider(window[ethereum]);
        let address = null
        try {
            address = await window[ethereum].request({ method: 'eth_requestAccounts' }); //连接钱包
        } catch (error) {
            throw(error)
        }
        if (address[0]) {
            // 签名
            const code = await buildLoginNonce(address[0]); 
            const jsonRpcSigner = provider.getSigner();
            const signature = await jsonRpcSigner.signMessage(code.data);
            console.log(signature)
        }
    }
}

 

标签:await,const,metamask,ethers,ethereum,签名,address,连接
From: https://www.cnblogs.com/tlfe/p/17358547.html

相关文章

  • Apk签名_自签名_命令行_四字节对齐_apktool_apksigner_keytool
    生成秘钥库keytool-genkey-alias别名-keyalgRSA-validity证书有效天数-keystore名称.keystore如需查看:keytool-list-keystore"antma.keystore"注意使用jarsigner签名为v1无法安装在新的设备上以下工具都在Androidstudio的SDK中apksigner签名代码:apksigner......
  • sql连接处理
    序言数据存储是一个很重要的话题,小到C里面的struct,到os的一个个数据表,大到一个个数据库软件乃至单纯提供数据存储和访问服务的集群,提供数据的快速访问、持久化维护、崩坏数据的恢复,数据的加密维护等可算一个系列工种了。想说它是个很大的话题,落在python中,其实也就很多都是用,这里......
  • java连接jdbc-mssql数据库
    packagecom.swift.erp;importjava.sql.SQLException;importjava.sql.Statement;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;publicclassAPP{//引入sqljdbc.jarpublicstaticvoidmain(String[]args......
  • java连接数据库的5种方式
    方式一直接导入第三方库驱动类这种加载方式在jdbc入门时已经用过,这个driver属于第三方库,。为静态加载,灵活性差,依赖性抢方式二使用反射机制获取方式一和方式二代码packagecom.hsp.edu;importcom.mysql.cj.jdbc.Driver;importjava.lang.reflect.Constructor;import......
  • SQL2005_用户_'sa'_登录失败。该用户与可信_SQL_Server_连接无关联解决办法
    [code]如果安装sqlserver2005的时候,设置的身份验证模式为"windows",安装完成后,再设置为"sqlserver和windows"的身份验证模式,如果安装sqlserver2005的时候,设置的身份验证模式为"windows",安装完成后,再设置为"sqlserver和windows"的身份验证模式,......
  • gitlab ssh key无法连接
    tosolveaboveissuejustchange"HostKeyVerificationStrategy"to"Acceptfirstconnection"Dashboard>ManageJenkins>ConfigureGlobalSecurity>GitHostKeyVerificationConfiguration.TheninHostKeyVerificationStr......
  • Qt+MySql开发笔记:Qt5.9.3的msvc2017x64版本编译MySql8.0.16版本驱动并Demo连接数据库
    前言  mysql驱动版本msvc2015x32版本调好,mysql的mingw32版本的驱动上一个版本编译并测试好,有些三方库最低支持vs2017,所以只能使用msvc2017x64,基于Qt5.9.3,于是本篇编译mysql驱动的msvc2017x64版本,满足当前的特定需求,这次过程有点费劲,可能是Qt的版本低于Qt5.12,继续无保留分享......
  • sql数据库连接
    前言作为数据存储的数据库,近年来发展飞快,在早期的程序自我存储到后面的独立出中间件服务,再到集群,不可谓不快了。早期的sql数据库一枝独秀,到后面的Nosql,还有azure安全,五花八门,教人学不过来阿。一mysql数据库的golang操作针对数据库操作,往往需要安装实体数据库和对应的数据库驱......
  • APK签名
    0背景通过对Apk进行签名,开发者可以证明对Apk的所有权和控制权,可用于安装和更新其应用。而在Android设备上的安装Apk,如果是一个没有被签名的Apk,则会被拒绝安装。在安装Apk的时候,软件包管理器也会验证Apk是否已经被正确签名,并且通过签名证书和数据摘要验证是否合法......
  • Kali系统 连接 Xshell
    1>进入kali系统,修改ssh配置文件:vi/etc/ssh/sshd_config2>将PermitRootLoginwithout-password修改为:PermitRootLoginyes快速查找::setnumber/PermitRootLogin3>找到#PasswordAuthenticationyes把#的注释去掉快速查找::setnumber/PasswordAuthentication......