以太坊中metamask、imtoken等钱包签名的php验证
以太坊中metamask、imtoken等钱包签名的php验证
之前开发Dapp,需要用到以太坊钱包登陆dapp,找了很久没有这方面的库,加密算法倒是有很多,直接重新写了一个库,https://github.com/huigan/ethsign。
composer 安装:composer require huigan/ethsign
此代码库为以太坊中使用metamask等钱包生成的签名的验证。
##步骤1 前端传值 签名、消息字符、地址。如下:
sign: 里面包含三部分,分别是:r s v,无需自己解析,传入后代码会自动解析。例如:0xb319edba9d9d8c12a83d3a6e2a072fa5813dd8a5e9460ac3a475ab40a9988ddd059eed15f8c748a2b18c303b2a290a40c464b0a72274dfe1a96820bb02617b4f1b
msg: 为签名字符串。 例如:123456
address: 签名地址。 例如:0xc9fa719138a0d8fec944ed2bdc6d191e3ef08721
##步骤2 后端拿到上面的三个值进行验证。
use huigan\EthSign;$EthSign = new EthSign();
$sign="0xb319edba9d9d8c12a83d3a6e2a072fa5813dd8a5e9460ac3a475ab40a9988ddd059eed15f8c748a2b18c303b2a290a40c464b0a72274dfe1a96820bb02617b4f1b";
$msg="123456";
$address="0xc9fa719138a0d8fec944ed2bdc6d191e3ef08721";$succ=$EthSign->verify($msg,$sign,$address);
以太坊中metamask、imtoken等钱包签名的php验证相关推荐
- 以太坊和Metamask开发web应用时不再需要密码
我在ConsenSys为各种客户构建了大量的概念证明,通常他们想要利用以太坊区块链来解决某些业务用例.奇怪的是,这些系统通常设计有标准的网络登录(即用户名和密码).我总是问自己为什么我还在这样做设计, ...
- [以太坊源代码分析] V. 从钱包到客户端
以太坊作为一种数字货币以太币的运行系统,显然它也会有类似于钱包的客户端程序,用来提供管理账户余额等功能.我们知道,存放(或者绑定,挂靠)以太币的账户,在代码中以Address类型变量存在,所以能够管理 ...
- [以太坊源代码分析] IV. 椭圆曲线密码学和以太坊中的椭圆曲线数字签名算法应用
数字签名算法在Ethereum中的应用不少,目前已知至少有两处:一是在生成每个交易(Transaction, tx)对象时,对整个tx对象进行数字签名:二是在共识算法的Clique算法实现中,在针对新 ...
- 以太坊中的账户、交易、Gas和区块Gas Limit等基本概念
本篇文章作为科普文章,汇总整理了以太坊中的账户.交易.Gas和区块Gas Limit等相关概念,以便大家在实践中更好的与具体业务相结合. 什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又 ...
- ftl有三种映射地址_浅谈以太坊中的三种“树”
无论是比特币还是以太坊,它们都是完全由代码创造出来的,它们的几乎所有一切都是程序执行的结果.对计算机程序有些了解的朋友应该都知道,计算机程序离不开数据结构和算法. 顺便提一下,有部分人不认为比特币和以 ...
- 以太坊中的nonce
以太坊创建每个账户时初始nonce=0,以后每次交易nonce+1,防止以太坊中的replay attack. 参考:https://www.bilibili.com/video/BV1Vt411X7 ...
- 区块链学习笔记16——以太坊中的交易树和收据树
十六.以太坊中的交易树和收据树 每次发布一个交易的时候,那些交易会组织成一个交易树,也是一颗Merkle tree跟比特币中的情况是类似的,同时以太坊还增加了一个收据树,每个交易执行完之后会形成一个收 ...
- 区块链开发(十五)以太坊中的Events和Logs解析及用途
以太坊中的事件(Events)和日志(Logs)是个特别让人困惑的概念,本文帮大家梳理. 因为上篇文章,我们讨论过以太坊go-ethereum客户端查询交易列表的一些办法,这篇文章,我们具体实现一种f ...
- Paradigm 介绍 Goldfish:PoS 以太坊中 LMD GHOST 分叉规则的安全替代品
合并:从工作量证明到权益证明 以太坊即将从工作量证明 (PoW) 过渡到权益证明 (PoS) ,这是多年研究和开发的结晶.虽然 PoS 带来了许多潜在的优势,但这也意味着以太坊正在放弃中本聪最&quo ...
最新文章
- 走你!Github 开源整合
- 实时检测神经振荡可实现行为相关的神经反馈
- 重温强化学习之策略梯度算法
- 离散数学序关系与相容关系
- NET问答: 如何给 ASP.NET Core 配置指定端口 ?
- Error installing bundler:bundler requires Ruby version >= 2.3.0.
- session用法_面试中经常问到的:session和cookie有什么区别?
- 默认权限umask、文件系统权限、特殊权限
- matlab处理最优化问题,matlab求最优化问题
- Lightroom Classic 教程,如何在 Lightroom 中创建黑色电影效果?
- win10家庭版,双击bat文件无法运行_20200120
- TypeScript + React + Redux 实战简单天气APP全套完整项目
- python绘图设置时间坐标轴_Matplotlib绘图双纵坐标轴设置及控制设置时间格式
- lol服务器维护 胜率,说下这游戏服务器控制胜率怎么来的。
- 详解oracle多种表连接方式,详解Oracle多种表连接方式
- ROS实现串口GPS数据的解析与通信(这篇文章所用的代码和我买的带有ROS功能包的GPS模块的功能包的代码一样)
- hmc如何进入aix系统_hmc操作手册.doc
- mysql数据库巡检方案_Mysql数据库巡检
- Head First Servlets and JSP(二)
- Fourth6: Comprehensive project network upgrade | Cloud computing
热门文章
- VMware虚拟机中没有VMnet0的解决办法
- (二)随处可见的LED广告屏是怎么工作的呢?代码实现
- sublime text3 python找不到文件路径_sublime text3 系统找不到指定的文件
- 【转】游戏设计的秘密——翻译GDC2010 blizzard的一个演讲
- 百万“悬赏” | 2022光合组织AI解决方案大赛Wanted You!
- 《linux 网络日志分析与流量监控》记录
- c++primerplus6notes
- 计算机老出现无法响应,win7电脑经常出现“程序未响应”的提示怎么办?
- Android超人气系列动态壁纸下载(免费)
- 法里昂第一大学一座大楼楼顶爆炸起火 致至少3人伤