import os, sys, subprocess EXE='bin/bls_smpl.exe' def init(): subprocess.check_call([EXE, "init"]) def sign(m, i=0): subprocess.check_call([EXE, "sign", "-m", m, "-id", str(i)]) def verify(m, i=0): subprocess.check_call([EXE, "verify", "-m", m, "-id", str(i)]) def share(n, k): subprocess.check_call([EXE, "share", "-n", str(n), "-k", str(k)]) def recover(ids): cmd = [EXE, "recover", "-ids"] for i in ids: cmd.append(str(i)) subprocess.check_call(cmd) def main(): m = "hello bls threshold signature" n = 10 ids = [1, 5, 3, 7] k = len(ids) init() sign(m) verify(m) share(n, k) for i in ids: sign(m, i) verify(m, i) subprocess.check_call(["rm", "sample/sign.txt"]) recover(ids) verify(m) if __name__ == '__main__': main()