Is it possible to use wscat with the 2.x HTTP JSON API?
-
Start the HTTP JSON API.
daml new test
cd test
daml start
-
Confirm the contracts exist and the token is good with curl
and v1/query
.
(the token should work for you too)
curl http://localhost:7575/v1/query --header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL2RhbWwuY29tL2p3dC9hdWQvcGFydGljaXBhbnQvc2FuZGJveCIsInN1YiI6ImFsaWNlIiwiaXNzIjoiaWdub3JlZCJ9.uKjafJLbf4KCBL6ys1pBT2jxs0DpflUpKX-5ZRtLVs'
-
Stream the contracts with v1/stream/query
.
How to do this with wscat
?
This works:
wscat --connect http://localhost:7575/v1/stream/query \
--subprotocol 'daml.ws.auth' \
--subprotocol 'jwt.token.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL2RhbWwuY29tL2p3dC9hdWQvcGFydGljaXBhbnQvc2FuZGJveCIsInN1YiI6ImFsaWNlIiwiaXNzIjoiaWdub3JlZCJ9.uKjafJLbf4KCgBL6ys1pBT2jxs0DpflUpKX-5ZRtLVs' \
--execute '{ "templateIds" : [ "bc6d87a0d45cb8e2a9ea194ab9d380e79ab9622695c8fa9ab6c23d764d1e0df5:Main:Asset" ] }'
Results
{
"events": [
{
"created": {
"agreementText": "",
"contractId": "003b0bf878e6602afdeae71c1f8abb032d27ed83b0a6e8e6b59aa351cd705ed82dca03122087e0aa95e3e93725fe43fe942d4c5c5ace112c6bcfd95b90581f1004bd47fab2",
"observers": [],
"payload": {
"issuer": "Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd",
"owner": "Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd",
"name": "TV"
},
"signatories": [
"Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd"
],
"templateId": "bc6d87a0d45cb8e2a9ea194ab9d380e79ab9622695c8fa9ab6c23d764d1e0df5:Main:Asset"
},
"matchedQueries": [
0
]
}
]
}
{
"events": [],
"offset": "000000000000000009"
}
Alternatively, connect and then submit the filter:
wscat --connect http://localhost:7575/v1/stream/query \
--subprotocol 'daml.ws.auth' \
--subprotocol 'jwt.token.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJodHRwczovL2RhbWwuY29tL2p3dC9hdWQvcGFydGljaXBhbnQvc2FuZGJveCIsInN1YiI6ImFsaWNlIiwiaXNzIjoiaWdub3JlZCJ9.uKjafJLbf4KCgBL6ys1pBT2jxs0DpflUpKX-5ZRtLVs'
{ "templateIds" : [ "bc6d87a0d45cb8e2a9ea194ab9d380e79ab9622695c8fa9ab6c23d764d1e0df5:Main:Asset" ] }
Results
< {"events":[{"created":{"agreementText":"","contractId":"003b0bf878e6602afdeae71c1f8abb032d27ed83b0a6e8e6b59aa351cd705ed82dca03122087e0aa95e3e93725fe43fe942d4c5c5ace112c6bcfd95b90581f1004bd47fab2","observers":[],"payload":{"issuer":"Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd","owner":"Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd","name":"TV"},"signatories":["Alice::1220f3de2718124a544a3d46f3ef32fb51ffc963ba761bbadaed8b4667d482436fbd"],"templateId":"bc6d87a0d45cb8e2a9ea194ab9d380e79ab9622695c8fa9ab6c23d764d1e0df5:Main:Asset"},"matchedQueries":[0]}]}
< {"events":[],"offset":"000000000000000009"}
< {"events":[],"offset":"000000000000000009"}
:
: