PHP實現創建以太坊錢包轉賬等功能
(對以太坊了解不深的可以后面自己查找有關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 Web3Web3(‘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以太坊錢包的資料請關注好吧啦網其它相關文章!
相關文章:
1. Django中的AutoField字段使用2. Django ORM實現按天獲取數據去重求和例子3. 解決docker與vmware的沖突問題4. IntelliJ Idea 2020.1 正式發布,官方支持中文(必看)5. IntelliJ IDEA設置自動提示功能快捷鍵的方法6. asp.net core應用docke部署到centos7的全過程7. Java 3D的動畫展示(Part1-使用JMF)8. Python基于jieba, wordcloud庫生成中文詞云9. 如何在vue3.0+中使用tinymce及實現多圖上傳文件上傳公式編輯功能10. 刪除docker里建立容器的操作方法
