Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // get a and b from previous script
- print(len(a))
- print(len(b))
- import requests
- import pprint
- import json
- from collections import defaultdict
- from statistics import mean
- from statistics import median
- validator_category = defaultdict(int)
- validator_category_index = defaultdict(list)
- for i in a.keys():
- if a[i] >= 20000:
- validator_category["Stakewise"] += 1
- validator_category_index["Stakewise"].extend(b[i])
- elif a[i] >= 10000:
- validator_category["Kleros"] += 1
- validator_category_index["Kleros"].extend(b[i])
- elif a[i] >= 4096:
- validator_category["xDAI"] += 1
- validator_category_index["xDAI"].extend(b[i])
- elif a[i] >= 4000:
- validator_category["Gnosis"] += 1
- validator_category_index["Gnosis"].extend(b[i])
- elif a[i] >= 1000:
- validator_category["Large"] += 1
- validator_category_index["Large"].extend(b[i])
- elif a[i] >= 100:
- validator_category["Medium"] += 1
- validator_category_index["Medium"].extend(b[i])
- elif a[i] >= 5:
- validator_category["Small"] += 1
- validator_category_index["Small"].extend(b[i])
- else:
- validator_category["Subsidy"] += 1
- validator_category_index["Subsidy"].extend(b[i])
- print(validator_category)
- print("")
- print("Stakewise: " + str(len(validator_category_index["Stakewise"])))
- print("Kleros: " + str(len(validator_category_index["Kleros"])))
- print("xDAI: " + str(len(validator_category_index["xDAI"])))
- print("Gnosis: " + str(len(validator_category_index["Gnosis"])))
- print("Large: " + str(len(validator_category_index["Large"])))
- print("Medium: " + str(len(validator_category_index["Medium"])))
- print("Small: " + str(len(validator_category_index["Small"])))
- print("Subsidy: " + str(len(validator_category_index["Subsidy"])))
- print("")
- import numpy as np
- import random
- for j in ["Stakewise","Kleros","xDAI","Gnosis","Large","Medium","Small", "Subsidy"]:
- validator_index_string = ""
- random.shuffle(validator_category_index[j])
- for i in validator_category_index[j][:100]:
- validator_index_string += str(i)+","
- #print(validator_index_string)
- response = requests.get("https://beacon.gnosischain.com/api/v1/validator/" + validator_index_string[:-1] + "/performance")
- #pprint.pprint(response.content)
- parsed = json.loads(response.content)
- perf1day = []
- perf7day = []
- #print(parsed)
- for i in parsed["data"]:
- #print(i)
- perf1day.append(i["performance1d"])
- perf7day.append(i["performance7d"])
- print(j + " Mean:" + str(mean(perf1day) *365/32000000000))
- print(j + " Median:" + str(median(perf1day) *365/32000000000))
- a = np.array(perf1day)
- print(j + " bottom 5%: " + str(np.percentile(a, 5) *365/32000000000))
- print(j + " bottom 10%: " + str(np.percentile(a, 10) *365/32000000000))
- print(j + " bottom 15%: " + str(np.percentile(a, 15) *365/32000000000))
- print(j + " top 10%: " + str(np.percentile(a, 90) *365/32000000000))
- print()
- print(j + " Mean7:" + str(mean(perf7day)/7 *365/32000000000))
- print(j + " Median7:" + str(median(perf7day)/7 *365/32000000000))
- a = np.array(perf7day)
- print(j + " bottom 5%7: " + str(np.percentile(a, 5)/7 *365/32000000000))
- print(j + " bottom 10%7: " + str(np.percentile(a, 10)/7 *365/32000000000))
- print(j + " bottom 15%7: " + str(np.percentile(a, 15)/7 *365/32000000000))
- print(j + " top 10%7: " + str(np.percentile(a, 90)/7 *365/32000000000))
- print()
- #print(json.dumps(parsed, indent=4, sort_keys=True))
- #print(parsed["data"])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement