Last updated
Was this helpful?
Last updated
Was this helpful?
The ACI interface encoder and decoder.
This module provides an interface to generate and convert between Sophia contracts and a suitable JSON encoding of contract interface. As yet the interface is very basic.
Encoding this contract:
generates the following JSON structure representing the contract interface:
When that encoding is decoded the following include definition is generated:
Generate the JSON encoding of the interface to a contract. The type definitions and non-private functions are included in the JSON string.
Take a JSON encoding of a contract interface and generate a contract interface that can be included in another contract.
This is an example of using the ACI generator from an Erlang shell. The file
called aci_test.aes
contains the contract in the description from which we
want to generate files aci_test.json
which is the JSON encoding of the
contract interface and aci_test.include
which is the contract definition to
be included inside another contract.
The final call to jsx:prettify(jsx:encode(JsonACI))
returns the encoding in a
more easily readable form. This is what is shown in the description above.