Skip to content
This repository has been archived by the owner on Mar 9, 2024. It is now read-only.

Add MoneroTipper, the non-custodial Reddit tip bot, to the Ecosystem! #45

Closed
dginovker opened this issue Jul 20, 2019 · 14 comments
Closed
Labels
Approved consensus consensus needed for approval/rejection (see governance system) Repo proposal

Comments

@dginovker
Copy link

dginovker commented Jul 20, 2019

This is a tipping service I've been working on for months now, always polishing the UX and constantly adding more features. It is built using monero-python, is non-custodial so users have access to their private keys, and has over 40 Reddit users (and counting).

You can see the version history in the readme of the repo below, and v0.8 will also be coming out soon :)

https://github.com/dginovker/MoneroTipper

@dginovker dginovker changed the title Add MoneroTipper, the non-custodial Reddit tip bot, to the Monero Ecosystem Add MoneroTipper, the non-custodial Reddit tip bot, to the Ecosystem! Jul 20, 2019
@erciccione erciccione added consensus consensus needed for approval/rejection (see governance system) Repo proposal labels Jul 20, 2019
@erciccione
Copy link
Collaborator

I've been following this project for some time and i greatly appreciate the effort behind it. iwill be happy to see it part of the Ecosystem.
Thank you for proposing it @dginovker, you have my ACK :)

@monero-ecosystem/maintainers please voice your opinion.

@omani
Copy link

omani commented Jul 20, 2019

welcome to the ecosystem @dginovker. ACK!

@Lafudoci
Copy link

ACK, nice project.

@erciccione
Copy link
Collaborator

erciccione commented Jul 28, 2019

One week has passed from the last comment. We have 3 ACK and no NACK. I consider this approved :).

Thank you for the members who reviewed and voted on this proposal. @dginovker we can start the migration when you are ready.

@erciccione
Copy link
Collaborator

ping @dginovker

@dginovker
Copy link
Author

Sounds good to me - can I get repository rights so I can begin the transfer?

@lh1008
Copy link

lh1008 commented Aug 1, 2019

ACK

@erciccione
Copy link
Collaborator

@dginovker i sent you the invitation. You can transfer the repo after you accepted it. Please ping me when done.

@dginovker
Copy link
Author

@erciccione
Copy link
Collaborator

Great, now only needs to be added to this repo and in https://github.com/monero-ecosystem/monero-ecosystem.github.io. It also has to be announced. I'll take care of the PR in the meta repo, do you want to announce it yourself on reddit? if you do, please include a brief explanation of the Ecosystem (can be pulled from my last announcement. in case i can just PM you the source).

Also, please take a look at the posts in https://github.com/orgs/monero-ecosystem/teams/maintainers (i need to add a "welcome to the Ecosystem" post for new maintainers).

@omani
Copy link

omani commented Aug 2, 2019

the only problem I have is the description of the bot. like I mentioned this before, this is not a non-custodial bot. I let the author of the project decide if he wants to stick to this description. but I just wanted to mention it again. it is really hard to do a non-custodial version of a tip bot. and I've looked at the code of this bot a few weeks ago. it is definitely not non-custodial. Imo, sticking to this description is misleading.

@dginovker dont get me wrong. nothing wrong with being honest and having a custodial bot. who cares? those who do, wont use it. easy as that. but dont use the word, if its true definition does not apply to your code. now, if you think it is non-custodial, maybe we should have a conversation about what is and is not custodial in general and understand the terminology.

but regardless. welcome to the ecosystem @dginovker

@dginovker
Copy link
Author

dginovker commented Aug 2, 2019

@erciccione I'm good with you doing the announcement.

@omani I did a lot of research on what constitutes "custodial", and there's no firm definition out there. However, based on FinCEN's guidelines of what clearly constitutes custodial (they define as hosted), the bot is outside of the category for providing users with their own private key.

From page 15:

The regulatory treatment of such intermediaries [hosted] depends on four criteria: (a) who owns the value; (b) where the value is stored; (c) whether the owner interacts directly with the payment system where the CVC runs; and, (d) whether the person acting as intermediary has total independent control over the value.

Because the tipping service does not have independent control over the value, and was designed with the user having access to their private key, the service is thereby not custodial, by FinCEN's definitions. Logically this makes sense too, since users don't have to worry about their funds should the tip bot ever go down (see: Dogecoin tipper)

Hope that helps. I also recommend you consider this implementation on the telegram bot; the code for withdrawals in reply.py is a relatively straightforward implementation that might help give you some ideas: https://github.com/monero-ecosystem/MoneroTipper/blob/master/tipperInteractions/reply.py#L109. Note line 125, where it opens an independent wallet based on the user's name. This is what helps ensure the separation of user funds, and gives access to private keys. For handle_tip_request (function above), it's a little more complex, where you can see it opening two separate wallets running on independent RPCs. I also recommend you consider this implementation as well; although realistically, you don't need them running concurrently if you store the receivers address in a regular file. This was an oversight in my initial implementation that will make yours easier.

@erciccione erciccione added this to Needs announcement in Governance: New Project Aug 3, 2019
@erciccione
Copy link
Collaborator

@dginovker i just noticed you have a local fork in your personal repository (dginovker/MoneroTipper) which has some commits. It's usually not a good idea to have a personal fork, because all links between the transferred repo and the personal repo are broken. Btw, the important thing is that i noticed you pushed some commits to your personal fork, but not on the repo in monero-ecosystem/MoneroTipper. Please keep in mind the point of this project/aggregator is to develop the repos on the Ecosystem itself, working on a personal fork leaving the main project outdated (or just mirrored) defeat the whole point of having it in the Ecosystem.

@erciccione
Copy link
Collaborator

Announced on reddit and Twitter. We can consider the migration concluded. @dginovker please close the issue if everything is ok.

@erciccione erciccione moved this from Needs announcement to Done in Governance: New Project Aug 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Approved consensus consensus needed for approval/rejection (see governance system) Repo proposal
Development

No branches or pull requests

5 participants