1

我基于示例“daml-on-fabric” https://github.com/hacera/daml-on-fabric部署了快速入门教程,之后我尝试从 dazl https://github.com/部署乒乓球示例数字资产/dazl-client/tree/master/samples/ping-pong。该示例中的机器人在 daml ledger 上运行良好。但是,当我尝试在结构上部署此示例时,机器人无法发送交易。基于此,一切正常,从https://github.com/hacera/daml-on-fabric/blob/master/README.md读到我。智能合约看起来像是部署在 Fabric 上。错误是当我尝试使用 pingpong python 文件中的机器人https://github.com/digital-asset/dazl-client/blob/master/samples/ping-pong/README.md

I receive this error:

[  ERROR] 2020-03-10 15:40:57,475 | dazl    | A command submission failed!
Traceback (most recent call last):
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/dazl/client/_party_client_impl.py", line 415, in main_writer
    await submit_command_async(client, p, commands)
  File "/home/vasisiop/anaconda3/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/dazl/protocols/v1/grpc.py", line 42, in <lambda>
    lambda: self.connection.command_service.SubmitAndWait(request))
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/grpc/_channel.py", line 824, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/grpc/_channel.py", line 726, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.INVALID_ARGUMENT
    details = "Party not known on ledger"
    debug_error_string = "{"created":"@1583847657.473821297","description":"Error received from peer ipv6:[::1]:6865","file":"src/core/lib/surface/call.cc","file_line":1056,"grpc_message":"Party not known on ledger","grpc_status":3}"
>

[  ERROR] 2020-03-10 15:40:57,476 | dazl    | An event handler in a bot has thrown an exception!
Traceback (most recent call last):
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/dazl/client/bots.py", line 157, in _handle_event
    await handler.callback(new_event)
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/dazl/client/_party_client_impl.py", line 415, in main_writer
    await submit_command_async(client, p, commands)
  File "/home/vasisiop/anaconda3/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/dazl/protocols/v1/grpc.py", line 42, in <lambda>
    lambda: self.connection.command_service.SubmitAndWait(request))
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/grpc/_channel.py", line 824, in __call__
    return _end_unary_response_blocking(state, call, False, None)
  File "/home/vasisiop/.local/share/virtualenvs/ping-pong-sDNeps76/lib/python3.7/site-packages/grpc/_channel.py", line 726, in _end_unary_response_blocking
    raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
    status = StatusCode.INVALID_ARGUMENT
    details = "Party not known on ledger"
    debug_error_string = "{"created":"@1583847657.473821297","description":"Error received from peer ipv6:[::1]:6865","file":"src/core/lib/surface/call.cc","file_line":1056,"grpc_message":"Party not known on ledger","grpc_status":3}"
4

1 回答 1

3

从错误消息看来,快速入门示例中定义的各方尚未在分类账上分配,因此出现“分类账上未知的一方”错误。

您可以按照https://docs.daml.com/deploy/index.html中的步骤使用 daml deploy --host= --port=,这将上传 dars 并在分类帐上分配各方。

您也可以只运行分配方命令 daml ledger allocate-parties,它将根据您定义您的 daml.yaml 的各方进行分配。

于 2020-03-11T00:11:29.433 回答