PHP实现创建以太坊钱包转账等功能


Posted in PHP onApril 21, 2021

1.Geth下载

(对以太坊了解不深的可以后面自己查找有关geth的资料,与此类似的客户端还有Ethereum、Parity 、Mist),本文采用windows版(Windows系统:geth-windows-amd64-1.8.3)
https://ethfans.org/wikis/Ethereum-Geth-Mirror

安装:

windows版的直接傻瓜式安装到放软件的地方,然后打开安装根目录,这时可以看到有个geth.exe的可执行文件,先别急执行;先在该目录下创建一个piccgenesis.json文件。
piccgenesis.json文件内容如下:

{
"config": {
"chainId": 33,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x4",
"extraData": "",
"gasLimit": "0xffffffff",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": “0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00",
"alloc": { }
}

配置说明请参考:https://www.colabug.com/4943842.html
现在使用cmd命令行工具来运行geth.exe,在该终端下执行如下命令:

geth --datadir “chain” init piccgenesis.json

然后在该终端设置json-rpc,命令如下:

geth --rpc --rpccorsdomain * --datadir ./mychain -rpcport 8534 --port 30308 --identity test --networkid 111111111 --rpcaddr 0.0.0.0 --rpcapi admin,miner,db,eth,net,web3,personal --nodiscover console

注:这里用的是测试网络,不需要同步所有区块,如果要正式应用需要一台linux服务器,开启主网同步所有区块,在打开并设置rpc。

2.使用composer下载web3.php

在此之前本人默认你已有一个本地的测试项目(能跑通),本人用的是tp5的测试项目

要求:

php版本大于7.1且php需开启openssl扩展
安装过程:
请先在composer中加入一行

“minimum-stability”: “dev”,

然后在项目根目录下执行(该项目根目录必须)

composer require sc0vu/web3.php dev-master

或者在 composer.json中加入

“sc0vu/web3.php”: “dev-master”

到这里,准备工作基本完毕。
PHP代码调用web.php接口实现创建新的以太坊账号(在该本地项目需要处理以太坊账号管理逻辑的控制器写,建议随便找个控制器或php页面先测试)
$web3 = new \Web3\Web3(‘http://localhost:8534'); //这里的端口是前面设置的rpc端口号,不要把geth终端关掉
$newAccount = ‘';

$web3->personal->newAccount('123456', function ($err, $account) use (&$newAccount) {
    if ($err !== null) {
        echo 'Error: ' . $err->getMessage();
        return;
    }
    $newAccount = $account;
    echo 'New account: ' . $account . PHP_EOL;
});

执行结果

PHP实现创建以太坊钱包转账等功能

到这里,基本上php+eth的开发就可以跑起来了,下面是web3.php的一些接口使用

https://github.com/sc0Vu/web3.php

gethAPI文档:http://cw.hubwiz.com/card/c/geth-rpc-api/1/4/5/

以上就是PHP实现创建以太坊钱包转账等功能的详细内容,更多关于PHP以太坊钱包的资料请关注三水点靠木其它相关文章!

PHP 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
Discuz! Passport 通行证整合
Mar 27 PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 PHP
破解图片防盗链的代码(asp/php)测试通过
Jul 02 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 PHP
php将access数据库转换到mysql数据库的方法
Dec 24 PHP
php实现的通用图片处理类
Mar 24 PHP
PHP导入导出Excel代码
Jul 07 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
php中的explode()函数实例介绍
Jan 18 PHP
PHP 7.4 新语法之箭头函数实例详解
May 09 PHP
如何使用php生成zip压缩包
Apr 21 #PHP
PHP使用非对称加密算法RSA
laravel ajax curd 搜索登录判断功能的实现
thinkphp 获取控制器及控制器方法
Apr 16 #PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
PHP实现考试倒计时功能代码
Apr 16 #PHP
PHP对接阿里云虚拟号的实现(号码隐私保护)
You might like
PHP新手上路(十)
2006/10/09 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
js 多浏览器分别判断代码
2010/04/01 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
全面解析Angular中$Apply()及$Digest()的区别
2016/08/04 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
express框架实现基于Websocket建立的简易聊天室
2017/08/10 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
ES6 let和const定义变量与常量的应用实例分析
2019/06/27 Javascript
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
Python之PyUnit单元测试实例
2014/10/11 Python
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
基于Django集成CAS实现流程详解
2020/11/28 Python
python定义具名元组实例操作
2021/02/28 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
印度网上药店:1mg
2017/10/13 全球购物
社区敬老月活动实施方案
2014/02/17 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
收银员岗位职责范本
2015/04/07 职场文书
培训通知书模板
2015/04/17 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
导游词之无锡唐城
2019/12/12 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
python之django路由和视图案例教程
2021/07/26 Python