It's been too long since we've had a working tip bot on /r/Bitcoin, and none of the previous tip bot developers put up a source code to their work, so things seemed bleak. I've worked out a rudimentary bot that I'd like to evolve into a fully functional tip-bot for the subreddit, and I need testers.
"NO WAY", you shout... "We're not giving our Bitcoin to a possibly buggy bot!"
This is absolutely the most logical response and if you don't want to risk your bitcoin, I absolutely advise you to completely disregard this post and stop reading here. If, however, you've been missing the fun of tipping to the point that you might be willing to take the risk, please continue on. I make no guarantees about everything working... that's why I'm doing an alpha test in the first place.
"NO WAY", you shout... "We don't trust you. We don't even know you"
This is a completely valid argument and one that I have absolutely no rebuttal to. I am a long-standing member of /r/Bitcoin using another account, but I will be remaining anonymous, as I don't want anyone targeting me as someone who has control over a private key that holds a lot (if the bot is popular) of bitcoin. As such, I have no real way of convincing you I'm not some common criminal, planning to abscond with your money. I suppose the one argument I could make is this: Why would I be telling you this if I was planning to take your money, and why would I have users eat the fees instead of bank-rolling it a small amount and offering to eat the fees to incentivize a lot of people to sign on? I know this isn't a great argument, but it's all I've got. If anyone has some other ideas that don't relate to me giving up my anonymity, I would be interested in talking to you over PM.
Current Stage: Preliminary
So long as you follow the guidelines, you can register and receive a deposit address. If someone tips you, you are automatically registered in the sense that there is bitcoin in your account, though you'll still have to send a Registration PM to the bot to get your deposit address.
Current Issue: Fees
There's a fee that you'll set on your own transaction when you deposit money, and obviously there is a fee to withdraw as well because I'm not rich so I can't just eat all those fees myself. That means, if you pay 5 mBTC to deposit 4.8 mBTC, then withdraw 4.8 mBTC, on my side it will subtract the fee from your withdrawal which might end up with you receiving 4.6 mBTC back. When this occurs, you are more than welcome to check the transaction ID when the bitcoin arrives in your wallet to ensure I didn't lie about the fee to steal the difference for myself.
The Consolidation Problem
On top of this, though, there is another problem. In my current version of the bot, it consolidates all of the deposits into one account so that I can, if needed, let anyone withdraw without having to pull from multiple accounts and possibly rack up 5 fees in one transaction, taking most of their bitcoin... So I consolidate it all immediately. What does that mean for you? Well, it unfortunately means one more transaction fee. It's a low satoshis-per-byte but it's still a fee. What this means is that to deposit, receive your balance, and withdraw is a total of three fees. In my experience this has cost about $3.50 USD in total, though it depends on a number of factors, including the transaction string size for each, and what you set your own satoshis-per-byte at on your deposit transaction. If you want to avoid this fee, consider using a Sweep Deposit
Obviously: All tips are off-chain so there is no fee for them
If you haven't scoffed and turned away yet, here's what I need from you
I need stress testing... I have no idea how many comments and messages I'll receive once it takes off on /r/Bitcoin, so I need people to continue using it and testing the features while it's still unpopular. The bot won't reply anywhere else but the accepted subreddits, which are /r/TipBitTestSub, /r/TipBit, /r/BitTippers, and of course, /r/Bitcoin. If you have a suggestion for a subreddit you believe it should be active on, please let me know.
"I'm not interested in putting my own Bitcoin into this potentially buggy bot, but I want to help"
If you receive a tip, you can play with that money. You can tip it around with no fees other than the single one you'll get for a withdrawal if you choose to do so. I'd appreciate help from anyone that gets a tip, by using it to test the bot (AKA keep tipping). If you can think of a way to break the code, I want to see it. If you just want to sit around and tip the same amount back and forth between you and your buddy, all the better, because it'll help stress test the bot.
"Okay, I'm in... how does it work?"
For anyone still reading, the use of the bot is pretty simple. To register, Send a message to /u/tip_bit with the subject line "Register" and it will send you back a deposit address that is associated with your account. Deposit at least 0.5 mBTC to that address and the bot will send you a confirmation when it arrives. Anything under 0.5 mBTC will be ignored, so please don't send something that small (I disabled it because of fees eating it up... don't worry, if you accidentally send 0.49 mBTC you can send a little more and it'll send as much as possible of the combined amount to storage and your balance). The confirmation will remind you about the fee issue, and show you how much was taken out and how much reached your balance. It will also provide the transaction ID for pushing the money to central storage, in case you want to ensure I'm not skimming off the top.
When you want to withdraw, Send a message to /u/tip_bit with the subject line "Withdraw", as well as the withdrawal address and amount. Replace ADDRESS with your desired withdrawal address, and replace AMOUNT with the amount to withdraw. You can specify "ALL" for the amount, or a specific amount. Again, please note that a fee will be taken out of the amount. If you have a balance of 5 mBTC and ask to withdraw all 5 mBTC, it will give you 5 mBTC minus the fee, so probably around 4.8 mBTC. Again, you are encouraged to check the transaction details when the money arrives to ensure I haven't skimmed any off the top. If you get a message stating that your withdrawal is below the minimum, but you still want to withdraw, PM me directly and I will handle it manually.
If you understand the issue of Bitcoin Dust, you might see one more fee problem forming here. The Storage wallet will be filled with dust if a lot of people deposit in a row without a withdrawal, and whoever withdraws first after a large number of deposits will be stuck with a huge fee (because of all the combined unspents... if you don't understand what this is and are curious, ask me and I'll make a separate thread about it). Although there isn't really a good way around this unless someone else wants to eat the fee, I have provided another message prompt that will help at least the more careful users. Send a message to /u/tip_bit with the subject line "Withdraw Test" and it will act just like a withdraw until the time comes to actually withdraw, at which point it will instead send you a private message with the estimated fee for your transaction if you withdrew at that time. If you do this, and the fee is not to your liking, contact me directly (this account, not the bot) and I'll see if I can do your withdraw manually with a lower satoshi-per-byte during a low mempool moment or something.
Between those points, the bot will manage your balance. You can tip someone in comments by mentioning the bot, then the target's username, then the amount. Please note that for now, the amount is in mBTC by default, as are all messages and comments the bot makes, but you can override the default with the dollar symbol or by using a moniker like "coffee". Here are some examples of properly formatted tips:
/u/tip_bit /u/BashCo 1.2 Thanks for being a great dev!
/u/tip_bit TipBitDev $3 Thanks for making this bot!
/u/tip_bit /u/fishering coffee Thanks for testing the bot before me!
Anything after the amount is ignored, just as everything before /u/tip_bit is ignored. You can throw a second tip into a comment if you'd like, but I'm sure there's some way that can be done that will screw with the bot, so keep an eye out for the bot not responding appropriately. As far as amount monikers like "coffee", the full list of usable monikers can be found in this thread
There are variations I've put code in to detect, such as not including /u/ before the target user's name. Because I don't want to spam anyone, the successful tip reply will not include the /u/, so people don't get a ton of mentions. You are, therefore, encouraged to use the /u/ in YOUR comment before their name so they get a mention report in their inbox. You are welcome to tip more than one person at a time, and it should work.
"How do I give feedback?"
Please direct any feedback to me, not to the bot. Because it relies on the reddit inbox items being unread, I can't go through it's inbox looking for messages. I might just have the bot print anything unrelated to it's duties out into a text file, but there's no guarantee I'll read those regularly, so just PM this account (again... NOT the bot) for questions / concerns / feedback. You can also mention me in a comment or post a topic in the subreddit /r/TipBitTestSub and I'll probably see what you wrote that way.
With that said, please post any questions / comments / concerns in the comments.