php调用以太坊geth API说明
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
上一篇我們開(kāi)始ph以太坊環(huán)境構(gòu)建,并做了一些基本的API調(diào)用。
這次我想再挖一下API的調(diào)用。
- 1.上次的補(bǔ)充
- 2.關(guān)于API的種類
- 3.從PHP調(diào)用
1.上次的補(bǔ)充
上一次,說(shuō)明了geth的開(kāi)始選項(xiàng),但是-- rpcapi的說(shuō)明沒(méi)提到。
這個(gè)選項(xiàng)是指定API接受的HTTP-RPC接口的種類。
接口名稱以逗號(hào)分隔的格式進(jìn)行描述,如果沒(méi)有特別說(shuō)明的話,就被默認(rèn)為是eth,net,web3的設(shè)定。
順便說(shuō)一下,這個(gè)選項(xiàng)可以指定的接口可以是admin, debug, eth, miner, net, personal, rpc, txpool, web3。
在上一次的啟動(dòng)選項(xiàng)中,使用了如下描述,除了標(biāo)準(zhǔn)的接口之外,還指定了使用一個(gè)personal選項(xiàng)。
--rpcapi "eth,net,web3,personal"2.API的種類
剛才的說(shuō)明稍微提到了一下,API有幾個(gè)種類。
大的種類是主要是用接口劃分,并以{interface name} _ {method name}的形式定義。
各API的說(shuō)明可以參考wiki,但是需要注意,因?yàn)榻涌诿枋龅腢RL是不同的。
web3, net, eth這幾個(gè)接口在https://github.com/ethereum/wiki/wiki/JSON-RPC上描述。
admin, debug, miner, personal, txpool的接口被記載在這里:https://github.com/ethereum/go-ethereum/wiki/Management-APIs。
3.PHP的調(diào)用
既然你已經(jīng)了解了API,那么讓我們?cè)俅卧囍{(diào)用API。
上次使用了eth,這次利用Management - APIs的personal。
如果你看看上次使用的ethereum.php的源代碼,你會(huì)注意到?jīng)]有Management-APIs的函數(shù)接口。
既然你不能原樣使用personal的API,那就試試自己來(lái)吧。
在這個(gè)時(shí)候我想使用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)); }順便說(shuō)一句,personal_newAccount將添加帳戶處理。
另一個(gè)personal_unlockAccount是在做轉(zhuǎn)賬等交易之前的必要過(guò)程。
讓我們?cè)俅芜\(yùn)行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"));這次我把它寫在一個(gè)名為test2.php的文件中。
我們來(lái)嘗試一下。
$ php test2.php 0xf40ccb0f626ce3f6058bd911ddc4013eaa6e4167是的,帳戶已創(chuàng)建并返回地址。
讓我們點(diǎn)擊執(zhí)行上次制作的eth_accounts的腳本。
$ php test.php Array ( [0] => 0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b [1] => 0xf40ccb0f626ce3f6058bd911ddc4013eaa6e4167 )我們也可以確認(rèn)帳戶在這里也增加了。
4.最后
雖然這次有點(diǎn)短,但是對(duì)PHP的API調(diào)用的了解是不是更深入?
但是,由于還有一些部分無(wú)法解釋,我想在下次解釋匯款周邊地區(qū)。
另外如果你想直接看看區(qū)塊鏈在以太坊中是如何使用的,可以學(xué)習(xí)下面的教程:
php以太坊,主要是介紹使用php進(jìn)行智能合約開(kāi)發(fā)交互,進(jìn)行賬號(hào)創(chuàng)建、交易、轉(zhuǎn)賬、代幣開(kāi)發(fā)以及過(guò)濾器和事件等內(nèi)容。
轉(zhuǎn)載于:https://my.oschina.net/u/2472105/blog/1936759
總結(jié)
以上是生活随笔為你收集整理的php调用以太坊geth API说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 对Java单例模式 volatile关键
- 下一篇: [PHP] 算法-合并两个有序链表为一个