Please login or register.

More mooo coding goodness

As most of you know, I am one of the main contributors to Monero.

My previous contract finished in july, and I have since continued contributing, mostly to finish off the RingCT integration, as well as various other bits and bobs.

As I said, "Once the summer is out, I might go for another similar contract.". I have to admit I was kind of browbeaten by rct and was looking forward to sunshine with no pressure. I'm now ready to commit to more work to make Monero better, if the community wants it, with a new contract along the lines of the previous one:

  • 450 hours spent working on monero (previous was 450)
  • A guideline of about 10 hours a week, as previously, but this is only indicative [1]
  • 4 monero per hour (previous was 40 [2])
  • 10 milestones, at regular 45 hours intervals (previous was 10 every 45)
  • so a total of 1800 monero (previous was 18000)

[1] Over the last two contracts I have averaged a bit above that, but the variance is high-ish.

[2] Monero was cheaper then. The fiat rate is also a bit higher (~26 USD/hour vs ~19 USD/hour, but I have shown I do good work, the previous rate was pretty low, and the downside risk is a lot higher now).

As before, I will not commit to any particular piece of work, but will work on whatever needs doing to further Monero. Currently, my target is rct verification performance, and then there is multisig, though I will need help for someone who understands the crypto well to guide me.

Replies: 27
antw081 posted 8 years ago Weight: 0 | Link [ - ]

Funded so quickly!

moneromooo posted 7 years ago Weight: 0 | Link [ - ]

9th milestone (I took a breather, so it took a while to finish that one):

  • block/transaction hash cache
  • word list automated checks and unit tests
  • new wallet options: merge-destinations
  • easyloging++ update
  • fix cold signing with split txes
  • new relay_tx daemon command
  • move txpool to lmdb (not merged yet)
  • make seed input more user friendly
  • new sweep_below wallet command
  • tweak fake output selection to bias more towards more recent outputs
  • start generalizing how network addresses are used
moneromooo posted 7 years ago Weight: 0 | Link [ - ]

8th milestone done:

  • software update check/download/verify for the GUI
  • new bc_dyn_stats RPC (keep track of block median etc)
  • reduction in transfered data when refreshing the wallet (request from luigi)
  • user facing denominations (you can now have your wallet denominated in millinero, old request from pony)
  • password can now be changed without having to restore from seed/keys
  • speedup in syncing blocks
  • misc fixes in fluffy blocks
  • move v5 changes to v6, and repurpose v6 for a block and fee change fork
  • faster txes in wallet, especially with remote nodes
  • fix long RPC pauses when the txpool is large
moneromooo posted 8 years ago Weight: 0 | Link [ - ]

First one done:

  • some work on ringct performance
  • misc improvements in RPC for pool use
  • rewrite sweep_unmixable to use new transfer algorithm
  • code review (mostly fluffy blocks)
  • fixes with relay flag, and display it in print_pool_sh
  • new print_pool_stats command
  • some fixes and improvements to cold wallet signing
  • dynamic fee from ArticMine's specification
  • new import_outputs/export_outputs wallet commands
  • random other misc fixes
moneromooo posted 8 years ago Weight: 0 | Link [ - ]

Second milestone:

  • more work on dynamic fee from ArticMine
  • support for user notes in GUI
  • display sum of selected transactions in GUI
  • txkey and sign/verify screens for the GUI
  • random other GUI fixes/improvements
  • fixes for missing payment ids and incorrect fees in tx history
  • key images and outputs files are now encrypted with the view secret key
  • ability to sweep all and unmixables in GUI
  • fix P2P errors with new fluffy blocks
  • code review
moneromooo posted 7 years ago Weight: 0 | Link [ - ]

Sixth milestone:

  • more logging work - it's now live
  • GUI balance now shows when it's still scanning, so people don't freak out about missing monero
  • misc additions to RPC (cumulative difficulty, current dynamic fee...)
  • new bc_dyn_stats to get stats on the current state of the blockchain (median size, etc)
  • fix for a tx sending bug where the fee was too low in some cases
  • better block template filling algorithm
  • performance improvements in sending (mainly caching of RPC calls)
  • rct txes with just one input now include a second one if possible, to look like the 2->2 ideal
  • rct verification performance improvements based on luigi's ideas
  • fix for a rare failure in verifying a seed
  • performance improvements in serving blocks (not yet pushed, waiting for snipa's report testing it on a large server)
  • peer id is now always recreated on startup
  • random other smaller fixes and improvements
moneromooo posted 8 years ago Weight: 0 | Link [ - ]

Third milestone:

  • port ringct changes from shen to monero
  • misc fixes for cold wallet signing
  • misc changes in RPC (fee included in transfer replies, output indices in get _transactions, JSON based get_outs)
  • incremental search in GUI history
  • QR code in GUI receive page
  • fix for exit "hang" in windows
  • misc valgrind fixes
  • overhaul GUI title bar and layout switch
  • crash fix on the buildbot
  • fix for the daemon failing to start in some offline cases
  • improved daemon RPC version handling
  • payment tracker in GUI
moneromooo posted 7 years ago Replies: 2 | Weight: 0 | Link [ - ]

Last milestone complete!

Few items this time, I was working on two large time consuming ones:

  • generalizing peer addresses (to make it easier to add I2P addresses later)
  • multisig
  • a few bugfixes (wallet refresh start height got broken, core tests started failing)
Reply to: moneromooo
Electricsheep posted 7 years ago Weight: 0 | Link [ - ]

So is multisig implemented into monero or is the code base just complete?

Reply to: moneromooo
antw081 posted 7 years ago Weight: 0 | Link [ - ]

Congrats, mooo!

You gonna take a break, or are we gonna get more mooo goodness?

moneromooo posted 7 years ago Weight: 0 | Link [ - ]

Milestone 7:

  • RPC improvements (mostly new adding address book RPCs, fixing coinbase sum RPC, etc)
  • using easylogging++'s stack trace capability where possible (libunwind turns out to be unstable)
  • more performance tests, and fixing regressions in core tests
  • misc fixing in fluffy blocks after Snipa's testing (thanks!)
  • massive syncing speedup on HDD
  • automatic updates framework (check and/or download)
  • speedups in serving blocks to peers and other related operations
  • precomputed block hashes check (by hash)
  • trusted daemon mode for monero-wallet-rpc
  • misc other minor fixes and improvements
moneromooo posted 8 years ago Weight: 0 | Link [ - ]

Fourth milestone:

  • payment tracker in GUI
  • URI RPC in wallet2
  • allow switching between normal and custom decorations in GUI
  • misc fixes in consensus corner cases
  • crash fix in daemon
  • faster exit when syncing a node
  • zero change sent to random address if no change otherwise
  • move v4 one block and test with new rct changes from shen
  • playing a bit with easylogging++ to switch monero to it
  • start daemon button on the "no daemon running" GUI message
  • misc code review
  • port zone117x's pool code to new rct txes
  • better password strength feedback in GUI