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 相关文章推荐
mysql5写入和读出乱码解决
Nov 25 PHP
PHP设计模式 注册表模式
Feb 05 PHP
PHP输出时间差函数代码
Jan 28 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
PHP字符串的连接的简单实例
Dec 30 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
php文件操作之小型留言本实例
Jun 20 PHP
在Windows系统下使用PHP生成Word文档的教程
Jul 03 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
PHP基于IMAP收取邮件的方法示例
Aug 07 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
基于HTTP长连接的"服务器推"技术的php 简易聊天室
2009/10/31 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
js停止输出代码
2008/07/20 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
tensorflow多维张量计算实例
2020/02/11 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
个人简历自我鉴定
2013/10/11 职场文书
安全标准化汇报材料
2014/02/03 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
公路绿化方案
2014/05/12 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
学校推普周活动总结
2015/05/07 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
小学音乐课教学反思
2016/02/18 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python