Question about 'Deposit' action option in Marlowe

I’m constantly seeing examples where Alice is asked to ‘deposit’ money into the account for example and the contract will continue.

What exactly does it mean to deposit into the account?

  1. After setting ‘PubKeyHash’ in ‘Roles’ does the contract check the balance in let’s say Alice’s Daedalus wallet? If there’s no balance in her wallet will it ask for a deposit?

Or

  1. Does Alice have to send ADA to Bob through the blockchain(Her putting in Bob’s address to send ADA through her Daedalus wallet) and doing so will create a temporary account for Alice, and then the contract will come into play?

How exactly does Deposit work? Thanks!

Alice will send the deposit to the Marlowe smart contract, which will hold the funds in an account it tracks for her, but if you look on the blockchain, you’ll just see the UTxO at the contract address, probably with a datum attached that marks the funds as from Alice.

In general, the inner workings of Marlowe contracts will appear as UTxOs+datum at the contract address, and these will change (via transactions) as the contract progresses, and sometimes it will send funds to wallets, all according to the contract logic.

1 Like

I really appreciate your help. I’m actually very new to blockchain but I’m a dev in another area. So does Alice manually put in the address for the contract address in her Daedalus wallet when sending ADA? Also how do I get the address of the Marlowe contract? Do I have to put it on the Mainnet?

Also if it helps, I’m hoping to integrate this into an iOS app with a web server

Edit: I think I figured it out, I launch the contract on the Mainnet and then I get the address from there.

1 Like

A lot depends upon wallet integration and the backend infrastructure, not on the contract itself or on the blockchain. I’m hoping that all of the common wallets will have seamless integration with Dapps and with Marlowe and Plutus contracts.

1 Like

Do you personally recommend any tools to launch Marlowe Contracts on the Mainnet?

I’ve only experimented with Marlowe in Haskell and in the Marlowe Playground. (Once I learned the language to my satisfaction, I decided to just wait until the deployment tools are mature before pursuing it further.) BTW, I think that there will be a Marlowe Pioneers course, like there is a Plutus Pioneers course, but I haven’t heard much about when that might be offered.

1 Like

Appreciate your time thanks!

1 Like