The purpose of this document is to capture the strategies and tactics that are applicable for the Fio Protocol in consideration of eliminating the need for changes to core code in the protocol when endpoints for signed calls are being added into FIO.
presently engineers must make code changes to the chain_plugin, chain_api_plugin, and clio executable when adding new endpoints to the Fio Protocol.
Details of issue:
For any new endpoint engineers must consider to make the following changes to the C++ core code.
Affected FIO components
Chain API plugin
clio command line executable
Add the parameters used in the new call. (chain plugin)
Add the results returned by the new call. (chain plugin)
Add the name of the new call. (chain api plugin)
Integrate the new call into the clio command line tool. (clio command line tool)
We want to remove the necessity to have to recompile the core code of FIO when new signed calls are added into the protocol. Put another way, we want to be able to use state tables, and other configuration information in combination with calling actions provided in FIO system contracts, to add a new endpoint without having to deliver a new version of the core code when endpoints are added.