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脚本的10个技巧(5)
Oct 09 PHP
网页游戏开发入门教程二(游戏模式+系统)
Nov 02 PHP
PHP中的integer类型使用分析
Jul 27 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
为你总结一些php信息函数
Oct 21 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
Apr 21 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP htmlentities()函数用法讲解
Feb 25 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
77A一级收信机修理记
2021/03/02 无线电
php过滤危险html代码
2008/08/18 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
php中Snoopy类用法实例
2015/06/19 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
javascript indexOf函数使用说明
2008/07/03 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
微信小程序实现选项卡滑动切换
2020/10/22 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
谈谈如何手动释放Python的内存
2016/12/17 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
python爬虫容易学吗
2020/06/02 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
说出一些常用的类,包,接口
2014/09/22 面试题
初中化学教学反思
2014/01/23 职场文书
市场营销调查计划书
2014/05/02 职场文书
商家认证委托书格式
2014/10/16 职场文书
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL