Files
LinkScope_Client/Modules/CryptoCurrency/BlockChainAPI.py
2021-11-06 04:40:56 -04:00

79 lines
3.2 KiB
Python

#!/usr/bin/env python3
class BlockChainAPI:
# A string that is treated as the name of this resolution.
name = "BlockChainAPI Get Transaction Details"
# A string that describes this resolution.
description = "Returns Nodes of balance, sent, received info"
originTypes = {'Crypto Wallet', 'Phrase'}
resultTypes = {'Currency'}
parameters = {}
def resolution(self, entityJsonList, parameters):
import requests
import time
import datetime
returnResults = []
for entity in entityJsonList:
uid = entity['uid']
search_address = entity[list(entity)[1]]
try:
getSentByAddress = requests.get(
f'https://blockchain.info/q/getsentbyaddress/{search_address}?confirmations=6')
if getSentByAddress.status_code == 404:
continue
time.sleep(1)
getReceivedByAddress = requests.get(
f'https://blockchain.info/q/getreceivedbyaddress/{search_address}?confirmations=6')
time.sleep(1)
addressBalance = requests.get(
f'https://blockchain.info/q/addressbalance/{search_address}?confirmations=6')
time.sleep(1)
addressFirstSeen = requests.get(
f'https://blockchain.info/q/addressfirstseen/{search_address}?confirmations=6')
time.sleep(1)
except requests.exceptions.ConnectionError:
return "Please check your internet connection"
dateCreated = str(datetime.datetime.fromtimestamp(float(addressFirstSeen.text))).replace(" ", 'T')
returnResults.append(
[{'Amount': str(int(getSentByAddress.text) / 100000000),
'Currency Type': 'BTC',
'Notes': 'sent by address',
'Entity Type': 'Currency'},
{uid: {'Resolution': 'sent by address',
'Name': 'sent by address',
'Notes': ''}}])
returnResults.append(
[{'Amount': str(int(getReceivedByAddress.text) / 100000000),
'Currency Type': 'BTC',
'Notes': 'received by address',
'Entity Type': 'Currency'},
{uid: {'Resolution': 'received by address',
'Name': 'received by address',
'Notes': ''}}])
returnResults.append(
[{'Amount': str(int(addressBalance.text) / 100000000),
'Currency Type': 'BTC',
'Notes': 'address balance',
'Entity Type': 'Currency'},
{uid: {'Resolution': 'address balance',
'Name': 'address balance',
'Notes': ''}}])
returnResults.append(
[{'Date': str(dateCreated),
'Notes': 'first seen date',
'Entity Type': 'Date'},
{uid: {'Resolution': 'first seen date',
'Name': 'first seen date',
'Notes': ''}}])
return returnResults