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编程语言开发动态WAP页面
Oct 09 PHP
抓取YAHOO股票报价的类
May 15 PHP
PHP 抓取新浪读书频道的小说并生成txt电子书的代码
Dec 18 PHP
PHP 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
PHP 类相关函数的使用详解
May 10 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
微信支付开发交易通知实例
Jul 12 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 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
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
JS闭包原理及其使用场景解析
2020/12/03 Javascript
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python探索之pLSA实现代码
2017/10/25 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
高中生学习总结的自我评价范文
2013/10/13 职场文书
高中校园广播稿
2014/01/11 职场文书
操行评语大全
2014/04/30 职场文书
党建目标管理责任书
2014/07/25 职场文书
投标授权委托书范文
2014/08/02 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
2014年就业工作总结
2014/11/26 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
MySQL索引失效场景及解决方案
2022/07/23 MySQL
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python