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下实现折线图效果的代码
Apr 28 PHP
php表单提交问题的解决方法
Apr 12 PHP
php中3des加密代码(完全与.net中的兼容)
Aug 02 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
PHP APC缓存配置、使用详解
Mar 06 PHP
php验证是否是md5编码的简单代码
Apr 01 PHP
php实现在服务器端调整图片大小的方法
Jun 16 PHP
PHP二维数组去重算法
Dec 17 PHP
微信开发之php表单微信中自动提交两次问题解决办法
Jan 08 PHP
laravel框架与其他框架的详细对比
Oct 23 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
PHP并发场景的三种解决方案代码实例
Feb 27 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 随机排序广告的实现代码
2011/05/09 PHP
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
JSON 入门指南 想了解json的朋友可以看下
2009/08/26 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
location对象的属性和方法应用(解析URL)
2013/04/12 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
基于jQuery实现仿51job城市选择功能实例代码
2016/03/02 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
浅谈vuepress 踩坑记
2018/04/18 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
js实现秒表计时器
2019/12/16 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
JS创建自定义对象的六种方法总结
2020/12/15 Javascript
python分割和拼接字符串
2013/11/01 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
Python实现名片管理系统
2020/02/14 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
Java语言的优势
2015/01/10 面试题
小学美术教学反思
2014/02/01 职场文书
奖学金个人总结
2015/03/04 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
文艺委员竞选稿
2015/11/19 职场文书
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
讨论nginx location 顺序问题
2022/05/30 Servers