php调用以太坊geth API说明
2019獨角獸企業重金招聘Python工程師標準>>>
上一篇我們開始ph以太坊環境構建,并做了一些基本的API調用。
這次我想再挖一下API的調用。
- 1.上次的補充
- 2.關于API的種類
- 3.從PHP調用
1.上次的補充
上一次,說明了geth的開始選項,但是-- rpcapi的說明沒提到。
這個選項是指定API接受的HTTP-RPC接口的種類。
接口名稱以逗號分隔的格式進行描述,如果沒有特別說明的話,就被默認為是eth,net,web3的設定。
順便說一下,這個選項可以指定的接口可以是admin, debug, eth, miner, net, personal, rpc, txpool, web3。
在上一次的啟動選項中,使用了如下描述,除了標準的接口之外,還指定了使用一個personal選項。
--rpcapi "eth,net,web3,personal"2.API的種類
剛才的說明稍微提到了一下,API有幾個種類。
大的種類是主要是用接口劃分,并以{interface name} _ {method name}的形式定義。
各API的說明可以參考wiki,但是需要注意,因為接口描述的URL是不同的。
web3, net, eth這幾個接口在https://github.com/ethereum/wiki/wiki/JSON-RPC上描述。
admin, debug, miner, personal, txpool的接口被記載在這里:https://github.com/ethereum/go-ethereum/wiki/Management-APIs。
3.PHP的調用
既然你已經了解了API,那么讓我們再次試著調用API。
上次使用了eth,這次利用Management - APIs的personal。
如果你看看上次使用的ethereum.php的源代碼,你會注意到沒有Management-APIs的函數接口。
既然你不能原樣使用personal的API,那就試試自己來吧。
在這個時候我想使用personal接口的newAccount和unlockAccount方法,所以我添加了以下描述:
function personal_newAccount($password) {return $this->ether_request(__FUNCTION__, array($password)); }function personal_unlockAccount($address, $password) {return $this->ether_request(__FUNCTION__, array($address, $password)); }順便說一句,personal_newAccount將添加帳戶處理。
另一個personal_unlockAccount是在做轉賬等交易之前的必要過程。
讓我們再次運行API。
$ cd /home/yoshida/php-eth/ $ ls -l ethereum.php json-rpc.php test.php $ vim test2.php <?phprequire_once 'ethereum.php'; $ethereum = new Ethereum('localhost', '8956'); print_r($ethereum->persoanl_newAccount("password"));這次我把它寫在一個名為test2.php的文件中。
我們來嘗試一下。
$ php test2.php 0xf40ccb0f626ce3f6058bd911ddc4013eaa6e4167是的,帳戶已創建并返回地址。
讓我們點擊執行上次制作的eth_accounts的腳本。
$ php test.php Array ( [0] => 0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b [1] => 0xf40ccb0f626ce3f6058bd911ddc4013eaa6e4167 )我們也可以確認帳戶在這里也增加了。
4.最后
雖然這次有點短,但是對PHP的API調用的了解是不是更深入?
但是,由于還有一些部分無法解釋,我想在下次解釋匯款周邊地區。
另外如果你想直接看看區塊鏈在以太坊中是如何使用的,可以學習下面的教程:
php以太坊,主要是介紹使用php進行智能合約開發交互,進行賬號創建、交易、轉賬、代幣開發以及過濾器和事件等內容。
轉載于:https://my.oschina.net/u/2472105/blog/1936759
總結
以上是生活随笔為你收集整理的php调用以太坊geth API说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对Java单例模式 volatile关键
- 下一篇: 发布至今18年,为什么SQLite一定要