PHP實(shí)現(xiàn)創(chuàng)建以太坊錢(qián)包轉(zhuǎn)賬等功能
1.Geth下載
(對(duì)以太坊了解不深的可以后面自己查找有關(guān)geth的資料,與此類似的客戶端還有Ethereum、Parity 、Mist),本文采用windows版(Windows系統(tǒng):geth-windows-amd64-1.8.3)
https://ethfans.org/wikis/Ethereum-Geth-Mirror
安裝:
windows版的直接傻瓜式安裝到放軟件的地方,然后打開(kāi)安裝根目錄,這時(shí)可以看到有個(gè)geth.exe的可執(zhí)行文件,先別急執(zhí)行;先在該目錄下創(chuàng)建一個(gè)piccgenesis.json文件。
piccgenesis.json文件內(nèi)容如下:
{ "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": { } }
配置說(shuō)明請(qǐng)參考:https://www.colabug.com/4943842.html
現(xiàn)在使用cmd命令行工具來(lái)運(yùn)行g(shù)eth.exe,在該終端下執(zhí)行如下命令:
geth --datadir “chain” init piccgenesis.json
然后在該終端設(shè)置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
注:這里用的是測(cè)試網(wǎng)絡(luò),不需要同步所有區(qū)塊,如果要正式應(yīng)用需要一臺(tái)linux服務(wù)器,開(kāi)啟主網(wǎng)同步所有區(qū)塊,在打開(kāi)并設(shè)置rpc。
2.使用composer下載web3.php
在此之前本人默認(rèn)你已有一個(gè)本地的測(cè)試項(xiàng)目(能跑通),本人用的是tp5的測(cè)試項(xiàng)目
要求:
php版本大于7.1且php需開(kāi)啟openssl擴(kuò)展
安裝過(guò)程:
請(qǐng)先在composer中加入一行
“minimum-stability”: “dev”,
然后在項(xiàng)目根目錄下執(zhí)行(該項(xiàng)目根目錄必須)
composer require sc0vu/web3.php dev-master
或者在 composer.json中加入
“sc0vu/web3.php”: “dev-master”
到這里,準(zhǔn)備工作基本完畢。
PHP代碼調(diào)用web.php接口實(shí)現(xiàn)創(chuàng)建新的以太坊賬號(hào)(在該本地項(xiàng)目需要處理以太坊賬號(hào)管理邏輯的控制器寫(xiě),建議隨便找個(gè)控制器或php頁(yè)面先測(cè)試)
$web3 = new \Web3\Web3(‘http://localhost:8534'); //這里的端口是前面設(shè)置的rpc端口號(hào),不要把geth終端關(guān)掉
$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; });
執(zhí)行結(jié)果:
到這里,基本上php+eth的開(kāi)發(fā)就可以跑起來(lái)了,下面是web3.php的一些接口使用
https://github.com/sc0Vu/web3.php
gethAPI文檔:http://cw.hubwiz.com/card/c/geth-rpc-api/1/4/5/
以上就是PHP實(shí)現(xiàn)創(chuàng)建以太坊錢(qián)包轉(zhuǎn)賬等功能的詳細(xì)內(nèi)容,更多關(guān)于PHP以太坊錢(qián)包的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 詳解各種PHP函數(shù)漏洞
- 如何使用SublimeText3配置 PHP IDE環(huán)境
- PHPStorm+Xdebug進(jìn)行emote Debug時(shí)無(wú)法進(jìn)入斷點(diǎn)問(wèn)題排查
- php中foreach遍歷類對(duì)象的總結(jié)
- php-fpm報(bào)502問(wèn)題的解決辦法
- 如何使用php生成zip壓縮包
- 詳解PHP使用非對(duì)稱加密算法RSA
- php常見(jiàn)的網(wǎng)絡(luò)攻擊及防御方法
- PHP7下安裝并使用xhprof性能分析工具
- PHP遠(yuǎn)程調(diào)用以及RPC框架
- PHP代碼加密和擴(kuò)展解密實(shí)戰(zhàn)
- 再談PHP未來(lái)之路
相關(guān)文章
Php Mssql操作簡(jiǎn)單封裝支持存儲(chǔ)過(guò)程
沒(méi)有啥太多的功能,就是簡(jiǎn)單封裝,也沒(méi)有緩存,平時(shí)用ezSQL,但是ezSQL不支持存儲(chǔ)過(guò)程,所以這里封裝了存儲(chǔ)過(guò)程,因?yàn)樽约旱男枰皇亲鲆粋€(gè)標(biāo)記在這里而已。2009-12-12php實(shí)現(xiàn)接口api數(shù)據(jù)簽名及驗(yàn)簽
api數(shù)據(jù)簽名作用就是通過(guò)使用簽名可以驗(yàn)證數(shù)據(jù)在傳輸過(guò)程中是否被篡改或修改,下面小編就來(lái)為大家介紹一下php如何實(shí)現(xiàn)接口api數(shù)據(jù)簽名及驗(yàn)簽吧2023-11-11PHP批量上傳圖片的具體實(shí)現(xiàn)方法介紹.
這篇文章主要介紹了PHP批量上傳圖片的具體實(shí)現(xiàn)方法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02php實(shí)現(xiàn)的遍歷文件夾下所有文件,編輯刪除
遍歷文件夾; 功能:(a)可刪除文件 (b)可編輯文本,網(wǎng)頁(yè)文件 (c)可刪除文件夾,前提是該文件夾為空 (d)可建立文件,文件夾,修改文件夾名稱2010-01-01php多進(jìn)程應(yīng)用場(chǎng)景實(shí)例詳解
這篇文章主要介紹了php多進(jìn)程應(yīng)用,結(jié)合具體實(shí)例形式詳細(xì)分析了php多進(jìn)程模塊依賴pcntl擴(kuò)展安裝、使用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-07-07php 求質(zhì)素(素?cái)?shù)) 的實(shí)現(xiàn)代碼
php 求質(zhì)素(素?cái)?shù)) 的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-04-04