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 is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
PHP 面向对象详解
Sep 13 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
简述php环境搭建与配置
Dec 05 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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学习教程之第1天
2008/06/15 PHP
PHP概率计算函数汇总
2015/09/13 PHP
值得分享的php+ajax实时聊天室
2016/07/20 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
2018/10/10 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
js将json格式内容转换成对象的方法
2013/11/01 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
javascript数组排序汇总
2015/07/07 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
Nodejs实现用户注册功能
2019/04/14 NodeJs
Vue 自定义指令功能完整实例
2019/09/17 Javascript
vue单应用在ios系统中实现微信分享功能操作
2020/09/07 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
Python获取任意xml节点值的方法
2015/05/05 Python
python的mysqldb安装步骤详解
2017/08/14 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Django使用Celery异步任务队列的使用
2018/03/13 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
python 实现逻辑回归
2020/12/30 Python
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
应届生人事助理求职信
2013/11/09 职场文书
商铺租赁意向书
2014/04/01 职场文书
回复函格式及范文
2015/07/14 职场文书
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS