From 144be24211725de100202f240e742b8ba5282f42 Mon Sep 17 00:00:00 2001 From: sairajzero Date: Sat, 8 Sep 2018 21:13:03 +0530 Subject: [PATCH] added json to blockchain --- Icon/noimage.png | Bin 0 -> 1521 bytes apps/FLO-shared-secret | 1 + getJson.py | 30 ++++++++++++++++++++++++++++++ main.py | 37 +++++++++++++++++++++++++++++++++++-- 4 files changed, 66 insertions(+), 2 deletions(-) create mode 100755 Icon/noimage.png create mode 160000 apps/FLO-shared-secret create mode 100644 getJson.py diff --git a/Icon/noimage.png b/Icon/noimage.png new file mode 100755 index 0000000000000000000000000000000000000000..f9d03d938ffc5e1ef3a0179ddc07e7a315d4ce6c GIT binary patch literal 1521 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*@qBp9qiuIBI^N;-nO{=&EvA&yn?r8 zXGW}AoaKJ)U8LjvqfwWRhCe^X6<@kO>rbjf!)zCW4c^C|afikCNUwD_(w>x@H~Vd0 zg!jb8j4N&r4piyX?C@8apO~@xDBs^3iaYggW%~&|X!93d^~T`kk>CXjz7fq{hrv+A>&uKNO|7|owSax=^`x-t2|mFX3x!fBVhaP^^*C# z(&vt`ty;XXKgOkb>*QDBXN({I^9+8}a(3IfA`R{Hfeg1#$FsdDzb4mocx&4^JzmfE zi|S=lJS= z@SOcBM|M41BExF+!y}KV>K;&6(O;+;hu=PGDeQ-0kV&7~*mK?Ul1dvke5;KkWI>Z8G=Z*4H8&7Ns!( zLc3Qg=j5owL~CcNX53r$pk$KYEypKQy8o-|*_VaKr++$YX+2T6Ql9Dfp2mhvxf@Iu zZ0$Dr&!!XXQK!^Rz55qY*o z-BT+$%V^otRSyoI(fW7Pcg=;H5s{Ja&n@LEmzCbnKV+?~({?+4ordu*RI2IFm&yAKjU5VtV6D zqGaspZ%baxUETFl?r+lku&FNDTe6bsf86j~a;x}Xp}^0^|5Fb9-*a*9@lBe+Ri}$K z*LGIaYQ_tnoniGgD@rOGbAE(y!l?dFl<7@EBxWbhhea=&4{-v7J#?$ioE!Ujh z6mU+s-Pk)C9x#cD!C{XNHG{07+UBW zSn3*BgcurH0g)+?Yhq5=BF9eoAIqC2kGD*Q%ESH86O(`njxgN@xNA#y*FX literal 0 HcmV?d00001 diff --git a/apps/FLO-shared-secret b/apps/FLO-shared-secret new file mode 160000 index 0000000..05128ba --- /dev/null +++ b/apps/FLO-shared-secret @@ -0,0 +1 @@ +Subproject commit 05128ba038f2e868e911ac6da9b9ab109551e330 diff --git a/getJson.py b/getJson.py new file mode 100644 index 0000000..78295b5 --- /dev/null +++ b/getJson.py @@ -0,0 +1,30 @@ +import requests +import json +import subprocess + +def getJsonData(): + r = requests.get("https://testnet.florincoin.info/ext/getaddress/ocZXNtzpiUqBvzQorjAKmZ5MhXxGTLKeSH") + data = json.loads(r.content) + #print(data) + + def readUnitFromBlockchain(txid): + rawtx = subprocess.check_output(["flo-cli","--testnet", "getrawtransaction", str(txid)]) + rawtx = str(rawtx) + rawtx = rawtx[2:-3] + tx = subprocess.check_output(["flo-cli","--testnet", "decoderawtransaction", str(rawtx)]) + content = json.loads(tx) + text = content['floData'] + return text + + Dapps = [] + for i in range(len(data['last_txs'])): + if(data['last_txs'][i]['type']=='vin'): + content = readUnitFromBlockchain(data['last_txs'][i]['addresses']) + #print(content) + if content.startswith("text:Dapps"): + print(data['last_txs'][i]['addresses']) + pos = content.find('{') + Dapps = Dapps + [json.loads(content[pos:])] + + print(Dapps) + return Dapps \ No newline at end of file diff --git a/main.py b/main.py index 15d144f..d79dd40 100755 --- a/main.py +++ b/main.py @@ -7,7 +7,9 @@ import webbrowser import json import math import socket +import requests +JsonAddress = "ocZXNtzpiUqBvzQorjAKmZ5MhXxGTLKeSH" def isConnected(): try: @@ -17,6 +19,31 @@ def isConnected(): messagebox.showerror('FLOappStore', "Unable to Connect to GitHub!\nPlease check Internet connectivity and firewall!") return False +def readUnitFromBlockchain(txid): + rawtx = subprocess.check_output(["flo-cli","--testnet", "getrawtransaction", str(txid)]) + rawtx = str(rawtx) + rawtx = rawtx[2:-3] + tx = subprocess.check_output(["flo-cli","--testnet", "decoderawtransaction", str(rawtx)]) + content = json.loads(tx) + text = content['floData'] + return text + +def getJsonData(): + r = requests.get("https://testnet.florincoin.info/ext/getaddress/"+JsonAddress) + data = json.loads(r.content) + #print(data) + Dapps = [] + for i in range(len(data['last_txs'])): + if(data['last_txs'][i]['type']=='vin'): + content = readUnitFromBlockchain(data['last_txs'][i]['addresses']) + #print(content) + if content.startswith("text:Dapps"): + #print(data['last_txs'][i]['addresses']) + pos = content.find('{') + Dapps = Dapps + [json.loads(content[pos:])] + #print(Dapps) + return Dapps + class FLOappStore: def __init__(self, root): self.root = root @@ -80,7 +107,11 @@ class FLOappStore: startIndex=(pageNum-1)*(self.maxRow*self.maxCol) for app in self.searchResult[startIndex:]: - self.icon= self.icon+[PhotoImage(file=app["icon"])] + try: + img=PhotoImage(file=app["icon"]) + except: + img=PhotoImage(file='Icon/noimage.png') + self.icon= self.icon+[img] self.appButton = self.appButton + [Button(self.listFrame,text=app["name"],image = self.icon[-1],compound="left",width="500",height="50",command=lambda app=app:self.execute(app))] self.appButton[-1].grid(row = Xrow,column = Xcol) Xcol=Xcol+1 @@ -152,13 +183,15 @@ class FLOappStore: def openBrowserApp(self,app): self.appWin.destroy() webbrowser.open(app["url"],new=1) - +''' if(isConnected()): subprocess.call("git pull",shell=True) else: exit(0) with open('AppData.json',encoding='utf-8') as F: apps=json.loads(F.read())["Dapps"] + ''' +apps = getJsonData() root = Tk() root.title("FLOappStore") root.geometry("1100x500")