monero-project/kovri

Testnet: necessary improvements

Closed this issue · 6 comments


By submitting this issue, I confirm the following:

  • I have read and understood the contributor guide in kovri-docs.
  • I have checked that the issue I am reporting can be replicated or that the feature I am suggesting is not present.
  • I have checked opened or recently closed pull requests for existing solutions/implementations to my issue/suggestion.

More to come after I finish discussing in #kovri-dev.

2018-06-05  @anonimal 1. I'm at a crossroads here.
2018-06-05  @anonimal 2. We need to really improve our testnet. Coming back to it, I could barely set it up let alone usefully use it.
2018-06-05  @anonimal 3. The script is becoming too complex and needs to be implemented differently - and not as a script.
2018-06-05  @anonimal 4. I first thought doing some zenity work. The results would be nice in terms of a quick hack to make the setup and execution easier.
2018-06-05  @anonimal 5. Upon further work though, it's not so quick and it's ultimately a hack upon the hack and is only making the script more bloated and difficult to use.
2018-06-05  @anonimal 6. So, the crossroads:
2018-06-05  @anonimal 7. The testnet really should've been in the top 10 prioirties since the beginning but it wasn't because of all the other critical fixes needed.
2018-06-05  @anonimal 8. A) continue to patch a hacky, difficult to setup/use testnet that no one will want to play with and has little reward but *may* be enough to barely get by patching core code
2018-06-05  @anonimal 9. B) re-implement the exsting script/concepts into Qt. Lots of more work but with actual reward - and people will actually want to use it. Drawback: time
2018-06-05  @anonimal 10. I wish we could something simple like monero's testnet, simply switch on options, but it's a completely different beast of network and I don't think we can do something like that.
2018-06-05  @anonimal 11. Implementing a testnet option into kovri-util also crossed my mind, but there are far too many shell calls to justify swapping a cli option with another cli option.
2018-06-05  @anonimal Numbered 1 through 11 in case things were out of order / missing
2018-06-05  @anonimal Sidenote, and essentially the options are becoming too large to not have a config file too, so that will also be added.
2018-06-05  @anonimal There's also a python option, but that's another swapping of cli with cli.
2018-06-05  @anonimal And the Qt interface would not only be neat for testing hooks, but could also be easily used with monero gui.
2018-06-05  @anonimal What I like about zenity is how extremely easy it is to read device files.
2018-06-05  @anonimal So, it reads the log pipe and displays with almost no effort on the developers part.
2018-06-05  @anonimal But the functionality kind of ends there; there's no bigger concept available to work with.

The consensus has been to move forward with Qt. @coneiric will be collaborating.

I'd like to keep an open discussion for python and python bottle though, and something that could either work with or adequately replace grafana.

Currently working on RI creation API that we talked about in IRC, logging and NetDb refactors. Hopefully, work in these areas will help with the testnet.

Put together some notes for the testnet API design: testnet_api_notes.md.

More-or-less summarizes what is currently implemented in the testnet bash scripts, and what would need to be implemented to move that functionality into kovri-util & Qt GUI components.

Let me know if that's helpful, or some other medium would be better.

If you want to PR something to kovri-docs, that would be great.

If you want to PR something to kovri-docs, that would be great.

I PRed a couple documents to the kovri-docs repo. Mainly just wanted to get it PRed to not forget about it.

Just noticed that you removed this from the 0.1.0-alpha milestone, so won't be focusing much more on this until after the release.

NOTICE: THIS ISSUE HAS BEEN MOVED TO GitLab. Please continue the discussion there. See #1013 for details.