Hello guys,
I want to discuss if it´s possible to create an smart contract which works similar to a standing order. I want clients to buy my monthly subcribtions per smart contract on a blockchain.
So my questions are:
Is this possible on Cardano (which functions are possible)?
How can i connect a smart contract to the “real world”?
Is anyone interested in starting such a project with me?
Any other ideas related to that topic of financial services?
I wish I could help but I’m just starting to play with Cardano smart contract testnets. If you have similar code in Ethereum Solidity, you can test it on Cardano KEVM. Solidity is a popular smart contract language that is more readily available and it should work on the Cardano KEVM.
The question here is what do you want the smart contract to actually do? The client is the one paying and sending the money monthly, and the SC can validate whether they paid on time, but then what is it suppose to do if they don’t? It’s more your wallet/UI around it that does all the work to let you know if you’ve been paid on time.
Tokenizing monthly subscriptions of your service is the more interesting use case in this realm, as it does actually add a whole new level of possibilities rather than just a different system for tracking monthly payments.
You could have contracts evolving over time giving bonus for loyalties and it will help with tracking data (as two out of many examples) but yeah tokenizing also offers new things or easier use.
Via Oracles, who have the strong incentives to be honest & trusted when providing your contracts external (non-Blockchain) data. Financially incentivized.
But it’s always better to push down data from the “real world” to the Smart Contracts. Call out to the “real world” from a Smart Contract is very tricky and not sure what Cardano will support. It could be done again via some specialized Oracle, as due to the decentralized nature of the infrastructure you would have that call out multiple times from each node that executed your Smart Contract and they would need a deterministic response (at least today, some research is done for non-determinism, also random numbers), have multiple calls (issue in case of non-idempotency) and have the call before consensus is risky in case of disagreement between the nodes (two-phase commit needed).
Smart Contracts doesn’t activate themselves, you have to activate them.
Nevertheless you can have cross-chain (side-chain) transactions soon between various Blockchains (even public to consortium).
Note that Blockchain doesn’t have a sense of time, just block numbers. However as every block is calculated at 20 sec (?), you can calculate date time for block number.
Marlow is not ready yet afak but you could try with what already exists ( just for your orientation )
Visit the testnet website of IOHK and you will find marlow testnet to play with …
In my opinion you could something with what already available
Marlowe seems really promising and yes I would like more documentation as well. But from my understanding they are focused on financial contracts and financial information transfer. So say a contract with some service provided perhaps is not suited for Marlowe? (? since I do not really know the capabilities and scope of Marlowe.)
each person who makes a commit of a certain quantity of ADAs ( known and set by you ) then the contract show an id of the transaction, this id could be used next to have access to the info/ service that you are providing
If, let’s say someone that already paid last month ( for example ) and didn’t pay the current month so the ID of the transaction as is unique for each transaction won´t work unless they do the payment getting the new ID of the transaction
or
as using the hash of the transaction cant be known prior to the payment ( and also this process would be painfully inefficient ) i suggest to do this
If the commit ( of money ) is valid, the smart contract would eventually show a code … this code is somehow a pin to access your info/services
with Marlow i think you could do that
Then on a website you can set the code of valid commit in the smart contract as a pin to access wherever your offering …
I have a couple of project for Cardano Blockchain ( so so so complex ) but i m very curious if you want you can email me, if just for brainstorm cool by me
I have a lot of faith in Marlow, in my opinion, is truly game-changing application as it opens smart contracts to non-programmers and the idea is just too appealing … let’s see
Is a currency conversion oracle feasible? So for example a smart contract could be denominated in dollars to reduce volatility. It would calculate the value to be paid out in dollars and then query a currency converter oracle to get the current exchange rate so the required amount of ADA could be paid out.