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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
{ "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 = ‘';
1
2
3
4
5
6
7
8
|
$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以太坊钱包的资料请关注服务器之家其它相关文章!
原文链接:https://blog.csdn.net/song40188/article/details/86013244