区块链教程基础开发通过接口查询币种的提币情况-dash

兄弟连区块链教程基础开发通过接口查询币种的提币情况-dash:
package main

import (
"encoding/json"
"fmt"
"math"

"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
}

// DashBlocksChainCheck 根据提币的数量,提币方地址以及目标方地址来检查提币是否已经confirmed.
// 返回值有两个:提币状态以及已收到的提币数量(扣除手续费)
func DashBlocksChainCheck(withrawAmount float64, originalAddress string, targetAddress string) (status string, netWithdrawAmount float64, confirmations int64, err error) {
targetURL := fmt.Sprintf("https://api.blockcypher.com/v1/dash/main/addrs/%s/full", targetAddress)
bData, err := HTTPGet(targetURL, nil)
if err != nil {
fmt.Println("error: HTTPGet targetURL failed.")
return
}
transactions, , , err := jsonparser.Get(bData, "txs")
if err != nil {
fmt.Println("error: transaction.")
return
}
// fmt.Println(string(transactions))
_, err = jsonparser.ArrayEach(transactions, func(value []byte, dataType jsonparser.ValueType, offset int, e error) {
outs, , _, e := jsonparser.Get(value, "outputs")
fees, , _, e := jsonparser.Get(value, "fees")
confirmations, , _, e := jsonparser.Get(value, "confirmations")
fees, e := jsonparser.GetInt(_fees)
confirmations, e = jsonparser.GetInt(_confirmations)

    status = "online"
    jsonparser.ArrayEach(_outs, func(out []byte, dataType jsonparser.ValueType, offset int, e error) {
        _addr, _, _, e := jsonparser.Get(out, "addresses")
        _value, _, _, e := jsonparser.Get(out, "value")
        var outsAddr []string
        e = json.Unmarshal(_addr, &outsAddr)
        v, e := jsonparser.GetFloat(_value)
        if outsAddr[0] == targetAddress && v == withrawAmount {
            fmt.Println("fees: ", fees)
            status = "comfirmed"
            netWithdrawAmount = v
        }
    })
})
return

}

func main() {
status, netReceiveAmount, confirmations, err := DashBlocksChainCheck(10000000, "XrBtTsARPgGaqU3RsLtryFxDmaGkNPZdF8", "XnwjLMM2yGeK9tCSAwdkADjiGUaEotXaNV")
if err != nil {
fmt.Println("request failed...")
return
}
fmt.Println(fmt.Sprintf("status: %s, net_withdraw_amount: %f, confirmations: %d", status, netReceiveAmount, confirmations))
}

原文地址:http://blog.51cto.com/12918475/2295910

时间: 2024-11-05 23:35:32

区块链教程基础开发通过接口查询币种的提币情况-dash的相关文章

区块链教程交易所基础开发通过接口查询币种的提币情况-etc

兄弟连区块链教程交易所基础开发通过接口查询币种的提币情况-etcpackage main import ("fmt" "github.com/buger/jsonparser" "github.com/levigross/grequests" ) // HTTPGet .func HTTPGet(url string, requestOptions *grequests.RequestOptions) (response []byte, err

兄弟连区块链入门教程之基础开发通过接口查询币种提币情况bch

代码如下 package main import ( "encoding/json" "fmt" "github.com/buger/jsonparser" "github.com/levigross/grequests" ) // HTTPGet . func HTTPGet(url string, requestOptions *grequests.RequestOptions) (response []byte, err

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

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)

区块链教程交易所基础开发通过接口查询各个币种的提币情况-eth

兄弟连区块链教程交易所基础开发通过接口查询各个币种的提币情况-eth package main import ( "errors" "fmt" "math" "strconv" "strings" "github.com/buger/jsonparser" "github.com/levigross/grequests" ) const min = 0.0000000

用区块链改造基础软件,开辟多方数据治理新赛道

中国信通院的<区块链白皮书(2018)>开篇明义:区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储.难以篡改.防止抵赖的记账技术.因为"记帐"两个字,以及与比特币的先天关系,很多人都天然把区块链与金融类应用结合在一起.目前,绝大多数区块链应用都集中在数字货币.金融科技.电商等领域. 然而,从本质上来说,区块链是一种基础软件层的可信计算技术.例如,中科院院士郑志明早在2008年就开始研究区块链技术,并将之归入到分布式架构的可信系统技术.但近几年的

酒链世界圣酒区块链挖矿系统开发

酒链世界圣酒区块链挖矿系统开发,找(李经理181-0262-4100可×××)开发酒链世界挖矿系统需要多少钱.酒链世界虚拟币数字资产系统开发.酒链世界系统app找哪家公司开发.酒链世界系统怎么开发费用是多少. 河源是京九铁路进入广东省的第一个城市,又是广东省拥有铁路最长的城市:京九铁路.广梅汕铁路.105国道.205国道.粤赣高速构筑了河源四通八达的交通网络,是粤东北重要的交通枢纽. 特别提示:本公司是软件开发公司,非平台方 一.酒链世界系统是什么? 酒链世界是基于酒的一个区块链平台,它的玩法和

解析区块链商城系统开发关注度一直高的原因

区块链商城系统开发好不好,是不是专门做区块链商城软件开发的,深圳区块链商城系统源码多少钱,服务比较好 的区块链商城系统开发公司是哪家,可以上门考察体验的区块链商城APP开发团队技术怎么样,我们欢迎广大区块 链爱好者莅临本司考察,共同发展. 现在我们就分析下为何企业应该选择定制开发"区块链商城系统"; 一."区块链商城系统"多了一个营销渠道 在现在企业的营销模式中,对于微信营销不只是停留在做还不不做的问题 上,而是做的快与慢,质量好坏的问题,在同行业竞争中,对手已经定

天狗窝区块链APP系统开发

天狗窝区块链APP系统开发 找131.2935.5821 微/电 天狗窝区块链系统开发,天狗窝区块链app软件开发,天狗窝区块链技术系统开发 天狗窝区块链APP是一款区块链赚钱理投平台软件,通过独特的加密技术全方位保障用户的个人信息隐私问题,在线活动就能获得引力值赢得天狗币,币种还能在平台内进行兑换相关的物品哦,提供贴心的服务,币种间可以进行换算,交易公平公正公开,无须过多的投入资金,利用自己空闲的时间就能赚钱. 什么是天狗窝? 天地万物,浩瀚宇宙,天狗窝拥有自己独特的运行轨道.是天狗唯一生存的

区块链教程以太源码分析accounts账户管理分析

区块链教程以太源码分析accounts账户管理分析. 数据结构分析 ETH的账户管理定义在accounts/manager.go中,其数据结构为: // Manager is an overarching account manager that can communicate with various // backends for signing transactions. type Manager struct { backends map[reflect.Type][]Backend /