Marlow Play is up and running, and that’s good news.
Is it deliberate action that in comments you cannot use signs such as: ą, ę, ć, ś, ń, ż, ź, ó?
Can you please specify if you are refering to the Haskell editor? If yes, it is not on purpose and we will look into it.
For the future issues, I encourage you to create issues in our GitHub repo: Issues · input-output-hk/marlowe-cardano · GitHub ; this will help us manage any requests.
Thank you!
The lack of diacritics in the code comments at https://play.marlowe-finance.io/#/haskell doesn’t seem like a problem.
However, if we want to have an end customer, we would surely like to have their transactions handled in their national language.
Hello, marlowe is the repository for the Marlowe DSL with semantics and formal verification. marlowe-cardano is the implementation of Marlowe on Cardano and also contains the playground and Marlowe run
Using the existing documentation, I was able to create Marlowe Financial smart contract, I even tried marlowe playground for testing few simple contracts.
Now I am trying to create/host a real smart contract and how to interact with it.
Although I found multiple options, but nothing seems to be working. Most of links are either outdated or not reachable.
Could you please provide one golden source of information which I can try to host a Marlowe smart contract and interact with the same.
Sorry about the outdated documentation—that is being revamped. Currently, there are three techniques for running Marlowe contracts on the Cardano blockchain.
The Marlowe Starter Kit, which is intended for developers who are familiar with Cardano tools and the UTxO model, includes lessons for each of the three techniques.
Lessons 1, 2, 4, 5 require access to the Marlowe Runtime backend services, which can be deployed with Docker.
Lesson 3 just requires access to a Cardano Node, but you’ll need to manage UTxOs manually.
If you have further questions, run into difficulties, or have suggestions, please feel free to reach out, either here or in #ask-marlowe on the IOG Discord. Thanks!
One more quick question, once I launched the Jupyter notebook using nix run command, how can I access this Jupyter server from different machine.
I tried changing the JUPYTER_CONFIG_DIR variable to relevant Jupyter config file but it seems this Jupyter notebook is launched differently from NIX and not picking up the updated config file.
Unfortunately, the nix flake github:tweag/jupyenv does not take an argument to enable remote access. Until it does (maybe its Issue#58 should be reopened or a new issue created), there are two approaches to accessing remotely.
Connect to the notebook from a remote machine via an ssh tunnel that forwards the notebook’s port.
I haven’t tried these recently, so Jupyter’s security settings might defeat them: it is somewhat finicky about proxies and might be able to detect the tunnel.
BTW, Jupyter is just a convenience for tutorials and experimentation. If one exposes Marlowe Runtime’s ports (either its web server or its proxy client), then one can execute contracts remotely.
For example, exposing the Marlowe Runtime webserver port would provide the capability for any tool or programming language to make HTTP calls to execute Marlowe contracts.
Thanks for all your help and support, I am able to run couple of contracts end-to-end via jupyter notebook.
Though, I am able to interact with cardano blockchain using jupyter notebook, however still outside the jupyter notebook (say from cmd or python) when I tried to send similar curl request (say curl -sSI “http://127.0.0.1:3780/healthcheck”) it failed to connect.
I assume I am missing some configuration here to connect to marowe/cardano cli running on remote server.
Well I am able run the healthcheck using another tunnel to actual Linux server.
Could you guide me the documentation wherein I can find how to fire cardano/marlowe commands remotely using similar http calls.
I don’t think we have documentation for port forwarding and tunneling, since that technique isn’t specific to Cardano or Marlowe.
Here is an example of tunneling from the remote (192.168.0.12) ports 537xx to the corresponding local (127.0.0.1) ports 37xx and also forwarding the node socket from /remote/node.socket to /local/node.socket. This command is executed on the local machine (not the remote one).
It could be that local firewalls are blocking traffic. The Marlowe Runtime web server on the remote machine binds to all interfaces (0.0.0.0) by default, so it should be possible to access its port directly if the remote machine permits. If you’re running Marlowe Runtime inside docker, then either docker’s network configuration or the remote machine’s firewall might be blocking traffic.
Thanks @bwbush: I am able to get it working end to end.
One more question, We don’t want user to provide the signing key for authorizing the transactions. Is there a way that we can send notification to user wallet to deposit money to contract wallet.
He just has to open the wallet and click on send, something like that.
Or is it already handled, once we add an address in contract he receives some notification for depositing the money.
In marlowe playground ( https://run.marlowe-finance.io/) I already validated that it sends notification to deposit money to buying party, just want to clarify that it will also happen in real test network and with any cardano wallet.