What naming convention should I use for a JSON RPC client API designed for multiple languages?

This is the documentation with the original RPC client API specification. The naming convention in the specification is camel case with the first letter in lower case.

Naming conventions might differ in subtle ways for different languages (camel case with vs. w/o capitalization of the first letter), but for some conventions like snake case (Python) or Swift’s Fluent Usage API changing the names in the original specification might increase the cognitive load when using the API for those already familiar with the specification.

When searching for different JSON RPC APIs on GitHub, some implementations seem to take advantage of reflection to intercept method calls and pass them to RPC request “as is” so method names for that language are the same as in the original spec. If reflection is not available the names are hardcoded and are mostly the same as the spec, changing only the capitalization of letters for some languages.

Some examples:

Not using Fluent Design in Swift

https://github.com/fanquake/CoreRPC/blob/master/Sources/CoreRPC/Blockchain.swift
https://github.com/brunophilipe/SwiftRPC/blob/master/SwiftRPC/SwiftRPC+Requests.swift

Not using snake case in Ruby

https://github.com/sinisterchipmunk/bitcoin-client/blob/master/lib/bitcoin-client/client.rb

Changing method names to camel case in C#

https://github.com/cryptean/bitcoinlib/blob/master/src/BitcoinLib/Services/RpcServices/RpcService/RpcService.cs

Go to Source
Author: rraallvv