What is Delegate Auto?
The problem
I've noticed that a lot of users (especially larger users) delegate about half their steem power to either bots or projects they believe in. The problem here is that, as far as I'm aware, this is all done manually, so the account holders have to do a number of inconvenient things:
- They must work out how many VESTS/SP they need to send where for it to only take up a certain percentage of their SP, working with percentages is much easier than working with absolute values.
- They also have to update it manually on occasion as some accounts grow by a couple of hundred SP a week just from posting and curation.
- If the account owner believes a certain project needs a higher share than before and they want to take that stake from a different project they support, the process is tedious enough to stop people from doing it meaning promising new projects may miss out on delegations.
I've had a look around, and as far as I'm aware, nothing like this exists publicly so it doesn't compare to any projects I know of, however it is possible that I missed something.
My solution
To deal with the points mentioned above, I made a script where you enter your requirements into a JSON database that looks something like this:
{
"user_info":{
"username":"USERNAME_HERE",
"private_active_key":"PRIVATE_ACTIVE_KEY_HERE",
"update_delay_hours":24},
"delegations":{
"utopian-io":30,
"comedyopenmic":10,
"curie":10}
}
This means the delegations are recalculated and redistributed every 24 hours, 30% going to , 10% to
, and 10% going to
.
So ideally, you could leave this script running in the background on a PC or server. If you want to change the delegations during runtime, that's totally fine since it's an external file and doesn't require you to stop and restart.
The username and private key are entered through the external file because I plan to build this program into executables for Windows/Mac/Linux. It also makes sense if I plan to add support for multiple accounts at once.
Features summary
- Easily manage your delegations
- Automatically update delegations to a percent of net SP
- Node swapping for optimum uptime
- Choose how quickly the delegations update
View the full project on Github
Demonstration
Below you can see the result of my test where I delegated 2% to and 1% to
,
and
. Unfortunately, to undelegate it takes a week, so testing with larger quantities wasn't feasible however I imagine there wouldn't be any problems.
Technology
My setup
- Python 3.6.5
- Anaconda IDE
- Windows 10 64bit
External libraries
Roadmap
While this program has most of its functionality sorted out, there are a couple of things I have in mind as to the direction this could take:
- Firstly, I plan to make this script into executable PC files for the main three platforms (Win, Mac, Linux). This is to make the program more accessible to non technical users.
- Another feature I have in mind is the ability to use the same layout on multiple accounts at once, say you have three accounts they could all follow the same delegation pattern and update automatically.
- Finally, I see this project's end state being online, in website form (similar to steemvoter), so anyone can access it and automatically delegate, easily and cleanly, in proportion to their account size.
How to contribute
If I'm going to take this to the web, I'll probably need help from someone more experienced with web development than myself, so get in touch with me on discord at sisygoboom#6775 if you're capable!
If you think you can improve the project in any way, non web people are welcome to help out too so just send a message my way with your idea at sisygoboom#6775 (discord).