php調用以太坊geth API說明

上一篇咱們開始ph以太坊環境構建,並作了一些基本的API調用。php

此次我想再挖一下API的調用。git

  • 1.上次的補充
  • 2.關於API的種類
  • 3.從PHP調用

1.上次的補充

上一次,說明了geth的開始選項,可是-- rpcapi的說明沒提到。github

這個選項是指定API接受的HTTP-RPC接口的種類。web

接口名稱以逗號分隔的格式進行描述,若是沒有特別說明的話,就被默認爲是eth,net,web3的設定。json

順便說一下,這個選項能夠指定的接口能夠是admin, debug, eth, miner, net, personal, rpc, txpool, web3vim

在上一次的啓動選項中,使用了以下描述,除了標準的接口以外,還指定了使用一個personal選項。api

--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 - APIspersonal

若是你看看上次使用的ethereum.php的源代碼,你會注意到沒有Management-APIs的函數接口。

既然你不能原樣使用personal的API,那就試試本身來吧。

在這個時候我想使用personal接口的newAccountunlockAccount方法,因此我添加了如下描述:

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
<?php

require_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進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和事件等內容。

相關文章
相關標籤/搜索