hacera / daml-on-fabric

HACERA's work with Digital Asset on enabling DAML applications to run on Hyperledger Fabric
Apache License 2.0
27 stars 5 forks source link

com.digitalasset.daml.lf.archive.reader$ParseError: LF file V1.6 unsupported #3

Open ionizer opened 4 years ago

ionizer commented 4 years ago

Hello there,

I've been playing around with DAML and this repository, and been successfully running this project according to the instructions found in the readme. I can also connect the DAML JSON API with the command daml json-api --ledger-host localhost --ledger-port 6865 --http-port 7575 --max-inbound-message-size 52428800 to the running ledger. But whenever a DAML JSON is submitted through the JSON API to interact with the ledger, it is throwing the following error: image

How can we resolve this error? I have also tried updating the sdkVersion variable in build.sbt file to 100.13.29 but it's giving a lot of errors, possibly due to many breaking changes.

[info] Loading settings for project daml-on-fabric-build from assembly.sbt,plugins.sbt ...
[info] Loading project definition from E:\Codes\DAML\daml-on-fabric\project
[info] Loading settings for project root from build.sbt ...
[info] Set current project to DAML-on-Fabric (in build file:/E:/Codes/DAML/daml-on-fabric/)
[info] Updating ...
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 4 Scala sources and 1 Java source to E:\Codes\DAML\daml-on-fabric\target\scala-2.12\classes ...
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\ExampleServer.scala:61:21: not enough arguments for method readArchive: (name: String, darStream: java.util.zip.ZipInputStream)scala.util.Try[com.digitalasset.daml.lf.archive.Dar[com.digitalasset.daml_lf.DamlLf.Archive]].
[error] Unspecified value parameter darStream.
[error]         .readArchive(new ZipFile(file))
[error]                     ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:73:43: not enough arguments for method apply: (generation: Long, timeModel: com.daml.ledger.participant.state.v1.TimeModel, authorizedParticipantId: Option[com.daml.ledger.participant.state.v1.ParticipantId], openWorld: Boolean)com.daml.ledger.participant.state.v1.Configuration in object Configuration.
[error] Unspecified value parameters timeModel, authorizedParticipantId, openWorld.
[error]   private val ledgerConfig = Configuration(
[error]                                           ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:110:29: not enough arguments for method apply: (generation: Long, timeModel: com.daml.ledger.participant.state.v1.TimeModel, authorizedParticipantId: Option[com.daml.ledger.participant.state.v1.ParticipantId], openWorld: Boolean)com.daml.ledger.participant.state.v1.Configuration in object Configuration.
[error] Unspecified value parameters generation, authorizedParticipantId, openWorld.
[error]       config = Configuration(
[error]                             ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:169:71: value prettyEntryId is not a member of object com.daml.ledger.participant.state.kvutils.KeyValueCommitting
[error]             s"CommitActor: processing submission ${KeyValueCommitting.prettyEntryId(entryId)}..."
[error]                                                                       ^  
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:175:19: type mismatch;
[error]  found   : com.daml.ledger.participant.state.v1.Configuration
[error]  required: com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlLogEntryId
[error]             state.config,
[error]                   ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:176:13: type mismatch;
[error]  found   : com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlLogEntryId
[error]  required: com.digitalasset.daml.lf.data.Time.Timestamp
[error]             entryId,
[error]             ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:177:13: type mismatch;
[error]  found   : com.digitalasset.daml.lf.data.Time.Timestamp.T
[error]     (which expands to)  com.digitalasset.daml.lf.data.Time.Timestamp     
[error]  required: com.daml.ledger.participant.state.v1.Configuration
[error]             newRecordTime,
[error]             ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:179:24: value getInputLogEntriesList is not a member of com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlSubmission
[error]             submission.getInputLogEntriesList.asScala
[error]                        ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:187:30: value map is not a member of Any
[error]             damlStateUpdates.map {
[error]                              ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:189:74: type mismatch;
[error]  found   : Any
[error]  required: com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlStateKey
[error]                 NS_DAML_STATE.concat(KeyValueCommitting.packDamlStateKey(k)) ->
[error]
^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:190:57: type mismatch;
[error]  found   : Any
[error]  required: com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlStateValue
[error]                   KeyValueCommitting.packDamlStateValue(v)
[error]                                                         ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:191:76: type mismatch;
[error]  found   : Any
[error]  required: com.daml.ledger.participant.state.kvutils.DamlKvutils.DamlLogEntry
[error]             } + (entryId.getEntryId -> KeyValueCommitting.packDamlLogEntry(logEntry))
[error]
  ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:194:60: value prettyEntryId is not a member of object com.daml.ledger.participant.state.kvutils.KeyValueCommitting
[error]             s"CommitActor: committing ${KeyValueCommitting.prettyEntryId(entryId)} and ${allUpdates.size} updates to store."
[error]                                                            ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:300:27: wrong number of type arguments for com.digitalasset.platform.akkastreams.dispatcher.Dispatcher, should be 1
[error]   private val dispatcher: Dispatcher[Int, List[Update]] = Dispatcher(    
[error]                           ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:305:15: parameter 'zeroIndex' is already specified at parameter position 1
[error] Note that 'steppingMode' is not a parameter name of the invoked method.  
[error]     zeroIndex = beginning,
[error]               ^
[error] E:\Codes\DAML\daml-on-fabric\src\main\scala\com\hacera\FabricParticipantState.scala:300:69: too many arguments (3) for method apply: (zeroIndex: Index, headAtInitialization: Index)(implicit evidence$1: Ordering[Index])com.digitalasset.platform.akkastreams.dispatcher.Dispatcher[Index] in object Dispatcher
[error] Note that 'steppingMode' is not a parameter name of the invoked method.  
[error]   private val dispatcher: Dispatcher[Int, List[Update]] = Dispatcher(    
[error]                                                                     ^    
[error] 16 errors found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 15 s, completed Oct 12, 2019 1:04:52 PM

I am currently using DAML SDK version 0.13.29.

Thanks in advance!

dasormeter commented 4 years ago

hi @ionizer sorry for the delay in responding. The errors you are seeing appear to be related to a later version of the DAML SDK being with the daml on fabric integration.

We are currently planning to upgrade the daml-on-fabric to match the latest released DAML SDK over the next few weeks and will update once it is available.