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 相关文章推荐
php下统计用户在线时间的一种尝试
Aug 26 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
Jul 01 PHP
Zend Framework页面缓存实例
Jun 25 PHP
详解WordPress中添加和执行动作的函数使用方法
Dec 29 PHP
php结合ajax实现手机发红包的案例
Oct 13 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
微信接口生成带参数的二维码
Jul 31 PHP
完美的php分页类
Oct 24 PHP
PHP测试框架PHPUnit组织测试操作示例
May 28 PHP
PHP中的自动加载操作实现方法详解
Aug 06 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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
2019年中国咖啡业现状与发展趋势
2021/03/04 咖啡文化
逐步提升php框架的性能
2008/01/10 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
php实现留言板功能
2017/03/05 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
Node.js简单入门前传
2017/08/21 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
智能钱包:Ekster
2019/11/21 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
关于运动会的稿件
2014/02/02 职场文书
健康家庭事迹材料
2014/05/02 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS
Python内置数据结构列表与元组示例详解
2021/08/04 Python
Java实现简单小画板
2022/06/10 Java/Android