layout: fr title: Twitter alerts for General Fund donations author: KnowledgeMurky9635 date: July 27, 2021 amount: 0 milestones: - name: Scrape BinaryFates gitlab activity funds: 100% (0 XMR) done: July 27, 2021 status: finished - name: Get last hour of Matrix chat from Monero community channel funds: 100% (0 XMR) done: July 27, 2021 status: finished payouts: - date: amount: - date: amount:
3 problems i've noticed:
- The viewkey for the Monero general fund is public, however, there are several steps involved with creating a view-only wallet and you can't just link someone to look at it (especially someone not involved with Monero).
- People who do create a view-only wallet will be confused by false inputs which are actually 'change' outputs from an outgoing transaction (which are disclosed on Moneros gitlab repository by @binaryFate.
- There was some unrest over 2020-2021 transparency report being 'late'. (people being unaware the wallet is public)
My proposed solutions:
- Tweet every donation that is received so people can simply visit the twitter account and scroll through its activity.
- Donation tweets will be delayed for 1 hour. This will give @binaryFate enough time to disclose any outgoing transactions on gitlab. If the input is found to be a change output - instead of tweeting the amount - binaryFates comment will be tweeted instead e.g. "Donating ?xmr to (some proposal) : (proposal link)."
- Because updates will be posted live, there will be less / no unrest for the yearly transparency report and it's a more convenient way of viewing the general fund wallet.
How i've solved this:
- use tx-notify from monero-wallet-rpc to run a python script when incoming transactions are received. (thanks melo.tools)
- check if the tx id was posted by BinaryFate (on gitlab or in the Matrix Monero room.
- send the tweet.
Contributions to ccs proposals are not the only outgoing transactions from the general fund (which cause the false change inputs) so for this script to validate all inputs - these payments need to be disclosed also e.g. "Withdrawing ?xmr from the general fund to purchase server bandwidth." - this is now solved assuming none ccs related payments are posted in the Monero Matrix room.
The webscraping method is a 'hack'. Outgoing transactions should ideally be disclosed in a simple text file somewhere that a script can easily parse, but it works, and is convenient for binaryFate.
If/when all outgoing transactions are disclosed, then an 'unofficial' monthly transparency report can be tweeted automatically e.g. ' ?xmr in, ?xmr out ' and to see what it was spent on you just have to scroll through the twitter feed.
The original version of this script had a fixed rate of 1 transaction per website scrape.. a fixed block size if you will. This isn't Monero like at all, so i improved upon this by collecting transactions over a 20 minute window (dynamic blocksize?) so now there is only 1 website/matrix chat scrape every 20 minutes maximum for n transactions.