BitShares Forum

Main => Stakeholder Proposals => Topic started by: wackou on October 10, 2014, 08:46:18 am

Title: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on October 10, 2014, 08:46:18 am
Hi all,

after having worked on my monitoring tools for the BitShares client for the last couple of months, I feel
that it has now reached a level where it can be useful for other people, and that I don't feel ashamed to
show it to the public  :)

It is obviously far from perfect, and there are still features missing, but understand that this is a
work in progress, and I am very open to comments, suggestions, critics, and pull requests of course ;)

It is written in python, the github link is here: https://github.com/wackou/bitshares_delegate_tools (https://github.com/wackou/bitshares_delegate_tools)

and although there is no downloadable release yet, it shouldn't be too much work to release it on pypi
(this means for now that a fully proper installation (ie: wsgi behind a webserver) requires a bit of python
experience, but it isn't too hard either)

Let me know what you think,

Cheers,

Wackou.

PS: it doesn't support BitShares DNS yet but work is underway
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: svk on October 10, 2014, 09:14:54 am
Looks awesome, might check it out this weekend if I have time.  +5%
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on October 29, 2014, 12:26:28 pm
I just released the 0.1 version of the tools, this is the first public release and is available on pypi. That means it is now much easier to install.

Notably, I also fixed quite a number of bugs, the tools can now:
 - monitor seed nodes and delegate nodes
 - monitor one or more of them, either on the same machine or on a remote one
 - build DNS nodes, although that's probably gonna be the shortest-lived feature ever  :-\  At least, the infrastructure is in place to support more DACs in the future :)
 - iOS notifications are now sent to the Boxcar app, much easier to configure than the previous hand-crafted solution

You can either
Code: [Select]
pip install bitshares_delegate_tools or get the source code from github: https://github.com/wackou/bitshares_delegate_tools

And if you use those tools/like them, don't forget to vote for my delegate for funding further development: http://digitalgaia.io/wackou.html

Cheers!
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: xeroc on October 29, 2014, 12:51:30 pm
I really really need to look into this .. looks like awesome work ..

however, as one probably requires to connect to the (privatekey carrying) machines via RPC to monitor them I'd recommend everyone to go over the code first ..
(please don't take this personally)
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on October 29, 2014, 01:49:45 pm
no offense taken, I agree with you, in this new crypto world, "better safe than sorry" seem like wise words  ;)
If people want to do code reviews, then I'd be more than happy.

Although it is possible to monitor remote node, the setup is still a bit complicated (and you need ssh access to the machine where the delegate is running). I intended the monitor to be run on the same host as the delegate, and using the remote to monitor a delegate which is taken down while recompiling to upgrade to a new version.

Note that the tools do not unlock wallets, you still need to do this manually. The passwords in the config file are only the rpc passwords, you should never put your wallet password near the tools.

Another use case is to monitor seed nodes, which allows to get a central view of multiple seed nodes on different hosts easily.
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on October 29, 2014, 01:52:51 pm
Ah, and something else: there is not a lot of doc available, but I tried to comment the config.yaml file as much as possible so that just by reading it you should be able to configure the tools for you (this is also the reason I switched from json to yaml for the config file, as yaml allows comments while json doesn't).

And a last note about security: people not wanting to run the monitoring webapp might still find the tools useful just to build the client (it doesn't get easier than "bts build"!)
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: emski on October 29, 2014, 01:55:51 pm
I've glanced over the scripts when you initially announced it and I didn't see anything harmful or malicious.
I see you've started something that might benefit everyone.
I was thinking of something like an widged for android that receives notification about nodes' status and I might use part of your work if I'm to implement that (free time is precious commodity).
Good Job!
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: nethyb on October 29, 2014, 02:02:13 pm
Nice work, I'll be spinning this up, look like it provides all the additional info needed to keep any eye on my delegates, seed nodes and pool wallet and ensuring they are in sync...  +5%
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: lzr1900 on November 02, 2014, 11:28:40 am
Nice work.You have my votes!
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on November 02, 2014, 11:29:13 pm
Thanks!

I just released 0.1.1 which adds a view with the list of peers you have connected to and another one with the list of potential peers (what the rpc commands get_peer_info and network_list_potential_peers return).
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: cass on November 02, 2014, 11:51:16 pm
I've glanced over the scripts when you initially announced it and I didn't see anything harmful or malicious.
I see you've started something that might benefit everyone.
I was thinking of something like an widged for android that receives notification about nodes' status and I might use part of your work if I'm to implement that (free time is precious commodity).
Good Job!

 +5%
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: alt on November 03, 2014, 12:07:02 am
 +5%
thanks
Title: Re: BitShares delegate tools - build, run and monitor the bts client for delegates
Post by: wackou on November 09, 2014, 09:44:44 pm
Updated to 0.1.2 which fixes some issues after the rebranding BitSharesX -> BitShares (0.4.24RC1 and above)

I will probably rename the project from bitshares_delegate_tools to bts_tools, it's a bit shorter to type, hope no one is against it :)

I was also thinking about getting a new delegate at 50% initial pay rate when the new system sets in and wanted to ask the community whether that seemed like a reasonable amount for funding of the development of the tools.

Cheers!