# Inizializza web3 connettendolo al provider locale ganache w3 = Web3(Web3.HTTPProvider(args.host)) accounts = w3.eth.accounts w3.eth.defaultAccount = accounts[0] if len(accounts) < nPartecipants: print( "Not enough available Ethereum accounts! At least N_partecipants accounts are needed in order to run this test" ) sys.exit(-1) accounts = accounts[:nPartecipants] # Inizializza l'interfaccia per interagire con lo smart contract DART DARTArtifact = json.load(open(args.build)) d = DART(DARTArtifact['abi'], DARTArtifact['networks'][str(args.netid)]['address'], w3) # ----------------------------------------------------- # Per facilitare la stesura dei test e la lettura dei risultati # realizza due coppie di dizionari per legare: # ... principals ad address e viceversa PR = {} for idx, addr in enumerate(accounts): PR['Principal[' + str(idx + 1) + ']'] = addr INV_PR = {v: k for k, v in PR.items()} print("\nPRINCIPALS:") pprint(PR) # ... rolenames esadecimali a rolenames stringhe e viceversa