Context Navigation

Developer headsup!

All RPC paramters will now be lower case. This *will* break backwards compatibility with API1 implementations. The reasons for this is to provide users of >=API2 with simplest most coherent possible API.

id - The id number or the request, it's used to identify which reply was spawn by which request

method_name - The method name is the name of the RPC that is being invoked

auth_token - This is the session authentication token, it needs to be supplied with every RPC except for the 'authenticate' call

method_parameter_value - This is the method parameter. It is used to offer a different flavors of a method. Like 'get', 'set' and flavors like that.

result_value - This is the value that RPC returns. Its type and contents depends on the method and which method

Prefixes

The RPC naming scheme similar to how it's done in CSS, with vendor prefixes for the different API implementations (i2p, kovri, i2pd).

XXX.YYY.ZZZ
i2p.XXX.YYY.ZZZ
i2pd.XXX.YYY.ZZZ
kovri.XXX.YYY.ZZZ

The overall idea with vendor specific prefixes to allow for some wiggle room and let implementations innovate without having to wait for every other implementation to catch up.
If a RPC is implemented by all implementations it's multiple prefixes can be removed and it can be included as a core RPC in the next API version.