区块链入门

TP5.1框架中检测ETH中的交易状态是否是在Pending中

2018-12-12  本文已影响30人  天之皓月

本篇文章只是简单的介绍一下在TP5.1框架中检测以太坊的这笔交易记录是否在Pending中,便于在项目中用到,适合新手,若是有不足之处,请指出,这边做些调整

一:简介以太坊API

Etherscan以太坊开发人员API是作为社区服务提供的,没有保修,所以请使用您所需要的,而不是更多。它们支持GET / POST请求和5个请求/秒的速率限制。 要使用API​​服务,请在ClientPortal-> MyApiKey区域内创建一个免费的Api-Key令牌,然后您可以将其用于所有api请求。要么回复或提及您的应用程序是“由Etherscan.io API提供支持”将不胜感激。

二:根据指定的TxHash(哈希)值来进行返回相应的交易的收据

1.使用web3.js进行调用
2.以太坊测试环境调用
3.以太坊正式环境调用

//使用curl地址进行获取
  //1.ETH测试地址获取
  https://api-rinkeby.etherscan.io/api?module=proxy&action=eth_getTransactionReceipt&txhash=0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1&apikey=YourApiKeyToken
运行结果
  //2.ETH正式地址获取
  https://api.etherscan.io/api?module=proxy&action=eth_getTransactionReceipt&txhash=0x1e2910a262b1008d0616a0beb24c1a491d78771baa54a33e66065e03b1f46bc1&apikey=YourApiKeyToken

运行测试结果,
当hash值不存在或者在pending状态下,也是出现以下这种情况


image.png image.png

三:TP5中进行封装ETH第三方扩展

1.自定义封装Eth扩展类(便于扩展)

image.png
若是小伙伴中有需要下载Web3.php的,请看下面两点
1>.Github
2>.Composer
  1. 控制器中定义简单demo
    1>.框架中控制器测试


    image.png

    2>.查看执行结果


    image.png
    3>.以太坊网络进行查看
    image.png
    4>.当因为其他原因导致失败的话,这边进行检测
    image.png

    5>.执行结果


    image.png
    6>.在以太坊网络进行查看
    image.png
    备注:目前提供那么多,你们可以根据所写的项目中不同的需求来进行做相应的调整。比较方便些,

四:简单小结

1.检测Txhash的事务信息小结
2.当转账或者其他操作(比如:合约方面)在pending状态下,检测到的Txhash值是为空的。
3.当成功的状态下获取到的status的值为0x1,失败的情况下的值为0x0
4.你们可以根据不同的值来进行运行到相应的项目中。
5.有不懂的地方,请留言,不足之处,请指出,相互学习,共同进步。

五:参考文档

1.Web3.php
2.JSON RPC API
3.ETH主网
4.ETH测试网

上一篇 下一篇

猜你喜欢

热点阅读