上一篇咱们开始ph以太坊环境构建,并作了一些基本的API调用。php
此次我想再挖一下API的调用。git
上一次,说明了geth
的开始选项,可是-- rpcapi
的说明没提到。github
这个选项是指定API接受的HTTP-RPC
接口的种类。web
接口名称以逗号分隔的格式进行描述,若是没有特别说明的话,就被默认为是eth,net,web3
的设定。json
顺便说一下,这个选项能够指定的接口能够是admin, debug, eth, miner, net, personal, rpc, txpool, web3
。vim
在上一次的启动选项中,使用了以下描述,除了标准的接口以外,还指定了使用一个personal
选项。api
--rpcapi "eth,net,web3,personal"
刚才的说明稍微提到了一下,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。
既然你已经了解了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 <?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 )
咱们也能够确认账户在这里也增长了。
虽然此次有点短,可是对PHP的API调用的了解是否是更深刻?
可是,因为还有一些部分没法解释,我想在下次解释汇款周边地区。
另外若是你想直接看看区块链在以太坊中是如何使用的,能够学习下面的教程:
php以太坊,主要是介绍使用php进行智能合约开发交互,进行帐号建立、交易、转帐、代币开发以及过滤器和事件等内容。