I will see if I can get a quick PoC of this going in the next days :)
I think it would be a valuable learning tool to be able to communicate directly with a node like this in a human-readable way. Great idea!
It is almost as if what you want is a REPL, in some programming language that behaves somewhat like telnet. When it first loads up you will be "greeted" with a version message, and your job now is to reply with a message of your own.
Because this whole thing is happening in a REPL, you should be able to define functions to make your life easier when constructing/parsing messages, but initially there would be only a small library of simple functions and datatypes available to you.
You can then build up your own library of functions and datatypes.
The whole thing could be turned into a game (or contest?). An initial goal of the game is to not be banned by the node. The next goal might be to ask for data, and eventually more complex goals could be achieved including constructing and broadcasting a transaction.
It is fun to think about. Though I wonder how many people would actually play such a game?
Maybe if the node paid you some sats as you progress, people would be interested?
I would play such a game!
The comparison with a REPL sounds very interesting, thank you!
However, I think making a game or contest with sats involved would lead to bad incentives. Preventing that someone just pipes the output of the other node to a node of their own (MITM) sounds hard.
So I think this would only be useful for education. But should be enough :)
Thanks for your reply! Very inspiring :)
reply