Gridcoin TUI wallet v0.1 for linux

in #gridcoin7 years ago (edited)

I've had a weird idea today. If we have boinctui, why doesn't exists a text based wallet? (or any wrapper/GUI/TUI for the grc daemon ???)

BoincTUI

I have used boinctui previously, and I really like it. I can use all Boinc functionality from my terminal in a very comfortable way.

I must use intensely the gridcoin headless daemon soon, to test some of my projects. And... It's absolutely not so comfortable.

For example, to get some very basic infos, you must type:

gridcoinresearchd getinfo

And you will get this output:

{
    "version" : "v3.7.8.0-g3ffccdb10-dirty",
    "minor_version" : 317,
    "protocolversion" : 180323,
    "walletversion" : 60000,
    "balance" : X,
    "newmint" : 0.00000000,
    "stake" : 0.00000000,
    "blocks" : 1182645,
    "timeoffset" : -261,
    "moneysupply" : 401690858.42349702,
    "connections" : 32,
    "proxy" : "",
    "ip" : "xx.xx.xx.xx",
    "difficulty" : {
        "proof-of-work" : 8.23948943,
        "proof-of-stake" : 0.71586962
    },
    "testnet" : false,
    "keypoololdest" : 1516466905,
    "keypoolsize" : 101,
    "paytxfee" : 0.00010000,
    "mininput" : 0.00000000,
    "errors" : ""
}

This is very easily parseable by programs/scripts, but it's much harder to read as a human.
So I decided to make some Text based User Interface for the command line wallet. :D

After dinner I started the work. (Haha, absolutely no work was here, it was so funny to do this weird thingy :D I just played around like a child :D :D)

I've created a bash script with some minimal design.

GrcTUI

It doesn't do any special thing yet. I was just playing only with the styling today. But it's just a few lines of code to fetch the real datas from the headless daemon, and put it to the screen. I must keep some "work" for tomorrow too :D

Finally I'll will be able to see when my wallet staked, and when I received/sent payments... easily... and in a human-friendly format :)

Oh, almost forgot. All projects must have some extra functionalities. So let's see, what will the final version offer to you:

  • responsive design (resizable terminal window)
  • localization support (for endless number of languages)
  • mouse support
  • configurable colors
  • list transactions
  • send grc

If you want to try it, you can download the project from github:
https://github.com/Deybacsi/grctui

Please don't take all this project too seriously, don't ask why it wasn't developed in some 'normal' & fancy language, like perl/c++/python/etc...

This was created just for fun. :)
And... why not? ¯\(ツ)

Sort:  

This post was upvoted by Steemgridcoin with the aim of promoting discussions surrounding Gridcoin and scientific endeavors.

This service is free. If you want to help the initiative, feel free to upvote this comment.

Have a nice day.

Disclaimer: This account is not associated in any shape or form with the official gridcoin devs team.

This is a really cool project!

Hey, thanks :D

This is exactly what I need!
Command-line wallet use is really tedious and you can't run GUI and deamon at the same time (I am "logging" some wallet command outputs regularly to files via cronjobs). So this would help me a lot, looking forward to the next versions.
Also just learned about BOINC TUI by the way because of your post... :-)

You can connect with -d to either running -d or -qt instance. Unfortunately it does not work the other way. You can access gui wallet via cli, but you cant use gui to connect to running daemon.

You are of course right, @tomasbrod. It works now.
Turned out I had a typo in my commands all the time! Very stupid. #-)
Thanx a lot!!

And just a FIY, if you run testnet, you need to add -testnet flag to each rpc command.

This looks like a great idea!
I currently have my wallet on my main Windows system, but in the long run I plan to move it to a RPi to be able to keep it open 24/7 for staking and contributing to the network health.
So this friendlier wallet option should prove very handy.
Thanks

Haha, I'm testing it on a RasPi :D And the main idea was the same for me too. A RPi wallet without the ram consuming Qt GUI but with the handy functions. :)

Does it auto-update every x seconds, or is it a static output per executed command?

Current dev version updates the data in every 5th second, but the interval can be overridden in the config file. Of course this quick refreshing is only used for debugging and testing. I think ~60-120 sec should be fine for normal usage.

you do understand gridcoinreaseachd and gridcoinreasech the QT GUI are 2 different things and you already have a CLI wallet if you want to run it on Linux and I am sure you can do the same with cygwin or the windows 10 bash addon , just sayin. Yes its not a Ncurses interface like iptraf and you have to run a CLI command. Not discouraging , I think its a great idea and great contribution.

I think you didn't read my entire post :) This text UI will use gridcoinresearchd in the background with the same simple&easy functionalities that gridcoinresearch-qt has. The main idea is to not run CLI commands, because it isn't so comfortable. :D