Introducing @powerbot - a simple delegation service (Trial Run #1)

in #steem-project7 years ago

I am starting a limited trial run of a new service bot, @powerbot, that I developed for the Steem blockchain. The bot will be active for the next week or so (or until it reaches capacity) to test functionality under real world conditions. Details of it's permanent launch are still to be determined, largely off the results of this trial run and discussions I hope to have with many of you.

Preface

I am not here to sell you on @powerbot - I don't have words to convince you to use this service. The goal is to explain to you how this system functions and let the users decide what they want to use it for. It's a utility at it's core and I look forward to seeing what creative applications this could be useful for.

This post also operates under the assumption that you are versed in Steem and have a basic understanding Steem Power and its function of the blockchain. If you're unsure as to why you'd want a delegation in the first place, this post won't answer that for you.

@powerbot - simple delegation service

The premise of the bot is simple:

a transfer of STEEM or SBD will grant the sender a lease of Steem Power (using the delegation features of Steem)

Each lease has a set duration and once completed it removes the delegation.

It also has a website: https://powerbot.io (which I may do a blog post about, because it was pretty interesting to build. The bot and the website have no direct contact with each other and communicate via the blockchain).

Trial Run #1

This is a trial run and there are no promises this service will continue moving forward. This run may lead to some sort of critical flaw that prevents this service from making sense and continuing in the future.

The SP being made available is made up 100% of my funds currently, so the supply is limited. Once this supply is exhausted, the test is over! I imagine the bot itself will be active for a week or so, but could be much less. Any requests made while it is active (and has capacity) will be honored and run for the full duration (set at 14 days for this test). At the end of the trial run, the service will be disabled until further notice. Any transfers after that point will be returned to the sender for the first couple days, and then likely be deactivated for further development (no automatic returns).

This isn't a full service yet so please be conscious what's happening with the trial run before any transfer. I'll do my best to ensure everything works as intended during the trial run.

Parameters

The powerbot.io website will always have the most up-to-date parameters. If you are reading this post at a later date, the below values will likely be incorrect.

  • Available: ~32,000 SP
  • Rate: 50 SP per 1 STEEM
  • Duration: 14 days
  • Minimum: 1 STEEM (50 SP)

The current rate of delegation is set at 50 SP per 1 STEEM sent for a duration of 14 days. The price is on the high end of it's likely market value. The rationale is that I can always lower it to gather more test data, but if it delegates 100% of the available balance immediately because it's too cheap, there's no getting back that test data since it would be honored at that rate.

Example Usage

A user, @jesta, wants a delegation of 500 SP for 14 days - @jesta would send 10 STEEM (or 10.76 SBD) to the @powerbot account with no memo.

transfer jesta powerbot "10.000 STEEM" "" true

Once the block is irreversible (about 50 seconds), the account would receive a delegation for ~500 SP. The powerbot.io website will update and display the details after the delegation operation is irreversible (2-3 minutes after transfer is sent).

In another scenario, @jesta wants to give a delegation of 250 SP for 14 days to @paxmagnus - in which case @jesta would sent 5 STEEM (5.38 SBD) to the @powerbot account with the memo of @paxmagnus.

transfer jesta powerbot "10.000 STEEM" "@paxmagnus" true

The request would process the same as before, except with the delegation instead being leased to @paxmagnus.

If user @jesta from the first example wanted another 1000 SP delegation - @jesta could then send an additional 20 STEEM (21.52 SBD) to @powerbot account with no memo.

transfer jesta powerbot "20.000 STEEM" "" true

This would increase the amount delegated from 500 SP to 2500 SP, combining both requests. Both of these delegations act as independent requests with different expirations, but can stack onto a single account. At the end of the first delegation, it would decrease to 2000 SP, and then as the second request ends, decreases to 0.

To view all of the activity related to your request + delegation on the blockchain itself, I'd recommend using either steemdb.com or steemd.com and looking up your account history. The powerbot.io website, while also being tested, will also display much of this information.

Feedback and Problems

I'll be watching this post over the next couple days and engaging in any discussion that needs it. I'm curious to know what everyone has to think about the service, reactions, ideas, etc. So far it's been a really interesting project to work on that I think has some merit, depending on how it's done.

Where did this project come from?

I have been thinking about the introduction of SMTs for the past few months and how they would impact the projects I'm working on. There are a ton of potential applications for SMTs and over the next year and I'm sure we will see some great use cases. For me, it's too early to know exactly how I would use SMTs. A lot of the concepts I've considered had one thing in common though - they would benefit from a simple leasing service like this. That's when I decided to sit down and build out the prototype for this service.

This project also came from wanting to launch a product that is useful today, that will then also benefit the entire SMT ecosystem of tokens (that also support vesting). I want this to be a common theme in the development I do from here on out, that all my projects should hopefully benefit SMTs in some way. I have a few projects that I want to do related to SMTs, but most of them aren't super valuable today or are already complete (for STEEM). I plan on adding SMT support to Vessel, SteemDB (v2) and someday to chainBB (once I figure out the best approach).

Delegation Markets

Big shout out to the @minnowbooster team, @thecryptodrive, @reggaemuffin, and anyone else I'm unaware of pioneering this concept with minnowbooster.net. The entire concept of a delegation marketplace is very interesting especially as the concept of "power" increases in utility, either as Steem or a SMT. Having the marketplace also gives investors a new reason to hold and a the potential to increase one's holdings.

If you're looking for more than what I have to offer, I'd recommend checking them out!

Some random/useful notes:

  • This is a trial run of the @powerbot software, things may break.
  • All transfers should only ever be sent to the @powerbot account. Never send to any other account name variation. Only transfers to @powerbot will be processed.
  • You can specify who should receive the delegation by entering their @username in the memo field. If you want to delegate to @jesta, use the memo @jesta.
  • Both STEEM and SBD are accepted by the bot. All requests are processed in denominations of STEEM. SBD is converted to it's equivalent value of STEEM using sbd_median_price.
  • All transactions are processed once they have become irreversible, which is normally about 40-60 seconds after submission.
  • You will receive multiple delegations from bots named @powerbot-1, @powerbot-2, @powerbot-3 or @powerbot-4. If you're curious to see the activity on the blockchain, there's your starting point, along with @powerbot.
  • The minimum amount accepted is 1 STEEM (or SBD equiv., ~1.076 at time of posting)
  • The funds will be returned if the bot cannot complete your request.
  • The funds will be returned if you send too little.
  • The funds will be returned if the bot doesn't understand your memo (don't write anything in the memo unless you know what you're doing).
Sort:  

A new contender on the blockchain 🐐

Price is currently pretty high but looking forward to seeing this develop!

Competition spurs innovation, and I think you guys have got a great thing going :)

I also tried to go a different enough route so that it might not be a direct competitor, but an alternative. Sort of like how I don't really consider Shapeshift a competitor to Bittrex, even though they do serve the same purpose. Very different approaches catered to different clientele, that overlap sometimes but not incredibly often.

Also as the markets grow, we will hopefully have a lot more services than just these two!

Hey Jesta, thanks for the mention and acknowledgement of the @minnowbooster delegation concept. If our service is worthy of competition, we have done something right, good to see you didn't go for the price war angle, SP (delegated) should be treated as a valuable and sought after commodity to support the value of the Steem token and not cheapened.

Best of luck, Steem will be huge one day and will support a multitude of services like ours.

The competition is good, but it is a bit expensive, if you give 50SP per Steem for a 30 day period it is worth it. It also reduces the impact of not getting the SP back for a week I think? Well there is a formula to this to determine profitability, but currently the offer is lossmaking to me

Wow you sound so smart! You are a businessman and Web Developer!

It's great to see you experimenting with this.

Thanks! I've learned a LOT about SP/VESTS and Delegation in the process. So even if it goes away, there's a net gain in experience. Also as I've been sitting here reading and watching the bot, I've been thinking about doing a blog series about what services like this require to build. Maybe I can excite some other developers somehow with this nerdy excitement hah.

Developers understand the feeling of watching text pop up on the console and feeling euphoria. :D

But the price is way to high. Minnowbooster gives 150 for a week. It gives 100 for a week.

Delegation services have a lot of appeal to me, I've used minnowbooster before and it worked really well for me. I like that you are trial running a similar service and the one thing that I would mention is that your price is quite high at 50sp per steem. Minnowbooster offers 150sp per steem but they are established, I know there are some independent delegators that offer something close to 100sp per steem as well. Though I understand your notion of needing to gather data and always being able to lower the price. I also really like how you can delegate SP to other users, that feature is brilliant. I'd for sure be interested and I'll be eagerly watching :)

Thanks!

I feel ya on the price, but I'm glad you understand.

Being able to delegate to other users was an interesting feature. As I was building the bot, the idea came from a friend who powered down one of his accounts completely (was a mining account from back in the day), and he couldn't transfer the funds off of the account because it had no SP. So the thought was, if someone got stuck in that situation, would they pay 1 STEEM from another account for a temporary delegation, allowing them to withdraw those funds? Probably, 1 STEEM is a small price to pay rather than powering up again or finding a friend to delegate a small amount of SP.

I'm sure there's a lot of other uses for delegating to other accounts as well, I just haven't had a chance to make a list hah.

Yeah that is an interesting case for sure, 1 steem is a small price to pay as opposed to powering up and then having to wait 13 weeks to get that back. Plus the delegation to others service will be great for people who are looking to give others a boost. I could even see this being used as a reward for competitions and things like that.

At the published rates, PB is cheaper than MB for 14 day leases. MB is cheaper for 4 werk leases or longer. I've done some math further down.

I have try to lease SP from minnowbooster, but don't under how to go about it.
Can you help me out pls?

I am willing to test this. 10 STEEM sent.

Hey you beat me to it! But let me be the first to test with SBD, just sent 10.76. I think accepting SBD is also a great feature especially for someone like me that does most of their transactions in SDB

Hah, you were the first SBD test and the first one to use it and not crash it ;)

hahaha, nice :) Well I can report it is working like a charm so far, 500SP delegation to my account! Great work @jesta

Hurray! The first not-done-by-me testing experience!

Hah... looks like it got stuck... let me kick the bot.

We broke it already.

Fixed the bug and it looks like it went out properly.

All is good. delegation.png

Awesome! I suppose I should have mentioned something like that in the OP, that you can also see the delegation on your account page.

Dunno why pic is so tiny.

Thanks for testing this bot. Hopefully it can stick around for a while.

Hi @jesta;

I have 4 things to say; actually 5;)
1- Thank you for your project; it's really good to have alternatives to minnowbooster, although I really like minnowbooster.
2- You wrote

If user @jesta from the first example wanted another 1000 SP delegation - @jesta could then send an additional 20 STEEM (21.52 SBD) to @powerbot account with no memo.
This would increase the amount delegated from 500 SP to 2500 SP...

Shouldn't it be "... from 500 SP to 1500 SP"? Or did I get something totally wrong?
3- If I would lease 500 SP for 2 weeks I would have to pay 10 STEEM. I could renew the leasing after 2 weeks and pay another 10 STEEM. That would mean leasing 500 SP for 4 weeks would be 20 STEEM. Am I right?
4- Will there be a possibility to pay with SBD instead of STEEM?
5- It's a totally different topic, but I hope you can help me. I am using Vessel for transfering STEEM and SBD. Thank you, it's really a great tool.
Is it possible to get back STEEM I have sent by mistake to an account?
E.g. I sent STEEM to @minnowboster (https://steemit.com/@minnowboster) with one o instead of @minnowbooster with 2 o's?
I mean, there should be an option to reverse your actions within a given time frame.

  1. You're welcome and thanks for the feedback!
  2. Yep you're right, I math'd wrong there hah, I'll get that added. I changed that section so many times as I adjusted what I wanted to run this test run's price, I missed that part!
  3. Yes, though that feature isn't ready yet, and no renewals will be possible during this run (since I'll be turning the bot off). I actually plan on having a way you can extend delegations so you don't have to wait for it to expire. I'll have instructions on the website once this feature is available.
  4. It accepts both STEEM and SBD currently, so yes!
  5. Unfortunately no, there's no way to retrieve funds sent to the wrong account. It's the blessing and a curse of the blockchain, in that it acts like cash, and once spent, you can't get it back unless the receiver of those funds sends it back for you. Once it leaves your wallet it's no longer under your control and only controlled by the person who owns that account.

Thanks for your answer!
I am looking forward to see the bot once it's ready.

This is pretty awesome and the automation of the whole process will be very appealing to so many. I tried it with multiple amounts ranging from 1.5 SBD on up to 8 SBD and it worked perfectly without a hitch. Price is really high, but I could see many people using it just for the speed of the process.

What's what I was going for, making it silly easy :D

The price is indeed high, once the bot is in a more permanent mode of running, I plan on either lowering the price per SP or increasing the duration to give it a better market value.

Its super easy and that is what will make this service a hit above all others. I am going to see if sending through @blocktrades works with the memo option

Edit: Looks like that will not work for some reason even though I used the @azfix the first one was my fault because I forgot to put the @ in the memo field when sending through blocktrades and the second one looked like it worked but nothing was delegated. Oh well whats a few steem lost for the sake of experimentation.

The bot actually lost connection to it's RPC server for the 2nd request, I just fixed that. It's all caught up now and the 2nd delegation did end up working, it just took a little extra time!

I just noticed it, and it looks like the one that I did not add the @ to delegated the power to blocktrades. Very excited about this

What will you consider a standard price after the test run?

I will also like to see powerbot accepting investments.

Haven't decided yet on a price. It will probably be a few weeks after the trial run ends, and who knows what the price of leased SP will be at that time!

@jesta can you look into this for me. I was delegated 2896.6 SP total but in my SP it is only accounting for 2054 SP the last transaction I made cause me to go from positive SP delegation to negative SP delegation

Hah, yep I can see how that happened. That buggy combo delegation a couple days ago did some weird things.

I did a manual edit of the database, then sent the bot 1 more STEEM on your behalf, and the delegations looks like they've adjusted properly.

Thanks... I'm doing another round tomorrow so we will see how it go.

Problem: @jesta my last deposit has not delegated so it keeps spinning but the person who put in a request after me has received their delegation. ID: 94f8510d

It just delegated to me right now but it did not timestamp at this time. It went through when the timestamped for the Transfer 1.473 STEEM to powerbot

It looks like you've got the proper amount delegated to your account, but something strange happened here.

Lately transactions have been getting orphaned on the steem blockchain and I think that's what happened here. Here's what I think happened:

  • [5254aeeb] You sent 20 SBD for the first request, which worked fine, and delegated 976 SP.
  • [94f8510d] You sent 17.82 SBD for the second request, which processed, but the delegation operation for 870.1 SP, but it got orphaned and never materialized on the blockchain.
  • [07f7cc7f] You sent 1.473 STEEM for the third request for 73.65 SP, but instead of 73.65 SP, it delegated 943.812 SP, which was the amount of the second and third request combined (73.75 + 870.1 SP).
  • The fourth and fifth requests processed normally.

The website itself never saw the 2nd request, so it got stuck in a pending state, but the full amount was delegated.

I'll work on fixing the bug that caused this, sorry about the confusion!

yep! that is how it played out.

Great service! I might try it for my upvotebot @theupvoter

I delegated the SP to minnowbooster.

Just for fun.

Cool service. Will you consider investors?
The price isn't on the high end for short leases.

On a 14 day lease, MinnowBooster is 2 STEEM for 75 SP. That 2 STEEM from powerbot gets 100 SP for 14 days - that's 25 SP more.
MB's 150 rate doesn't kick in until leases are 4 weeks or more. 4 STEEM on MB gets 150 SP for four weeks. 4 STEEM on PB (as two back to back 14 day leases) gives 100 SP for four weeks.

I'm definitely evaluating the options when it comes to where the service is heading. I'm not sure I need investment at this point for my work, but I do want to explore how the service could expand to beyond my limited SP holdings and potentially allow others to participate as SP providers.

I think that two back to back leases would just increase the delegation amount for the same 14 day period. Not double the lease time. Unless you waited the 14 days to do the second lease.

Correct for @powerbot, you'd have to initiate a new lease after the 14 days, or it would just create a new delegation.

In the final design I do plan on letting you renew leases, and it will involve sending a special memo along with the transfer, telling the bot to extend a lease rather than create a new one.

back to back

I hoped this was clear I meant waiting 14 days to do the second lease.

Thank you for keep us updated with new stuff

Hi @jesta, I'm very interesting with your post. Can I translate your post to my language Indonesia?

GO GO GO GO!

Just now beginning to understand the power of return (earnings) in relation to commenting on someones post, but not so much in curration. How does increased SP help with curration except if you were voting on your own content?

It's a complicated system, but basically the more SP you vote with, the bigger chunk of the curation rewards you earn from that post. There's more factors to the curation rewards than just SP - but it's one of them.

Ah, I see. Thanks for providing me with more clarity!

wow that is a great idea..

When you say you want to gather data. What type of data would you like to get it from this? I am just

Information regarding how the bot handles actual user interactions, besides just mine.

When testing an app like this, as the developer, I know how the bot is supposed to work which affects my ability to find bugs. By opening it up and letting anyone test the bot, they are going to do things that I wouldn't end up doing, and will help me discover the edge case bugs that I otherwise wouldn't find.

There's no other data collection besides that.

@jesta
Have you tried breaking the Bot by having it self-delegate? IE. by paying 1 STEEM to it with @powerbot in the memo?

The way it was designed actually prevents that, since @powerbot doesn't actually do any of the delegating itself. There's a number of other bots (@powerbot-1, @powerbot-2, @powerbot-3, @powerbot-4) that do the actual delegations.

I didn't think of that until now though, and that likely would have caused some sort of error, if the @powerbot account was actually delegating it's SP!

That's correct @jesta, being a developer I know those bugs can haunt you. The bugs which you never anticipated. Good Luck with @powerbot.

Thanks, and exactly.

I considered adding a joke in there about data collection, a blockchain, and steemdb - but decided against it :)

Hahhaha, everyone would not have understood that joke anyway. Would love to know all the bugs you encountered while doing the testing.

The first bug was fun... with dynamic numbers (which SP -> VEST math is), I ran into an issue where the request strategy ended up short by 0.0000000005 VESTS, and then in an attempt to allocate more vests, was actually ended up decreasing the size of the request by that amount. The loop was counting down from 1028804.22191 in 0.0000000005 increments hah, which would have finished someday and resulted in a failed request, but who knows how long that would have taken!

The bandaid fix for that one was to just apply a small + (0.000001) to each vest addition in it's strategy. I'm going to have to dig in deeper to figure out where that value isn't being rounded properly to the 6th decimal.

In the mean time, bonus 0.000001 VESTS on every request LOL

Wow interesting bug though. The whole concept of vests always haunts me. Have to play with a lot of numbers and write an appropriate algo to deal with it. Great fix too. Bonus for all

@jesta it is a great news for community. I am always welcome new opportunities. When is my turn ? hahahhahahhaha !

Your idea is interesting and I really like the name you have chosen: @powerbot

And now thanks to @powerbot and @jesta I have acquired the mythical slider.
slider.png

That's cool. Tested it with 10 STEEM for you. I liked that it appears on the website: https://powerbot.io/ after a minute. Within 2 minutes I had the delegation. Awesome work.

Thanks and glad to hear it went so smoothly! That was the goal behind this version, trying to make it as frictionless as possible. Almost-instant gratification.

a brilliant idea. so I want to delegate 10 steems. what is the value of each upvote in each of my posts later?

I don't have those numbers yet, since it's so individual to each persons account.

At some point I will make a tool that lets you plug in your username and see what value it would add to your votes.

Congratulations @jesta, this post is the tenth most rewarded post (based on pending payouts) in the last 12 hours written by a Hero account holder (accounts that hold between 10 and 100 Mega Vests). The total number of posts by Hero account holders during this period was 211 and the total pending payments to posts in this category was $3473.17. To see the full list of highest paid posts across all accounts categories, click here.

If you do not wish to receive these messages in future, please reply stop to this comment.

It's a great initiative. But i personally think 50sp for 1sdb is a little high because its quite hard to earn 1sdb for minnow like me.

I enjoyed reading your post. There's a lot of good stuff.

what is steem delegation? I lately introduced with this tern but still can't find any answers that I can understand.

Somebody??

You can delegate your steem power to someone else which allows them to get more rewards by posting and curating

Hello!, Kindly visit my new created profile and Bless me with your best wishes. @fotographi

So if I am not wrong, this service is just like minnow booster except you accept SBD's as well and for the time being, we can lease SP for 14 days, right?

One small little dumb question, is there any way we could get a better ROI by using this service and by not upvoting our own comments?

Taking @powerbot for a spin with 50 steem to help support the project! :)

Sounds very interesting. I have not tried delegating any of my SP so far since I've been on Steemit, which is not very long. I think I'll do the maths to figure out if it will sufficiently benefit me doing so. I tend to be a little risk averse.

Congratulations @jesta! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Very cool content
Very useful
Great effort and wonderful
Greetings for

Very cool. I haven't carved off the time to get back into EOS stuff, but I hope to someday have a tool like this for EOS as well. Do you plan to open-source this code at some point?

I may do parts open source - but if this turns into a revenue generating service I probably won't release all the code. I am planning on doing some sort of blog series surrounding how this was all done though, since it was super interesting.

I'd also love to do this on EOS and any other chain that supports delegation-like features.

I sent in 5.5 SPD to powerbot a half hour ago and have not received any power. Did I do something wrong?

Sorry about the delayed reply, it looks like it did end up going through. I think the bot must have lost connection to the blockchain at that time, and then reconnected, which is when it then finished up the delegation. Apologies for that! I'll work on changing a few things to prevent that from happening again.

I assumed that is what happened. No apologies needed as it is all good now! Thanks for the reply.

This is interesting @jesta. Thank you for sharing. How do I vote you as witness?

The menu in the upper right has a witness link, and you can vote for witnesses there. Thanks!

wonderful sir and thanks for this @jesta
so when can i try this powerbot out
and hey... i mentioned yo o my blog post.. hope you do not mind..

Hey, I sent 1 steem, about 4 hours ago... It's visible at the powerbot website but looks like pending... Any idea? Thanks!

Sorry about the delay, it's on the way. The bot was still stuck from the last troubleshooting round I did and should be fixed from here on out.

Thanks, got the delegation! Thanks for looking into this :)

why steemit is allowing bots ? is there any way to stop automates upvoting and followers etc

They're playing by the rules the system allows and unless Steem was changed somehow there's really nothing that can stop them.