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.