Last week I worked with @anthony and @bernhard to discuss how to best pass around state in React using router props.
We came to the conclusion that it would be most stable to add contract keys --> pass them as route parameters --> query by the template and contract key to retrieve the specific contract.
I have read through the Contract Keys documentation but am looking for other examples to better understand how contract keys work.
When I tried adding contract keys to our adaptation of the
ex-bond-issuance repo, I was able to generate a
.dar file, but when I spun up the application in Sandbox, it was clear that the
init-script: DA.RefApps.Bond.Test.MarketSetupScript:setupMarket had never run.
In retrospect, I am surprised that I was able to generate a
.dar file without any errors while the market setup script fails to initiate the ledger.
There seem to be more downstream consequences than specifying a key, maintainer, and data type for the particular contracts that I would like to have a stable reference to (for visualization purposes).
Are there any other resources out there that can help me to correctly add contract keys to an existing model?
It’s not clear to me what error you are facing. In general, the sandbox (or any other ledger) does not really have any notion of an init script, and loading a DAR file does not execute any code by itself.
The one thing that does have a notion of an init script is the
daml start command. If you spin up your sandbox using anything else, you have to execute any script you want to be executed yourself.
If you are using
daml start, please share your
daml.yaml configuration along with any error message you got as output from
Hey @Gary_Verhaegen. Thanks for the response.
I am going to collect some more information to post a bit more context. For now here is my
daml start and my
daml start --sandbox-option --address=localhost --sandbox-option -w --open-browser no
The confusion for me was that I didn’t get any errors - but rather it was clear that the
init-script: DA.RefApps.Bond.Test.MarketSetupScript:setupMarket didn’t run fully.
I am going to try and recreate the error tomorrow morning and post some more detail.