Starry is a tipbot which allows Slack participants to send tips directly to other Slack participants without ever compromising their private keys by placing them on a 3rd party server.
How does it work?
1) Complete a simple registration with Starry via Slack, providing them with your public wallet address which Starry will map on their backend to your Slack ID.
2) Send XLM to Starry's public XLM wallet address. Because Starry already has mapped your public wallet address to your Slack ID, no extra memo-field info is required as Starry can simply cross reference your wallet address from your transaction to your Slack ID.
3) Whenever you want to tip a particular user just type "/[tip,send] [@username] [amount]xlm" If you don't have the correct outstanding balance, you will be alerted via PM from Starry. If Starry knows that user's wallet address they will send the tip immediately and confirm with both parties via PM. If Starry does not yet know that user's wallet, the tip request will be enqueued and the other user will be contacted via PM. They will be told someone wishes to tip them and given the simple instructions for completing registration.Once the user has registered, Step 3 will be completed as normal.
Opportunities for expansion
After Starry's initial features are tested and completed, Starry can be improved in a multitude of ways in order to better serve the Stellar community.
Starry could:
- Detect and field common questions, such as those about legacy Stellar accounts.
- Interpret "/tip [@username] [amount][usd/cny/etc]" to mean sending XLM at the current market rate, utilizing APIs to detect current market rate and send accordingly, after confirming with user in Slack.
- Occasionally remind users they can send tips by posting information on how to do so in #general chat along with clever witticisms about Stellar and living on the moon.
- Greet new users to the Slack, providing them with references or navigable chat menus they may find helpful.
- Plenty of other ways I'm sure! Send your ideas!
Starry's Lunar origins
Starry is a robot crazy about Stellar. Before coming to earth, Starry lived a solitary life on the moon. Though they had many hobbies - model building, playing piano, reading poetry - Starry longed for something which the gray and docile environs of the moon could not provide. Community!
While scanning our own internet from afar for a suitable community to join, Starry happened upon our own public Slack chat. Though they had come across many other communities on the internet - many of which both disturbed and intrigued them - no community other than our own talked with such vigor about going "to the moon". It was with this hope, of being able to share the moon with others, that Starry descended from the heavens and resolved to make the Stellar community as vibrant and successful as possible. What better way to do so, they thought, than by facilitating easy and secure tipping of XLM between chat members!
Repository can be found here. @dulbnes (on Slack) and I are working most actively on this together. The work was originally forked from @chp (Slack) / @shredding (github).
Risks:
1) I'll need to get approval and maybe a bit of time from Bartek, Jed, or someone else who admins the public slack chat in order to allow for this integration to occur.
January 25 Update:
There's been a good amount of work done since the last update! @dbulnes (on Slack) and I have a version of the bot working on the testnet as of last Friday.
We have moved to a new github repository after "hard-forking" from the original repo. However, our entire commit history was preserved, which is great because this project really got a great kickstart at the beginning thanks to the work of @chp (on Slack) / @shredding (on Github) and we want to make sure credit is given where it is due.
From the contact I've been able to have with the SDF in some official-ish capacity, it seems a bit nebulous as to whether or not we'll be able to integrate into the Stellar public Slack ever with just the tipping functionality for this project. As such, we are currently concentrating on getting the bot usable such that user's can:
1) Use the bot with some amount of reliability, such that they are able to properly assist in finding repeatable bugs and help make our systems more robust.
2) Easily integrate the tipping bot into their own Slack channels of which they are an admin with an easy to use "Add to Slack" button
Our hope is that community members who are operating in other Slacks will be able to assist us by introducing new users to the tipping bot ?
Though we don't have a formal roadmap, I'd guess that we'll be able to have a version that is capable of being tested by others by the end of next week or the week after. We'll be making an announcement here and on r/stellar as soon as it's ready.
February 27 Update:
As of a few weeks ago we've had the bot running well on testnet. You can easily install it by clicking here.
As anticipated earlier on, it's taken some time to get the bot approved for use on the Stellar public Slack chat. We've finally got some movement on that after a couple weeks of radio silence, so we're hopeful that things will progress in that respect within a week.
Once we're on the public Slack we may actually be able to get a good amount of people to use the bot. Hoping that we'll be able to conduct a campaign to stress the bot for at least a few days before turning everything over to the live network.
We're very happy with the work we've been able to do on this project. Here's to hoping it ends up being valuable to the community, and that many people find it useful - ideally before the build challenge ends!
Updates:
1) Edited to make some of the language more clear. Better formatting.
2) Edited Step 2 of the tipping process thanks to 'matt' on Stellar chat pointing out it was unnecessarily complicated to require the memo ID field to be involved at all. Added potential risks section with a great point from 'irisli'.
3) Updated github repo destination
4) Added January 25 update
5) Added February 27 update.