diff --git a/meta.py b/meta.py index 1ce618d..30c31ef 100755 --- a/meta.py +++ b/meta.py @@ -2,8 +2,6 @@ import subprocess, ast -verifier, prover = [subprocess.Popen(f'./{program}.py', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.DEVNULL, universal_newlines=True, bufsize=1) for program in ('verifier', 'prover')] - def getProgramLine(program): return program.stdout.readline() @@ -16,23 +14,28 @@ def getProgramOutput(program): def write(program, toWrite): program.stdin.write(toWrite + '\n') -protocolInitializationPhaseId = getProgramOutput(verifier) -print(f'{protocolInitializationPhaseId=}') -protocolExecutionPhaseId = getProgramOutput(verifier) -print(f'{protocolExecutionPhaseId=}') +while True: + verifier, prover = [subprocess.Popen(f'./{program}.py', stdout = subprocess.PIPE, stdin = subprocess.PIPE, stderr = subprocess.DEVNULL, universal_newlines=True, bufsize=1) for program in ('verifier', 'prover')] -write(prover, protocolInitializationPhaseId) -write(prover, protocolExecutionPhaseId) + protocolInitializationPhaseId = getProgramOutput(verifier) + print(f'{protocolInitializationPhaseId=}') + protocolExecutionPhaseId = getProgramOutput(verifier) + print(f'{protocolExecutionPhaseId=}') -merkleTreeRoot = getOutput(getProgramLine(prover).split()[-1]) -print(f'{merkleTreeRoot=}') + write(prover, protocolInitializationPhaseId) + write(prover, protocolExecutionPhaseId) -write(verifier, merkleTreeRoot) -getProgramLine(verifier) + merkleTreeRoot = getOutput(getProgramLine(prover).split()[-1]) + print(f'{merkleTreeRoot=}') -write(prover, 'indexesRequest.txt') -getProgramLine(prover) + write(verifier, merkleTreeRoot) + getProgramLine(verifier) -write(verifier, 'entries.txt') -result = ' '.join(getProgramLine(verifier).split()[1:]) -print(result) + write(prover, 'indexesRequest.txt') + getProgramLine(prover) + + write(verifier, 'entries.txt') + result = ' '.join(getProgramLine(verifier).split()[1:]) + print(result) + if not result.startswith('Verified'): + break