This is an Autohotkey script for voting Lisk Delegates. (Windows only)
Many Lisk holders maintain and vote from several accounts and this can make the voting process a bit complicated, especially if someone is security conscious. While my first version of the voting tool aimed to help with this, I wasn't satisifed with the result, the simple GUI that the language I written it (AHK) hasn't allowed some things, so it had some limitations.
Here is a new version. It's cleaner, more secure, easier to use. You can find it on github
- Use it with up to 8 different accounts
- vote or unvote with two easy clicks
- search the delegates list or filter it not just based on name, but any of the columns data displayed like approval or productivity
- can save and load filtered lists of delegate names. Save as list1.txt and list2.txt, and you can request a recommended delegates list from github that I try to keep up to date, if you don't know who to vote for.Improvements and changes from previous version
- html based GUI for greater flexibility
- can send votes/unvotes in the same transaction
- much easier to control voting for multiple account users
- allows saving both passhprases to file
- more secure, the passphrases are not saved as clear text but obfuscated
- a more advanced filtering. multiple delegate names have to be separated using "|", however the tool will read lists from file where names are in separate lines (it should also make the conversion on the fly if you copy-paste a list into the search field).
You can fin more about filter options in the Tablesorter docs
, the jquery plugin I used for the table. Notes:About the UI
Making it HTML based allows more flexibility but can have some potential difficulties running the tool. AHK uses ActiveX (an enviroment by Microsoft) to display and manipulate web content, and if you have any problem running the tool it has most likely have something to do with your OS security settings. If you experience any problems take a look at ActiveX permissons (Internet explorer/internet options), and UAC settings.
The tool is also dependend on third party resources as the table uses jQuery and Tablesorter
for filtering, sorting and formating. The dependend files (see votingUI.html) have to be included in the same folder.
(On a side node, I suck at html/css, so the code is a bit of a mess, and the design is not that great. If you want to make improvements, I'm happily take any help I can get.)
This is important. The tool allows you to save you accounts passphrases. You should only allow this if you are confident that your PC is secure. It won't save it as simple text instead if will obfuscated it, (makes it unreadable) and that can stop anyone to just opening and reading them or simply printing the ini file, but anyone with access to both your settings file and my script can easily recover your passphrases.
Again, as long as your PC is secure, this shouldn't be a problem. For the best security I would suggest keeping the ini file (or the whole tool folder) in an encrypted folder or container, that you only open when you want to vote. It's easy and should be safe.
I would also strongly suggest that you don't trust anyone, including me. Read the source before running anything. AHK syntax is easy to read even if you don't know the language (I also tried to make comments to be easier to understand), and running the source file is very easy, you just have to have Autohotkey (https://www.autohotkey.com
) installed to do it.
Of course if you are a trusting soul I included a compiled version, just run the exe.
One last thing: the tool will only accept lisk node urls with https prefix. Voting sends the passphrase to the node, it shouldn't be done without encryption.Other notes:
I didn't include some features that have been present in the previous version. (like the ability to vote based on address, and public key) If you really miss one of them let me know, and I'll try to add it.
As this version is much different from the previous one (as a matter of fact it's completely new code. If you prefer the older version, I made a release and kept it on github. 0.2.7Screenshots: