PHP实现创建以太坊钱包转账等功能

 更新时间:2021年04月20日 16:08:45   作者:song40188  
这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下

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+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的中使用非缓冲模式查询数据库的方法

    缓冲查询和非缓冲查询(Buffered and Unbuffered queries)。PHP的查询缺省模式是缓冲模式。也就是说,查询数据结果会一次全部提取到内存里供PHP程序处理,需要的朋友可以参考下
    2017-02-02
  • php统计文件大小,以GB、MB、KB、B输出

    php统计文件大小,以GB、MB、KB、B输出

    学习了fread读取命令,用到了filesize函数,知道这个函数定大有用到的时候,遂用之编写统计文件大小函数
    2011-05-05
  • php获取本地图片文件并生成xml文件输出具体思路

    php获取本地图片文件并生成xml文件输出具体思路

    本文将详细介绍下php获取本地图片文件并生成xml文件输出,代码简单实用,感兴趣的朋友可以参考下哈,希望对你学习php有所帮助
    2013-04-04
  • 深入php 正则表达式的学习探讨

    深入php 正则表达式的学习探讨

    本篇文章是对php正则表达式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中常用的字符串格式化函数总结

    PHP中常用的字符串格式化函数总结

    这篇文章主要介绍了PHP中常用的字符串格式化函数总结,本文讲解的函数是WEB中经常用到的,例如取出空格和字符串填补函数、字符串大小写的转换、和HTML标签相关的字符串格式化等,需要的朋友可以参考下
    2014-11-11
  • 一个简单至极的PHP缓存类代码

    一个简单至极的PHP缓存类代码

    这篇文章和大家分享了一个简单至极的PHP缓存类代码,缓存的应用对于php项目的开发来说尤为重要,需要的朋友可以参考下
    2015-10-10
  • PHP 定界符 使用技巧

    PHP 定界符 使用技巧

    因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况
    2009-06-06
  • PHP附件下载中文名称乱码的解决方法

    PHP附件下载中文名称乱码的解决方法

    这篇文章主要介绍了PHP附件下载中文名称乱码的解决方法,分析了中文乱码形成的原因及对应的编码转换方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • PHP接口多继承及tarits实现多继承效果的方法

    PHP接口多继承及tarits实现多继承效果的方法

    这篇文章主要介绍了PHP接口多继承及tarits实现多继承效果的方法,结合实例形式分析了php基于接口的多继承及PHP5.4中引入的tarits实现多继承功能简单操作技巧,需要的朋友可以参考下
    2018-01-01
  • php fread读取文件注意事项

    php fread读取文件注意事项

    php fread函数用于从文件中读取一定长度的字符,本文章向大家介绍fread读取文件的实例以及使用该函数读取文件需要注意的几个地方,需要的朋友可以参考一下。
    2016-09-09

最新评论