当我们的资产放在交易所的时候,可以通过链接交易所的API使用Python来监控余额。
那资产放在钱包的时候,如何来监控余额呢?
任何数字资产都可以使用区块浏览器来查询余额,那我们只要从此着手,用Python调取区块浏览器,来查询余额就能实现所有资产的余额监控。
数字资产区块链浏览器有很多,比如比特币区块浏览器btc.com,以太坊区块浏览器etherscan.io,ATOM区块浏览器mintscan.io,PCX区块浏览器scan.chainx.org等等。
区块浏览器可以根据是否提供API分为两大类,做的好的会把API标示出来,供大家查询。做的粗糙的就不明确告诉你API,但通过爬虫的方式是可以找出来的。
下面我们逐一分析:
一、提供API查询的区块浏览器
1.比特币 区块浏览器 btc.com
在首页下面有提供API,并配有说明文档https://btc.com/api-do
这种获取比较简单,根据文档中查找可以查询余额的地址获取即可。
比如btc.com中找到获取网址为https://chain.api.btc.com/v3/address/3JvpMTpy6DDp1Um3iEGYpkBaUmJp7ReMR2,最后一串为比特币地址,通过Python中requests.get( )即可返回相关数据如下:
注意余额的单位每个币种都不一样,根据自己钱包余额调整即可,比如上述余额实际需要除以10e7(10的7次方)就可得到余额为0.14141195个BTC。
接下来我们就可以监控我们的钱包余额,假设你从别处提到你钱包1个比特币,那监控什么时候余额大于1个比特币了,让程序实现钉钉发消息提醒即可。
完整代码如下:
import pandas as pd import random import ccxt import threading, time, datetime import json import urllib import datetime import requests # 异常监控用 def send_dingding_msg1(content, robot_id='你的钉钉机器人ID'): try: msg = { "msgtype": "text", "text": {"content": content + '\n' + datetime.datetime.now().strftime("%m-%d %H:%M:%S")} } headers = {"Content-Type": "application/json ;charset=utf-8 "} url = 'https://oapi.dingtalk.com/robot/send"查询出错,继续尝试", order_err) time.sleep(3)
2.以太坊区块浏览器etherscan.io余额查询
同样https://etherscan.io/apis此处也配有说明文档,与上述稍微不同的是它需要获取APIKEY,类似交易所申请API一样,需要注册下。
我们在说明文档可以看到获取以太坊余额的地址为:https://api.etherscan.io/api"external nofollow" href="https://api.etherscan.io/api">https://api.etherscan.io/api"external nofollow" href="https://etherscan.io">https://etherscan.io搜索代币,比如搜索OMG,就会出现合约地址。
这样把三个输入组成新的获取地址,就能获得代币的余额。你要查询的以太坊地址address、你申请的apikey、代币的合约地址contractaddress。我们可以把这三个设成变量,方便更改。
完整代码如下:
while True: try: apikey = '你在https://etherscan.io申请的apikey' address = '你的以太坊地址' # 查询以太坊地址 url1 = 'https://api.etherscan.io/api"查询出错,继续尝试", order_err) time.sleep(3)
二,不提供API的区块浏览器
这种方法稍微复杂,需要爬虫来获取地址。
我们以最近有点火的chainx代币PCX为例来说明,因为这个币种采取了锁仓BTC挖矿来获得其代币PCX,而要想提取利息需要拿利息约11倍的PCX去投票,简单说就是让你去买PCX,我在其内网(链上交易)挂低价单来买,什么时候成交希望有个提醒,那就用程序监控区块浏览器我地址的余额,一旦成交立马投票去拿利息。
没经历过上面的朋友可能觉得很复杂,没关系,我们的目的就是用程序获取其钱包余额。
PCX区块浏览器地址为https://scan.chainx.org/,输入钱包地址之后就可以获得账户详情,怎么用程序获得余额呢?
在谷歌浏览器下按F12,进入开发者模式,点击Network、XHR,然后刷新。
我们发现在balance一样展开有余额信息,那我们只要找到请求头部信息就能获得了
点击Headers找到需要的信息,如下
这样我们就可以获得相关信息,然后对数据进行处理即可。
我当时设定的是购买35个,所以当数量大于30时用钉钉通知我。
完整代码如下
while True: try: url = "https://api.chainx.org.cn/account/你的PCX钱包地址/balance" headers = { "Content-type": "application/json; charset=utf-8", 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' } response = requests.get(url, headers=headers) balance = response.json() # print(balance) asset = 'PCX' PCX = balance[1]['Free']/100000000 # 此处注意PCX代币的位置,如果在第0个就改成[0] print('PCX', PCX) if PCX > 30: print('PCX', PCX) content = 'PCX购买已到账,余额为' + str(PCX) # 发一个变量,用str转换下 send_msg1 = send_dingding_msg1(content) print(send_msg1) break time.sleep(3) except Exception as order_err: print("查询出错,继续尝试", order_err) time.sleep(3)
其它不提供API的区块浏览器获取方式是一样的。
有了以上的方法,我们就可以用程序获得任 意区块浏览器地址的余额,并进行监控了。
总结
以上所述是小编给大家介绍的使用Python调取任意数字资产钱包余额功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 齐豫.2003-THE.UNHEARD.OF.CHYI.3CD【苏活音乐】【WAV+CUE】
- 黄乙玲1986-讲什么山盟海誓[日本东芝版][WAV+CUE]
- 曾庆瑜1991-柔情陷阱[台湾派森东芝版][WAV+CUE]
- 陈建江《享受男声》DTS-ES6.1【WAV】
- 群星《闪光的夏天 第5期》[FLAC/分轨][392.38MB]
- 徐小凤《三洋母带》1:1母盘直刻[WAV+CUE][981M]
- 王菲1995《菲靡靡之音》[香港首版][WAV+CUE][1G]
- 《双城之战》主题小游戏现已上线 扮演金克丝探索秘密基地
- 《霍格沃茨之遗》PS5Pro画面对比:光追性能显著提升
- 《怪猎荒野》PS5Pro主机版对比:B测性能都不稳定
- 黄宝欣.1992-黄宝欣金装精选2CD【HOMERUN】【WAV+CUE】
- 群星.1996-宝丽金流行爆弹精丫宝丽金】【WAV+CUE】
- 杜德伟.2005-独领风骚新歌精选辑3CD【滚石】【WAV+CUE】
- 安与骑兵《心无疆界》[低速原抓WAV+CUE]
- 柏菲唱片-群星〈胭花四乐〉2CD[原抓WAV+CUE]