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 $_ENV为空的原因分析
Jun 01 PHP
PHP多个版本的分析解释
Jul 21 PHP
php一个找二层目录的小东东
Aug 02 PHP
很让人受教的 提高php代码质量36计
Sep 05 PHP
php中get_cfg_var()和ini_get()的用法及区别
Mar 04 PHP
php微信支付之APP支付方法
Mar 04 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
WIFI万能钥匙密码查询接口实例
Sep 28 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
PHP生成word文档的三种实现方式
Nov 14 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
E路文章系统PHP
2006/12/11 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
js判断当前浏览器类型,判断IE浏览器方法
2014/06/02 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
Javascript中的prototype与继承
2017/02/06 Javascript
bootstrap IE8 兼容性处理
2017/03/22 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
python函数与方法的区别总结
2019/06/23 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
如何利用python读取micaps文件详解
2020/10/18 Python
Python可以用来做什么
2020/11/23 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
暑期实践思想汇报
2014/01/06 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
任命通知范文
2015/04/21 职场文书
安全教育培训心得体会
2016/01/15 职场文书
使用pipenv管理python虚拟环境的全过程
2021/09/25 Python