Compare commits

...

5 Commits

41
meta.py Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/python3
import subprocess, ast
def getProgramLine(program):
return program.stdout.readline()
def getOutput(line):
return ast.literal_eval(line.split('=')[1])
def getProgramOutput(program):
return getOutput(getProgramLine(program))
def write(program, toWrite):
program.stdin.write(toWrite + '\n')
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')]
protocolInitializationPhaseId = getProgramOutput(verifier)
print(f'{protocolInitializationPhaseId=}')
protocolExecutionPhaseId = getProgramOutput(verifier)
print(f'{protocolExecutionPhaseId=}')
write(prover, protocolInitializationPhaseId)
write(prover, protocolExecutionPhaseId)
merkleTreeRoot = getOutput(getProgramLine(prover).split()[-1])
print(f'{merkleTreeRoot=}')
write(verifier, merkleTreeRoot)
getProgramLine(verifier)
write(prover, 'indexesRequest.txt')
getProgramLine(prover)
write(verifier, 'entries.txt')
result = ' '.join(getProgramLine(verifier).split()[1:])
print(result)
if not result.startswith('Verified'):
break