Can not use Json API (Protocol version error)

check node health it’s ok ,but can not user JsonAPI


canton version is 2.6.3 ,how can I fix it?
this is participant log

2023-05-26 16:32:30,322 [canton-env-execution-context-92] INFO  c.d.p.a.s.ApiSubmissionService - Submitting commands for interpretation, context: {participant: "participant1", tid: "", commands: {readAs: [], deduplicationPeriod: {duration: "PT168H"}, submittedAt: "2023-05-26T08:32:30.322092Z", ledgerId: "participant1", applicationId: "Test", submissionId: "c01c1a05-a742-4eb3-93ac-5dbfa2d29b73", actAs: ["HK::12200d91fa6b74de5c85025b7f87077a021ddecd7865995a44bc90998f7e39f93be8"], commandId: "63f80c3a-8d63-43b8-b0ff-7036265aab60", workflowId: null}}
2023-05-26 16:32:30,331 [canton-env-execution-context-92] INFO  c.d.c.p.s.CantonSyncService:participant=participant1 tid:2e289c3c546da8128156656296f2aa0a - NO_DOMAIN_FOR_SUBMISSION(9,2e289c3c): No valid domain for submission found. err-context:{applicationId=Test, commandId=63f80c3a-8d63-43b8-b0ff-7036265aab60, domainsNotUsed=Map(domain::122069377a85... -> The transaction uses a specific LF version 15 that is supported starting protocol version: 4.Currently the Domain domain::122069377a85... is using 3), location=DomainSelector.scala:206} 
2023-05-26 16:32:30,332 [canton-env-execution-context-92] INFO  c.d.p.a.s.ApiSubmissionService - Rejected: Submission failed with error NO_DOMAIN_FOR_SUBMISSION(9,2e289c3c): No valid domain for submission found., context: {participant: "participant1", tid: "", commands: {readAs: [], deduplicationPeriod: {duration: "PT168H"}, submittedAt: "2023-05-26T08:32:30.322092Z", ledgerId: "participant1", applicationId: "Test", submissionId: "c01c1a05-a742-4eb3-93ac-5dbfa2d29b73", actAs: ["HK::12200d91fa6b74de5c85025b7f87077a021ddecd7865995a44bc90998f7e39f93be8"], commandId: "63f80c3a-8d63-43b8-b0ff-7036265aab60", workflowId: null}}
2023-05-26 16:32:30,334 [canton-env-execution-context-23] INFO  c.d.c.n.g.ApiRequestLogger:participant=participant1 tid:4bf8db355e2b1c477aec2d2054174493 - Request c.d.l.a.v.CommandService/SubmitAndWaitForTransaction by /10.194.168.140:6025: failed with FAILED_PRECONDITION/NO_DOMAIN_FOR_SUBMISSION(9,2e289c3c): No valid domain for submission found.
2023-05-26 16:32:31,985 [daml.index.db.connection.indexer connection adder] INFO  c.d.p.s.b.c.InitHookDataSourceProxy - Init hook execution finished successfully, connection ready, context: {participant: "participant1"}
2023-05-26 16:32:36,396 [daml.index.db.connection.indexer connection adder] INFO  c.d.p.s.b.c.InitHookDataSourceProxy - Init hook execution finished successfully, connection ready, context: {participant: "participant1"}
2023-05-26 16:32:40,512 [daml.index.db.connection.indexer connection adder] INFO  c.d.p.s.b.c.InitHookDataSourceProxy - Init hook execution finished successfully, connection ready, context: {participant: "participant1"}
2023-05-26 16:32:42,184 [daml.index.db.connection.indexer connection adder] INFO  c.d.p.s.b.c.InitHookDataSourceProxy - Init hook execution finished successfully, connection ready, context: {participant: "participant1"}
2023-05-26 16:32:42,899 [daml.index.db.connection.indexer connection adder] INFO  c.d.p.s.b.c.InitHookDataSourceProxy - Init hook execution finished successfully, connection ready, context: {participant: "participant1"}
2023-05-26 16:32:58,216 [canton-env-execution-context-92] INFO  c.d.c.p.p.ParticipantPruningScheduler:participant=participant1 tid:5f142498e891489fb750e14f8d689063 - With Done scheduled next 1h
2023-05-26 16:37:59,979 [canton-env-execution-context-92] INFO  c.d.p.a.s.tracking.TrackerMap - Shutting down tracker for Key(Test,Set(HK::12200d91fa6b74de5c85025b7f87077a021ddecd7865995a44bc90998f7e39f93be8)) after inactivity of PT5M, context: {participant: "participant1"}
2023-05-26 16:43:11,308 [canton-env-execution-context-21] INFO  c.d.c.s.c.t.GrpcSequencerSubscription:participant=participant1/domain=domain - The sequencer subscription has been terminated by the server.
2023-05-26 16:43:11,319 [canton-env-execution-context-92] INFO  c.d.c.s.c.t.GrpcSubscriptionErrorRetryPolicy:participant=participant1/domain=domain - Trying to reconnect to give the sequencer the opportunity to become available again (after Connection terminated by the server.)

this is domain log

2023-05-26 15:49:49,813 [canton-env-execution-context-21] INFO  c.d.c.s.c.SequencedEventValidator$:domain-manager=domain/client=topology-manager tid:f965d1e63bd8b42b0d498fd07ffa6a0f - Validating event at 2023-05-26T07:49:49.732235Z optimistically with snapshot taken at 2023-05-26T07:49:49.452156Z
2023-05-26 15:49:49,821 [canton-env-execution-context-19] INFO  c.d.c.s.c.SequencedEventValidator$:domain-manager=domain/client=topology-manager tid:0ea12d2a63e7e0e9435994f211b5dc70 - Validating event at 2023-05-26T07:49:49.732325Z optimistically with snapshot taken at 2023-05-26T07:49:49.452156Z
2023-05-26 15:49:49,835 [canton-env-execution-context-20] INFO  c.d.c.t.p.TopologyTransactionProcessor:domain-manager=domain tid:0ea12d2a63e7e0e9435994f211b5dc70 - Storing topology transaction 1/1 Add VettedPackages(
  participant = participant1::12200d91fa6b...,
  packages = Seq(
    65576dce1566...,
    dd2089c0a172...,
    e05767016083...,
    cb0552debf21...,
    3f4deaf145a1...,
    86828b984346...,
    f20de1e4e37b...,
    76bf0fd12bd9...,
    38e6274601b2...,
    d58cf9939847...,
    40f452260bef...,
    e491352788e5...,
    6839a6d3d430...,
    518032f41fd0...,
    6ae9e4ca0eb9...,
    8f4233d7a107...,
    10e0333b52bb...,
    bfcd37bd6b84...,
    cc348d369011...,
    057eed1fd48c...,
    6df2d1fd8ea9...,
    d14e08374fc7...,
    c1f1f0055879...,
    6c2c0667393c...,
    e22bce619ae2...,
    e4cc67c3264e...,
    8a7806365bbd...,
    97b883cd8a2b...,
    5921708ce82f...,
    733e38d36a27...,
    99a2705ed38c...,
    5f5c8174d471...,
    23dbea7b83df...,
    68e258aa1d4b...
  )
) with ts=EffectiveTime(2023-05-26T07:49:49.982325Z) (epsilon=250 ms)
2023-05-26 16:32:53,024 [canton-env-execution-context-85] INFO  c.d.c.s.c.t.GrpcSequencerSubscription:domain-manager=domain/client=topology-manager - The sequencer subscription has been terminated by the server.
2023-05-26 16:32:53,040 [canton-env-execution-context-55] INFO  c.d.c.s.c.t.GrpcSubscriptionErrorRetryPolicy:domain-manager=domain/client=topology-manager - Trying to reconnect to give the sequencer the opportunity to become available again (after Connection terminated by the server.)

Hi @skylorna , your sync domain is running protocol version 3 or earlier, but your package is compiled to Daml-LF 1.15 which was only introduced in protocol version 4.

If you are not using any language features like Daml Interfaces that were only introduced in Daml-LF 1.14, you can solve this issue by compiling to Daml-LF 1.14. Just add this to your daml.yaml file:

build-options:
  - --target=1.14

If you are using new language features, you need to upgrade your protocol version following this guide.

1 Like

Thank you, I can work by commenting out the sentence of protocol-version in the configuration file

1 Like