The idea of a Ricardian contract is to define what the smart contract should do and how it should behave.
If you had a "To do app" contract for example which lets people mark what is on their to do list.
complete - Is to mark an accounts to do item as complete, only the account owner and no one else has permission to do this.
One of it's purposes is to ...
If you want some visuals, Ian Grigg (partner at block one) is the creator of the Ricardian Contract and co-wrote a white paper which goes into detail. Specifically the diagram on page 9 (below), and the case studies on pages 29-34 provide 3 examples of potential use cases.
You may also find the original Ricardian Contract white paper here.
And finally, ...
Yes, you can create a dapp with a Ricardian contract embedded in it. Specifically in the abi file which is a JSON file defining the interface of the smart contract or the dapp. This is the empty Ricardian structure:
A more elaborate example of a ricardian contract can be seen in the hello example contract.
A Ricardian contract ...
The full prose of the contract can be stored in the ABI which enables the conversion from binary -> json -> human contract with variable substitution.
That said, contracts could also incorporate other contracts by hash-reference.
UPDATE: The authorization for the system contract to do transfers in behalf of the users through inline actions is automatic because it is configured as a privileged account in the blockchain. For normal contracts to be able to send inline actions to other contracts, you would need the user to specify the eosio.code permission for that contract, thus giving ...
Everytime you update the ABI file, a record is stored on chain. The action is eosio::setabi. Therefore it would be possible to say which version of the ABI file was current on the blockchain at the time of a transaction being signed.
Probably not. It looks like what you said should work, but if it's not, I don't see another flag that would do that.
-w | - Suppress all warnings
They (the warnings) were there at the beginning, then they went away, and now it looks like they're back.
This is a good thing because it will remind developers to add them. Technically, the current ...
The eosiocpp compiler was the old deprecated way of compiling the c++ into wasm contracts.
The new way uses a compiler called eosio-cpp, which is very confusing.
With eosio.cdt, you can generate a CMake build system using eosio-init, and it will generate the cmake command target_ricardian_directory, where you should specify your ricardian contract files. ...
The ABI file is actually generated from the cpp file you're compiling from.
eosiocpp -g file.abi file.cpp
This is also the reason you use the macro in your code to tell the compiler which of your functions is an action and which of your tables are callable.
EOSIO_ABI( scope, (action 1)(action 2)...(action n) );
From here, the ricardian contract can be ...