I couldn't find any information on how to automatically include the ricardian clauses in the abi. I always get the error:

abi_generator.hpp:68 ricardian_contracts ] Warning, no ricardian clauses found for

I found out that the name must be ${contract}_rd.md. But the abi_generator doesn't even resolve the correct contract name in my contract.

  1. How is the contract name determined? It looks like you need to use the EOSIO_ABI macro in some way. How to do it when I cannot use this macro?
  2. I tested it with the example contract: eosiocpp -n hello and create files for hello_rc.md, hello.hi_rc.md. Running eosiocpp -g hello.abi hello.cpp creates the abi with no warnings, but the clauses are empty in the abi file. Why are they empty? Do they need a specific format?

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. These will then be automatically integrated into the compiled ABI file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.