Hi,
I think we need more information about our nodes, sometimes we may face incompatibilities caused by the OS, or we may want to decide to use RocksDB (#966), but we don't know the OS or architecture used by them.
User-Agent example:
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
https://en.wikipedia.org/wiki/User_agent
This way it will be easier for us to help users and also to gather more information about our ecosystem.
This can be optional, but I don't see why.
We already have a user agent, but is not very verbose, just for the node version
@shargon I think we could add more information, like the OS and architecture. This would help us in decision making if we know what OS and architecture the nodes are using
is good for me
@lock9 I do not totally agree with the idea that the nodes disclose information about the OS they are running. It is a double-edged sword.
@belane I think most nodes are already "exposed" and scanned for vulnerabilities at every other minute. Maybe we don't need to expose the full OS version, just its 'name', and its architecture.
We need to know the impact of moving to RocksDB (#966), also to make better decisions in the future, especially related to native code support.
But this could help in future decisions, not for rocksDb, because we won't have this stats now
@shargon you told me that the RocksDB only works in x64, so before we release a neo-cli using RocksDB, we need to ensure that this won't break most of the nodes
Yes, but what is your plan? add the OS before and launch a new release for recover this information?
But if we need it for deciding that can't be optional, don't you think?
This can be optional, for neo3 only. It can be either be done during handshake or we can have a message specifically for querying this information (like ping/pong). It is important to have this data, but @belane must say if it is safe or not. How unsafe is this? Can it be added or should we worry?
We need data to make better decisions and this seems to be a very relevant information
We have User-Agent in handshake, and the client can modify it. So it is already optional, I think.
How can we make it work? Can we add this in the configuration file? Can we have it on by default?
If I understood right, we already have User-Agent in the handshake, so this already exists.