Вызов пирингового клиента Hyperledger Fabric и перенаправление журнала в python
Я создаю Rest API для взаимодействия с двумя системами (одна из них HLF). (peer - это бинарник программы, написанной на go, которую я не хочу менять). Я пытаюсь использовать Django (Python) и Python Subprecess для вызова "./peer chaincode invoke...", но когда я пытаюсь прочитать вывод, он возвращает пустой список. Я хотел бы перенаправить текст из консоли (log info) в стандартный вывод.
def read:
os.chdir(str(Path.home()) + "/HLF/fabric/bin")
os.environ['FABRIC_CFG_PATH'] = "../config/"
cafile = "../../organizations/ordererOrganizations/omega.olympus.pt/msp/tlscacerts/ca-omega-olympus-pt-7054.pem"
channel = "main-channel"
label = "occv1"
orderer = "cronus.omega.olympus.pt:7050"
function='{"Args":["ReadAsset","00000"]}'
command = ['./peer', 'chaincode', 'invoke', '-o', orderer, '--tls', '--cafile', cafile, '-C', channel, "-n", label, '-c', function]
proc = subprocess.Popen(command, stdout=subprocess.PIPE)
print("output", proc.stdout.readlines())
Выход:
2022-06-14 12:11:13.254 UTC 0001 INFO [chaincodeCmd] chaincodeInvokeOrQuery -> Chaincode invoke successful. result: status:200 payload:"{\"ID\":\"00000\",\"ClientID\":\"00000\",\"consents\":\"\",\"timestamp\":\"2022-06-05 13:56:18\",\"cid\":\"12345\",\"hash\":\"--------------------------------------------\"}"
output []