当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-04-22 11:37:51 浏览: 评论:0 

这篇文章主要介绍了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文件内容如下:

  1. "config": { 
  2. "chainId": 33, 
  3. "homesteadBlock": 0, 
  4. "eip155Block": 0, 
  5. "eip158Block": 0 
  6. }, 
  7. "coinbase": "0x0000000000000000000000000000000000000000", 
  8. "difficulty": "0x4", 
  9. "extraData": "", 
  10. "gasLimit": "0xffffffff", 
  11. "nonce": "0x0000000000000042", 
  12. "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", 
  13. "parentHash": “0x0000000000000000000000000000000000000000000000000000000000000000", 
  14. "timestamp": "0x00", 
  15. "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终端关掉。

  1. $newAccount = ‘'; 
  2.  
  3. $web3->personal->newAccount('123456'function ($err$accountuse (&$newAccount) { 
  4.     if ($err !== null) { 
  5.         echo 'Error: ' . $err->getMessage(); 
  6.         return
  7.     } 
  8.     $newAccount = $account
  9.     echo 'New account: ' . $account . PHP_EOL; 
  10. }); 

执行结果:

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

到这里,基本上php+eth的开发就可以跑起来了,下面是web3.php的一些接口使用

https://github.com/sc0Vu/web3.php

gethAPI文档:http://cw.hubwiz.com/card/c/geth-rpc-api/1/4/5/

Tags: PHP以太坊钱包转账

分享到: