async def register(request): try: seed = request.json['seed'] except KeyError as e: return sanic_text('Missing query parameter: seed', status=400) if not 0 <= len(seed) <= 32: return sanic_text('Seed must be between 0 and 32 characters long.', status=400) # Pad with zeroes seed += '0' * (32 - len(seed)) new_agent = BaseAgent(pool, seed, seed + '-wallet', None) await new_agent.open() # Register agent on the network print('\n\nRegister agents\n\n') for ag in (trust_anchor, new_agent): print('\n\nGet Nym: ' + str(ag) + '\n\n') if not json.loads(await trust_anchor.get_nym(ag.did)): print('\n\nSend Nym: ' + str(ag) + '\n\n') await trust_anchor.send_nym(ag.did, ag.verkey) return sanic_json({ 'seed': seed, 'did': new_agent.did, 'verkey': new_agent.verkey })
async def ledger_text(request, ledger_name): response = read_ledger(ledger_name) text = [] for seq_no, txn in response: if len(text): text.append("") type_name = indy_txn_types.get(txn['type'], txn['type']) text.append("[" + str(seq_no) + "] TYPE: " + type_name) if type_name == "NYM": text.append("DEST: " + txn['dest']) role = txn.get('role') if role != None: role_name = indy_role_types.get(role, role) text.append("ROLE: " + role_name) verkey = txn.get('verkey') if verkey != None: text.append("VERKEY: " + verkey) ident = txn.get('identifier') if ident != None: text.append("IDENT: " + ident) txnTime = txn.get('txnTime') if txnTime != None: ftime = datetime.fromtimestamp(txnTime).strftime( '%Y-%m-%d %H:%M:%S') text.append("TIME: " + ftime) reqId = txn.get('reqId') if reqId != None: text.append("REQ ID: " + str(reqId)) refNo = txn.get('ref') if refNo != None: text.append("REF: " + str(refNo)) txnId = txn.get('txnId') if txnId != None: text.append("TXN ID: " + txnId) if type_name == "SCHEMA" or type_name == "CLAIM_DEF" or type_name == "NODE": data = txn.get('data') text.append("DATA:") text.append(json.dumps(data, indent=4)) sig = txn.get('signature') if sig != None: text.append("SIGNATURE: " + sig) sig_type = txn.get('signature_type') if sig_type != None: text.append("SIGNATURE TYPE: " + sig_type) return sanic_text("\n".join(text))
async def status(request): nodes = ["node1", "node2", "node3", "node4"] response_text = "" for idx, node_name in enumerate(nodes): proc = validator_info(node_name, as_json=False) if idx > 0: response_text += "\n" response_text += node_name + "\n\n" + proc.stdout return sanic_text(response_text)
async def register(request): try: seed = request.args['seed'][0] except KeyError as e: return text('Missing query parameter: seed') new_did = BaseAgent(pool, seed, seed + '-wallet', None) await new_did.open() # Register agent on the network print('\n\nRegister agents\n\n') for ag in (trust_anchor, new_did): print('\n\nGet Nym: ' + str(ag) + '\n\n') if not json.loads(await trust_anchor.get_nym(ag.did)): # pass print('\n\nSend Nym: ' + str(ag) + '\n\n') await trust_anchor.send_nym(ag.did, ag.verkey) return sanic_text(new_did.did + ' successfully written to ledger')
async def genesis(request): with open( '/home/indy/.indy-cli/networks/sandbox/pool_transactions_genesis', 'r') as content_file: gensis = content_file.read() return sanic_text(gensis)
async def ledger_seq(request, ledger_name, sequence_number): response = read_ledger(ledger_name, format="json", seq_no=int(sequence_number), seq_to=int(sequence_number)) return sanic_text(response)
async def ledger_pretty(request, ledger_name): response = read_ledger(ledger_name, format="pretty") return sanic_text(response)