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学习 计数器实例代码
Jun 15 PHP
php中simplexml_load_string使用实例分享
Feb 13 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
浅谈php提交form表单
Jul 01 PHP
PHP函数超时处理方法
Feb 14 PHP
CodeIgniter常用知识点小结
May 26 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 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
世界上第一台立体声收音机
2021/03/01 无线电
第一节--面向对象编程
2006/11/16 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
Bootstrap插件全集
2016/07/18 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python网络编程示例(客户端与服务端)
2014/04/24 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
python tkinter canvas使用实例
2019/11/04 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
银行实习生的自我评价
2013/12/09 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
公司经理任命书
2014/06/05 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
2014领导班子正风肃纪思想汇报
2014/09/18 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
如何使用PyCharm及常用配置详解
2021/06/03 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
Win2008系统搭建DHCP服务器
2022/06/25 Servers