expr.roleNameA] + " ∩ " + INV_PR[expr.principalB] + "." + INV_RN[ expr.roleNameB] # ----------------------------------------------------- d.newRole(RN['trust'], {'from': accounts[0]}) for i in range(1, nPartecipants): print('\nAdding a new partecipant (passive) to the web of trust... ', end='') d.newRole(RN['trust'], {'from': accounts[i]}) d.addLinkedInclusion(RN['trust'], LIExpression(accounts[i], RN['trust'], RN['trust']), 80, {'from': accounts[i]}) d.addSimpleMember(RN['trust'], SMExpression(accounts[i - 1]), 100, {'from': accounts[i]}) print(f'Number of total partecipants: {i+1}') # Effettua una ricerca locale di tutti i membri a cui risulta assegnato il ruolo Principal[i].trust print( f'\nExecuting off-line credential chain discovery on {INV_PR[accounts[i]]}.trust ... ', end='') solutions = d.search(SIExpression(accounts[i], RN['trust'])) print(f"Found solutions: {len(solutions)}") # Per ciascun membro trovato, costruiscine la dimostrazione per il metodo di verifica on-chain sulla base dei paths nelle soluzioni for idx, currSol in enumerate(solutions.values()):