I create the project with this template:
daml new quickstart --template quickstart-java
daml build – okey
I want this project to communicate with SAWTOOTH so I configure the port and ledger-id as configured in “/daml-on-sawtooth/docker/compose/daml-local.yaml”.
…
entrypoint: "bash -c "
sleep 30 &&
/opt/sawtooth-daml-rpc/entrypoint.sh
–participant port=9000,address=0.0.0.0,participant-id=rpc-0,server-jdbc-url=jdbc:postgresql://postgres/postgres?user=postgres
–ledger-id test
…
I create the token:
{
"https://daml.com/ledger-api": {
"ledgerId": "test",
"applicationId": "HTTP-JSON-API-Gateway",
"actAs": [
"Alice"
]
}
} eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwczovL2RhbWwuY29tL2xlZGdlci1hcGkiOnsibGVkZ2VySWQiOiJ0ZXN0IiwiYXBwbGljYXRpb25JZCI6IkhUVFAtSlNPTi1BUEktR2F0ZXdheSIsImFjdEFzIjpbIkFsaWNlIl19fQ.1VsqNfz_7GlajjhRBITG-JoXIKIO5alUXt6_VYsDAv4
I deploy the ledger:
cd quickstart
daml sandbox --wall-clock-time --ledgerid test ./.daml/dist/quickstart-0.0.1.dar --port 9000
INFO: Slf4jLogger started
INFO: Listening on localhost:9000 over plain text.
____ ____
/ __/__ ____ ___/ / / ___ __ __
_\ \/ _ `/ _ \/ _ / _ \/ _ \\ \ /
/___/\_,_/_//_/\_,_/_.__/\___/_\_\
INFO: Initialized sandbox version 1.11.1 with ledger-id = test, port = 9000, dar file = List(./.daml/dist/quickstart-0.0.1.dar), time mode = wall-clock time, ledger = in-memory, auth-service = AuthServiceWildcard$, contract ids seeding = strong
I run the json-api service:
daml json-api --ledger-host=localhost --ledger-port=9000 --http-port=7575 --address=0.0.0.0 --allow-insecure-tokens
11:34:35.442 [main] INFO com.daml.http.Main$ - Config(ledgerHost=localhost, ledgerPort=9000, address=0.0.0.0, httpPort=7575, portFile=None, packageReloadInterval=5 seconds, packageMaxInboundMessageSize=None, maxInboundMessageSize=4194304, tlsConfig=TlsConfiguration(false,None,None,None,REQUIRE,false,List()), jdbcConfig=None, staticContentConfig=None, allowNonHttps=true, accessTokenFile=None, wsConfig=None)
11:34:35.812 [http-json-ledger-api-akka.actor.default-dispatcher-5] INFO akka.event.slf4j.Slf4jLogger - Slf4jLogger started
11:34:36.931 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO com.daml.http.HttpService$ - Connected to Ledger: test
11:34:36.932 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO com.daml.http.HttpService$ - contractDao: None
11:34:37.852 [http-json-ledger-api-akka.actor.default-dispatcher-11] INFO com.daml.http.PackageService - new package IDs loaded: f3a8894cb1c3e35049399d6a7ae98b6669772e31c932afff68e1b3ac36b8f327, c1f1f00558799eec139fb4f4c76f95fb52fa1837a5dd29600baa1c8ed1bdccfd, 733e38d36a2759688a4b2c4cec69d48e7b55ecc8dedc8067b815926c917a182a, bfcd37bd6b84768e86e432f5f6c33e25d9e7724a9d42e33875ff74f6348e733f, 518032f41fd0175461b35ae0c9691e08b4aea55e62915f8360af2cc7a1f2ba6c, 8b58230a4b874368eee876d992bd8a4eee1bd9404d48e46fc5f7251aa38b68f9, cc348d369011362a5190fe96dd1f0dfbc697fdfd10e382b9e9666f0da05961b7, 0e53cf68e452f8c59f04d08031128f3720a971dbfd685abda7cc305a67478f14, d8c2ae4afe16f0192cfcaa00ee16e0cf68c22020aa81e1ad55f739f5c42516fd, 6839a6d3d430c569b2425e9391717b44ca324b88ba621d597778811b2d05031d, 99a2705ed38c1c26cbb8fe7acf36bbf626668e167a33335de932599219e0a235, 76bf0fd12bd945762a01f8fc5bbcdfa4d0ff20f8762af490f8f41d6237c6524f, e22bce619ae24ca3b8e6519281cb5a33b64b3190cc763248b4c3f9ad5087a92c, d58cf9939847921b2aab78eaa7b427dc4c649d25e6bee3c749ace4c3f52f5c97, 6c2c0667393c5f92f1885163068cd31800d2264eb088eb6fc740e11241b2bf06, d14e08374fc7197d6a0de468c968ae8ba3aadbf9315476fd39071831f5923662, 057eed1fd48c238491b8ea06b9b5bf85a5d4c9275dd3f6183e0e6b01730cc2ba, e491352788e56ca4603acc411ffe1a49fefd76ed8b163af86cf5ee5f4c38645b, 40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7, 97b883cd8a2b7f49f90d5d39c981cf6e110cf1f1c64427a28a6d58ec88c43657, 8a7806365bbd98d88b4c13832ebfa305f6abaeaf32cfa2b7dd25c4fa489b79fb 11:34:38.294 [http-json-ledger-api-akka.actor.default-dispatcher-10] INFO com.daml.http.Main$ - Started server: ServerBinding(/0:0:0:0:0:0:0:0:7575)
I use a rest client to create a contract, parameters I use:
url:
localhost:7575/v1/créate
Authorization:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwczovL2RhbWwuY29tL2xlZGdlci1hcGkiOnsibGVkZ2VySWQiOiJ0ZXN0IiwiYXBwbGljYXRpb25JZCI6IkhUVFAtSlNPTi1BUEktR2F0ZXdheSIsImFjdEFzIjpbIkFsaWNlIl19fQ.1VsqNfz_7GlajjhRBITG-JoXIKIO5alUXt6_VYsDAv4
Payload:
{
"templateId": "Iou:Iou",
"payload": {
"issuer": "Alice",
"owner": "Alice",
"currency": "EUR",
"amount": "556.99",
"observers": []
}
}
I execute and get the contract created:
{
"result": {
"agreementText": "",
"contractId": "0010d30947ace786eec5e834f2af183d43c4e24e6a12237f9bf74124a14795edbb",
"observers": [],
"payload": {
"observers": [],
"issuer": "Alice",
"amount": "556.99",
"currency": "EUR",
"owner": "Alice"
},
"signatories": [
"Alice"
],
"templateId": "0e53cf68e452f8c59f04d08031128f3720a971dbfd685abda7cc305a67478f14:Iou:Iou"
},
"status": 200
}
All the above process I want to run by connecting to SAWTOOTH, I follow the tutorial https://daml.com/learn/deploying-daml/daml-on-sawtooth/
I deploy sawttoth:
validator | [2021-03-23 11:52:47.937 INFO block_validator] Block e4a39ab48dc642ae03503d248ea7ba45190f38ecc77b2fafa34729a8d81e95a75722de500e1eaa2bc4fcb9aeed5b2d4482e2ebf119865a4883c023b6d3911a84 (block_num:8, state:4dbc5ed46d6c9b7b1054c7dcad8ca3e8ec952317895b2e1858c02d642308a547, previous_block_id:e0fba02c7072f1917b809ef99bd2c01625b52e5a991227ab213f5a2297eaee6858bfbf400d35777f1d620b4e9c73df7e797460cb7f036252d49fcc98b9a8b27e) passed validation
daml-rpc | 11:52:47.986 [ForkJoinPool-4-worker-3] INFO com.blockchaintp.sawtooth.daml.rpc.ZmqEventHandler - Received block-commit block_num=8
devmode | WARN | devmode_engine_rust: | Block not ready to summarize
Upload file dar:
daml ledger upload-dar ./.daml/dist/quickstart-0.0.1.dar --host localhost --port 9000
Is this an error? There are a couple of errors in the traces:
daml-tp | 11:53:03.401 [ForkJoinPool-1-worker-7] WARN com.blockchaintp.sawtooth.daml.processor.DamlTransactionHandler - Assembling and handling transaction with fragment part 2 of 2 size=0
daml-tp | 11:53:03.744 [Thread-3] ERROR com.daml.ledger.participant.state.kvutils.committer.PackageCommitter - Preload exception, correlationId=6995e48b-a676-4e16-bb79-eee001ea89d1 error='com.daml.lf.archive.Reader$ParseError: LF file V1.11 unsupported; maximum supported V1.x is V1.8' stackTrace='com.daml.lf.archive.Reader.readArchivePayloadAndVersion(Reader.scala:91), com.daml.lf.archive.Reader.readArchiveAndVersion(Reader.scala:59), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$6(PackageCommitter.scala:206), scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:273), scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62), scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55), scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49), scala.collection.TraversableLike.map(TraversableLike.scala:273), scala.collection.TraversableLike.map$(TraversableLike.scala:266), scala.collection.AbstractTraversable.map(Traversable.scala:108), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$2(PackageCommitter.scala:205), com.codahale.metrics.Timer.time(Timer.java:118), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$1(PackageCommitter.scala:198), java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.base/java.lang.Thread.run(Unknown Source)'
daml-tp | 11:53:04.358 [ForkJoinPool-1-worker-7] WARN com.blockchaintp.sawtooth.daml.processor.DamlTransactionHandler - Storing transaction fragment part 0 of 2 size=262144
daml-tp | 11:53:04.374 [ForkJoinPool-1-worker-7] WARN com.blockchaintp.sawtooth.daml.processor.DamlTransactionHandler - Storing transaction fragment part 1 of 2 size=9218
daml-tp | 11:53:04.378 [ForkJoinPool-1-worker-7] WARN com.blockchaintp.sawtooth.daml.processor.DamlTransactionHandler - Assembling and handling transaction with fragment part 2 of 2 size=0
daml-tp | 11:53:04.534 [Thread-4] ERROR com.daml.ledger.participant.state.kvutils.committer.PackageCommitter - Preload exception, correlationId=6995e48b-a676-4e16-bb79-eee001ea89d1 error='com.daml.lf.archive.Reader$ParseError: LF file V1.11 unsupported; maximum supported V1.x is V1.8' stackTrace='com.daml.lf.archive.Reader.readArchivePayloadAndVersion(Reader.scala:91), com.daml.lf.archive.Reader.readArchiveAndVersion(Reader.scala:59), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$6(PackageCommitter.scala:206), scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:273), scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62), scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55), scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49), scala.collection.TraversableLike.map(TraversableLike.scala:273), scala.collection.TraversableLike.map$(TraversableLike.scala:266), scala.collection.AbstractTraversable.map(Traversable.scala:108), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$2(PackageCommitter.scala:205), com.codahale.metrics.Timer.time(Timer.java:118), com.daml.ledger.participant.state.kvutils.committer.PackageCommitter.$anonfun$preload$1(PackageCommitter.scala:198), java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source), java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source), java.base/java.lang.Thread.run(Unknown Source)'
validator | [2021-03-23 11:53:04.702 INFO block_validator] Block b1feb3dd9891b022badf825f5738d3a079833b7fdf9ae023989df8b61d929e7565c62cc465cb05e62650d2931118e6faae556583d82c7df744b5377980abfc65 (block_num:9, state:0bfedf8093185f8fafb7c927b020b3d1932b090d6ac9004039845663cf7d4669, previous_block_id:e4a39ab48dc642ae03503d248ea7ba45190f38ecc77b2fafa34729a8d81e95a75722de500e1eaa2bc4fcb9aeed5b2d4482e2ebf119865a4883c023b6d3911a84) passed validation
daml-rpc | 11:53:04.868 [ForkJoinPool-4-worker-3] INFO com.blockchaintp.sawtooth.daml.rpc.ZmqEventHandler - Received block-commit block_num=9
devmode | WARN | devmode_engine_rust: | Block not ready to summarize
validator | [2021-03-23 11:53:08.241 INFO block_validator] Block a69d63a183cd8c2b4246d2e11a90765ab0c2a8a6e3adc022729c6a0fa87198323997e9ea70863b9b90f870537c7a788263fe559f75d78589abd0104461221e61 (block_num:10, state:08d736f3366838934d563a0b2ce85da3998820d14afeac810389c93995b70314, previous_block_id:b1feb3dd9891b022badf825f5738d3a079833b7fdf9ae023989df8b61d929e7565c62cc465cb05e62650d2931118e6faae556583d82c7df744b5377980abfc65) passed validation
daml-rpc | 11:53:08.314 [ForkJoinPool-4-worker-3] INFO com.blockchaintp.sawtooth.daml.rpc.ZmqEventHandler - Received block-commit block_num=10
devmode | WARN | devmode_engine_rust: | Block not ready to summarize
thank you for your comments