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 - 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
<?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说明相关推荐

  1. api php usdt 以太坊_php调用以太坊geth API说明

    上一篇我们开始ph以太坊环境构建,并做了一些基本的API调用. 这次我想再挖一下API的调用. 1.上次的补充 2.关于API的种类 3.从PHP调用 1.上次的补充 上一次,说明了geth的开始选项 ...

  2. 以太坊 api php,Php如何调用以太坊接口

    以太坊规定了每个节点需要实现的JSON RPC应用开发接口,如果希望使用PHP开发一个以太坊区块链 上的去中心化应用(DApp),首先要解决的问题就是如何使用PHP调用以太坊JSON RPC接口: 如 ...

  3. geth rpc无法开启_三分了解以太坊 Geth 客户端快照加速机制

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 来源:以太坊爱好者 原文标题:三分了解以太坊 Geth 客户端快照加速机制 原文 ...

  4. 以太坊geth区块链私链建立

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 以太坊geth区块链私链建立 geth的github https://github.com/ethereum/g.. ...

  5. [币严区块链]数字货币交易所之以太坊(ETH)钱包对接(一) 以太坊Geth客户端安装...

    以太坊Geth客户端安装 geth是以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点.创建和管理账户.发送交易.挖矿.部署智能合约等. 下面介绍geth的三种安装方法: ...

  6. 如何实现一键调用以太坊智能合约

    今天有人问如何用按钮调用智能合约,我不知道在哪里找,所以我决定写这个,很快就可以. image 在这篇文章中,我将给出一个简单但有希望有效的演示,说明JavaScript开发人员如何创建一个能够调用智 ...

  7. 以太坊Geth几种同步模式

    链客,专为开发者而生,有问必答! 此文章来自链客区块链技术问答社区,未经允许拒绝转载. 以太坊Geth几种同步模式 同步模式分类 –fast Enable fast syncing through s ...

  8. 服务器端调用智能合约,《精通以太坊:开发智能合约和去中心化应用》 ——3.4 远程调用以太坊客户端...

    远程调用以太坊客户端 远程调用以太坊的客户端是指相比全功能客户端,只提供了一部分功能的客户端.这些客户端通常不会保存完整的区块链数据,所以它们的启动速度更快,也不会消耗大量的磁盘空间. 远程调用以太坊 ...

  9. Mac上以太坊Geth环境安装

    前言 Geth是在以太坊智能合约开发中必备开发工具. 待安装系统环境 系统:macOS 10.13.2 依赖: 1.go语言开发环境 2.brew 如何安装go语言环境这里不做赘述 Mac默认已经装好 ...

最新文章

  1. GirdView的文本属性对象省略溢出标记设置
  2. QIIME 2教程. 19使用q2-vsearch聚类ASVs为OTUs(2020.11)
  3. 光子筛matlab,一种振幅调制器件产生椭圆涡旋光的方法与流程
  4. 细数移动IM开发中的那些坑
  5. 细思极恐!未来百万人将下岗十大职业将消失
  6. WebView点击加载的页面中的按钮时不弹出新窗口以及在加载后执行javascript
  7. Spring Boot配置多数据源
  8. 每个Linux用户都应该了解的命令行省时技巧
  9. Spark学习:spark读取HBase数据报异常java.io.NotSerializableException
  10. ASP.NET性能优化之分布式Session
  11. php-5.6配置,PHP5.6+apache2.4环境配置
  12. java判断端口是否可用
  13. 6个文件写出Tomcat核心功能(新手必看)
  14. VTK点云数据如何导入MeshLab
  15. 提高系统可用性的那些架构策略
  16. 浅谈FPGA的乒乓操作
  17. Hash表的初步认识
  18. 需要network lightweight filter disk 上的文件netft.sys
  19. SQL 校验身份证号格式
  20. BeautifulSoup说明

热门文章

  1. UA OPTI501 电磁波 LIH介质中的平面波1 平面波的性质
  2. 超图js版本添加矢量图层并在图层上绘一个面要素
  3. 图解第一个Matlab仿真实例
  4. 图解.Net Telerik 控件教程
  5. Linux上安装php
  6. Dapper+SqlServerCe部署
  7. Spring源码解析-核心类之XmlBeanDefinitionReader
  8. MAC 升级到10.10(OS X Yosemite)下apache+php的配置问题
  9. hdu 1166 敌兵布阵
  10. gc日志一般关注什么_记一次生产频繁出现 Full GC 的 GC日志图文详解