原标题:兄弟连区块链入门到精通教程基础开发通过接口查询tron提币情况

兄弟连区块链入门到精通教程基础开发通过接口查询tron提币情况“区块链+时代无疑会是下一个风口,然而现在的区块链行业专业型人才正在遭遇瓶颈”兄弟连教育区块链培训学院院长尹成表示,“希望能通过兄弟连教育区块链学院为社会为企业培养并输送更多优质的区块链高精尖型技术。

代码如下

package main

import (

"errors"

"fmt"

"math"

"strconv"

"strings"

"github.com/buger/jsonparser"

"github.com/levigross/grequests"

)

const min = 0.000000000001

func isEqual(f1, f2 float64) bool {

if f1 < f2 {

return isEqual(f2, f1)

}

return math.Dim(f1, f2) < min

}

func HTTPGet(url string, requestOptions *grequests.RequestOptions) (response []byte, err error) {

httpResponse, err := grequests.Get(url, requestOptions)

if err == nil {

if httpResponse.StatusCode == 200 {

response = httpResponse.Bytes()

}

}

return

}

// TronBlocksChainCheck 根据提币的数量,提币方地址以及目标方地址来检查提币是否已经confirmed.

// 返回值有两个:提币状态以及已收到的提币数量(扣除手续费)

func TronBlocksChainCheck(withdrawAmount float64, originalAddress string, targetAddress string) (status string, netWithdrawAmount float64, confirmations int64, err error) {

url := fmt.Sprintf("http://api.etherscan.io/api?module=account&action=txlist&address=%s&startblock=0&endblock=99999999", targetAddress)

bData, err := HTTPGet(url, nil)

if err != nil {

return

}

transactions, _, _, err := jsonparser.Get(bData, "result")

_, err = jsonparser.ArrayEach(transactions, func(value []byte, dataType jsonparser.ValueType, offset int, e error) {

_from, _, _, e := jsonparser.Get(value, "from")

_to, _, _, e := jsonparser.Get(value, "to")

_value, _, _, e := jsonparser.Get(value, "value")

_txreceiptStatus, _, _, e := jsonparser.Get(value, "txreceipt_status")

_gasPrice, _, _, e := jsonparser.Get(value, "gasPrice")

_gasUsed, _, _, e := jsonparser.Get(value, "gasUsed")

_confirmations, _, _, e := jsonparser.Get(value, "confirmations")

sf := strings.ToLower(string(_from))

st := strings.ToLower(string(_to))

sv := strings.ToLower(string(_value))

iv, _ := strconv.ParseFloat(sv, 64)

sts := string(_txreceiptStatus)

sgp := string(_gasPrice)

igp, _ := strconv.ParseFloat(sgp, 64)

sgu := string(_gasUsed)

igu, _ := strconv.ParseFloat(sgu, 64)

sc := string(_confirmations)

if sf == strings.ToLower(originalAddress) && st == strings.ToLower(targetAddress) && isEqual(iv, withdrawAmount) {

// fmt.Println(sf, st, sv, iv, sgp, igp, sgu, igu, sc)

// 已完成的提币数量,未扣除提币的手续费

fmt.Println("gas:", igp*igu)

// 已收到币的实际数量,扣除了提币的手续费

fmt.Println("net_receive_amount:", iv)

if sts == "" || sts == "1" {

status = "confirmed"

} else {

status = "online"

}

netWithdrawAmount = iv

confirmations, _ = strconv.ParseInt(sc, 10, 64)

} else {

e = errors.New("this is a new error")

}

})

return

}

func main() {

status, netReceiveAmount, confirmations, err := TronBlocksChainCheck(1853900000000000, "0xce2f4e757bb0175fef1463dd28da033d29fe2a68", "0x4c61414f6c7955fedc81b1da2d6b149ec762bb3a")

if err != nil {

fmt.Println("request failed...")

return

}

fmt.Println(fmt.Sprintf("status: %s, net_withdraw_amount: %f, confirmations: %d", status, netReceiveAmount, confirmations))

责任编辑:

tron区块链php对接,兄弟连区块链入门到精通教程基础开发通过接口查询tron提币情况...相关推荐

  1. cl.zk0.info/index.php,兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建

    原标题:兄弟连区块链入门到精通教程btcpool矿池源码分析环境搭建 btcpool矿池-测试环境搭建及使用cgminer测试 本文档基于Ubuntu 16.04 LTS, 64 Bits. 安装Bi ...

  2. php区块链以太坊,兄弟连区块链教程以太坊源码分析CMD深入分析(一)

    兄弟连区块链教程以太坊源码分析CMD深入分析. cmd包分析 cmd下面总共有13个子包,除了util包之外,每个子包都有一个主函数,每个主函数的init方法中都定义了该主函数支持的命令,如 geth ...

  3. tron区块链php对接,Tron区块链技术 - Tron智能合约概述

    Tron区块链技术:多年来,  以太坊  一直是分散世界中开发智能合约的主流平台之一.然而,最近TRON作为一个准备面对以太坊的竞争平台在分散网络中崛起. TRON区块链技术是什么? Tron区块链是 ...

  4. 兄弟连区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令一

    区块链教程Fabric1.0源代码分析Peer peer根命令入口及加载子命令,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁.回归理性,表面上看相关人才需求与身价似乎正在回落.但事实上,正是初 ...

  5. 兄弟连区块链入门教程btcpool矿池源码分析环境搭建

    btcpool矿池-测试环境搭建及使用cgminer测试 本文档基于Ubuntu 16.04 LTS, 64 Bits. 安装Bitcoind+ZMQ Dependencies apt-get -y ...

  6. php椭圆曲加密,兄弟连区块链教程区块链信息安全3椭圆曲线加解密及签名算法的技术原理一...

    区块链教程区块链信息安全3椭圆曲线加解密及签名算法的技术原理一,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁.回归理性,表面上看相关人才需求与身价似乎正在回落.但事实上,正是初期泡沫的渐退,让 ...

  7. 蚂蚁区块链第18课 区块链预言机(ORACLE)的定义及在蚂蚁BAAS中的使用

    1,摘要 本文主要讲解外部预言机ORACLE定义和原理,并讲解蚂蚁BAAS系统如何通过ORACLE预言机方式使用外部数据源的方法. 2,外部预言机ORACLE定义和原理 2.1 预言机(Oracle) ...

  8. 区块链学习笔记:区块链到底能干什么

    来源:区块律动BlockBeats 作者:Jade 编者语: 区块链媒体被大量封号,BAT 联手全网封杀,再到昨天的国家互金举报平台将「代币发行融资」纳入举报范围,还有网上谣传的所谓「利箭行动」. 最 ...

  9. 1分钟链圈|腾讯区块链(天津)被责令更名;Casper更新可能导致社区再次分裂...

    hi,艾瑞巴蒂! 这里是 10 月 27 日的每日1句话新闻晚报,只需1分钟,看看全球最热.最新的区块链新闻. 实时币价:BTC $6478.92   ETH $203.62   EOS $5.39  ...

  10. 腾讯区块链强势出击,公链的机会在哪里?

    作者:蒙特卡洛 一.腾讯区块链 最近腾讯公布了<2019腾讯区块链白皮书>,这是腾讯从2017年公布区块链白皮书之后,再一次公布白皮书. 我个人认为这份白皮书写的非常精彩和详实,既有理论高 ...

最新文章

  1. 看阿里高手使用Jmeter做功能测试的优缺点
  2. 存储过程如何处理异常
  3. Java Web整体异常处理
  4. Bootstrap3 折叠插件的使用方法
  5. 电磁波考试中可以用计算机吗,计算机考试试题库带答案(8页)-原创力文档
  6. python web性能不如php_Python比PHP更加适合网络开发的原因
  7. php网站 只显示sinsiu_sinsiu_cms_1_0_10
  8. 从程序员到软件设计师
  9. 如何移除照片中不需要的东西?这三款Mac App软件不会让你失望!
  10. php中的几个判断文件和目录的函数 is_file() is_dir() mkdir() file_exists()
  11. c语言编程电影院票务系统,C++课程设计----电影院售票系统
  12. Snap7 在西门子PLC的使用
  13. 视频监控行业常用的几种分辨率(CIF/QCIF/DCIF/D1/HALF D1)对比解释
  14. node_redis 中文文档及node_redis 注释笔记(中文版)
  15. Linux 卸载及删除磁盘分区
  16. 2012-7-19可樂词汇积累#9316;
  17. 分析Android版QQ游戏大厅中游戏的启动机制
  18. 沈向洋回归,从微软独立的小冰要弯道超车了
  19. 华为数通笔记-NDP原理
  20. python onenet_onenet简介

热门文章

  1. SpringBoot学习---整合JDBC,Druid,MyBatis
  2. 集成ahci驱动的xp系统_IDE转AHCI模式 for win7+SSD
  3. JavaScript内置的Math对象(附实例)
  4. 数据库—事务—并发控制技术
  5. WebRTC服务器——Licode 环境搭建
  6. Spring中的jar包详解
  7. Sublime Text3 安装svn插件遇到的问题
  8. JS 判断是否为IP格式
  9. Android应用按Home键再从图标启动会再次经过LAUNCHER启动页
  10. 国都企信通短信平台发送手机短信的python脚本一例