grin icon indicating copy to clipboard operation
grin copied to clipboard

A Confusing 'grin' Node Software Name

Open Paouky opened this issue 5 years ago • 4 comments

Currently, the official name for the Grin full node software is simply grin. As discussed briefly on Keybase, it causes unnecessary confusion between the reference node implementation and the name of the entire Grin project & cryptocurrency.

It seems that it would be beneficial, mainly for documentation purposes, to emphasize the fundamental difference between the two by changing the name of the node software. For example, both Bitcoin's and Monero's are called bitcoind and monerod respectively.

Since Grin's full node implementation has a TUI, it wouldn't make as much sense to call it grind. In my opinion, the best option suggested so far is grin-node.

Things that deserve discussion:

  • Additional name suggestions.
  • What's required, practically, if a new name is adopted? Is it worth it?

Paouky avatar Jul 29 '20 15:07 Paouky

Thanks for raising @paouky. :+1:

It might be helpful to describe a bit better where the confusion arises, and what alternatives there might be to a name change.

Whenever I refer to ./grin in writing today, I say "the grin node", or "the node". Similarly, ./grin-wallet is "the grin wallet", or "the wallet".

Is that confusing? What is it that makes it hard for those new to the project to understand the difference, and how does changing from ./grin to ./grin-node help that?

Is it that Grin (the project) gets confused with ./grin (the binary)?

lehnberg avatar Jul 29 '20 16:07 lehnberg

@lehnberg Confusion arises because this is simply the reference implementation of a network node, there may be many other different implementation. Therefore documentation must be precise every time in stating that "Grin" or "Grin node" refers to the reference implementation software specifically.

Also, using "the grin node" isn't a practical way to refer to a binary. The binary should have a name that when written in a specific way, such as bitcoind, or grin-node, is obviously referred to this specific binary and implementation.

Let's take a look at a quote from the bitcoin wiki as an example to illustrate:

bitcoind is a program that implements the Bitcoin protocol for remote procedure call (RPC) use.

Now let's try to switch it to grin (ignore the fact that it also has a TUI):

grin is a program that implements the Grin protocol for remote procedure call (RPC) use.

Hence, confusing. Is grin a program? a project? a coin?

If we try:

The Grin node is a program that implements the Grin protocol for remote procedure call (RPC) use.

  • We lose the value in having identical names for the command and the name of the software.
  • It may not be obvious to everybody that the grin node is just called grin. "The Grin node" is not the actual name of the program.
  • Each mention of the node in the future would have to specify which implementation it refers to.

Does that make sense?

Paouky avatar Jul 29 '20 17:07 Paouky

Yes, thanks for that, I think it does. :+1:

I do worry less about alternative implementations - it's straight forward for these to have a distinct name for their repos and then implement "the grin protocol" without their being any confusion. (I think.)

I don't have an opinion whether it is necessary to make the name change or not (so I'm technically not opposed to it).

IF it is decided that the name should be changed, I prefer the name grin-node as it is simple, descriptive, and follows the convention with grin-wallet.

lehnberg avatar Jul 30 '20 11:07 lehnberg