instance.py 1.1 KB

123456789101112131415161718192021222324252627
  1. from lottery import *
  2. import os
  3. import numpy
  4. os.system("rm f.hist; rm leads.hist")
  5. RUNNING_TIME = int(input("running time:"))
  6. NODES=1000
  7. if __name__ == "__main__":
  8. darkies = []
  9. egalitarian = ERC20DRK/NODES
  10. darkies += [ Darkie(random.gauss(egalitarian, egalitarian*0.1)) for id in range(int(NODES)) ]
  11. #darkies += [Darkie(0) for _ in range(NODES)]
  12. airdrop = ERC20DRK
  13. effective_airdrop = 0
  14. for darkie in darkies:
  15. effective_airdrop+=darkie.stake
  16. print("network airdrop: {}, staked token: {}/{}% on {} nodes".format(airdrop, effective_airdrop, effective_airdrop/airdrop*100, len(darkies)))
  17. dt = DarkfiTable(airdrop, RUNNING_TIME, CONTROLLER_TYPE_DISCRETE, kp=-0.010399999999938556, ki=-0.0365999996461878, kd=0.03840000000000491)
  18. for darkie in darkies:
  19. dt.add_darkie(darkie)
  20. acc = dt.background(rand_running_time=False)
  21. sum_zero_stake = sum([darkie.stake for darkie in darkies[NODES:]])
  22. print('acc: {}'.format(acc))
  23. print('total stake of 0mint: {}, ration: {}'.format(sum_zero_stake, sum_zero_stake/ERC20DRK))
  24. dt.write()