--- layout: post title: Overview and Logs for the Dev Meeting Held on 2016-09-11 summary: brief update on 0MQ, Ring CT, and the official GUI, and hardfork schedule, and introduction of pigeons (sysops/devops) tags: [dev diaries, core, crypto, 0mq] author: dEBRUYNE / fluffypony --- *September 11th, 2016* # Logs **\** Hi all **\** I'm on my phone **\** Hi all **\** hello **\** NoodleDoodle, TheKoziTwo, **\** anyone else? **\** hola **\** luigi1112, listening or cruising ;) **\** jwinterm **\** lol **\** hyc and moneromooo are around afaik **\** fluffypony: if you wanna just give a list of things to cover, one of us can conduct the meeting. (assuming you don't wanna have to type a shitload on your phone) **\** Well I think let's start with 0MQ, tewinget **\** Then you can talk and I don't have to **\** :-P **\** well, I wanted to have more news, but I'm having to do a full distro upgrade to get a newer boost on this craptop, and the internet is slow as balls...so I don't really have much in the way of updates. Soon™. Need to merge RingCT stuff into my zmq branch, then make the new RingCT-related RPC calls (as well as updating any others as needed), then should be golden for basic implementation. **\** will try to get most of that done today or tomorrow. **\** This is daemon only right now right? **\** daemon RPC, and a lib to use it that libwallet will call into. **\** ok - and then next thing after daemon is buttoned up is a wallet 0MQ endpoint right? **\** but yes, for right now I'm working on the daemon's RPC. Once that's in a good spot I can move onto wallet RPC. Oh, and I think since the last dev meeting I redid the formatting of the RPC commands to get JSON-RPC 2.0 compliant. **\** Ok so tewinget let me ask about the backwards-compatible stub **\** Coz obviously we still need a stub for those that insist on touching the daemon using old RPC **\** Is that just a matter of refactoring it out of the daemon? **\** well...so \*my* plan was to leave the old RPC in place until we decide "yea, that's for sure deprecated and gonna be removed now" **\** That's fine - I meant as a later exercise **\** Just trying to gauge the amount of effort it's going to take **\** hmm, well, a wrapper around the old RPC to hook into the new wouldn't be *too* hard... **\** just tedious **\** I know it's tedious **\** What if we made it generic **\** Like it translated the RPC call directly **\** If it fails pass the error back **\** Oh wait that won't work **\** The 0MQ calls are different **\** not hugely different, but different in some cases, yes. with good reason... **\** Ok so tedious because it requires everything implemented as a 0MQ client, got it **\** As a practical matter **\** We need to consider something like cppnetlib for TLS and auth **\** I'm trying to make switching costs as low as possible, but I can't make it nonzero. **\** And implement that as a matter of some urgency, since the entire net_skeleton thing was a colossal waste of time **\** Ok tks tewinget - anything else from your side? **\** yea, I might make TLS and auth a priority ahead of wallet RPC (since it will need auth anyway) **\** other than that, not really. **\** carry on. **\** "I can't make it nonzero" <-- excellent! **\** Hokay **\** LOL **\** Nice catch **\** lol **\** breaking: Monero contributor works for free! **\** just tuning in, was teaking my ARM code **\** god dammit. **\** Instant delivery! **\** well, moneromooo, I can't **\** because it has to use ZERO MQ **\** Hah hah **\** #SavedIt **\** :P **\** #dadjokes **\** At any rate **\** I'd like to introduce pigeons **\** He's recently started doing some stuff with me **\** and he's kindly going to help us redo our sysops / devops **\** For all projects, including Kovri **\** nice **\** Hi guys. :) **\** Hi **\** hey there **\** pigeons: tell us a bit about yourself or whatever **\** "Long walks on the beach" and all that **\** I guess the population explosion kinda demanded more ops **\** I see what a sysop is, but not a devop. **\** I like pina coladas and getting lost in te rain. Ive been syadmin type stuff forever. **\** Hi pigeons **\** moneromooo: devops is like CI and build boxes and that **\** devops is the new term for brogrammers who use docker and jenkins CI etc **\** Oh nice :) **\** Hah hah **\** I think a devop is a developer with rootpw on all production machines. sysaop's worst nightmare :P **\** Devops-as-a-Service **\** lol **\** but yeah im gonna try and get buildbot ci going the system chromium and some others use **\** get builds and tests for arm, windows, mac, freebsd, linux 32 64 **\** Also the immediate aim is to be able to push nightlies to the site **\** nice **\** #1047 did this **\** oops **\ {-guzzi}** hi pigeons **\** So the broader community can test without waiting for fluffypony to build **\** eventually look at gitian style reproducible builds **\** ARM is gonna be 3 distinct builds, ARMv6, ARMv7, ARMv8 **\** rapidly proliferating... **\** ok cool **\** hyc: I think we'll have to drop ARMv6 for performance concerns **\** If not now then soon **\** ok, fair enough **\** Also on that note **\** yeah, the perf/watt just isn't there on ARMv6 **\** Am I correct in saying that QEMU is about the only way we're going to get arm7/8 build boxes? **\** Or does anyone know of hosted native arm boxes? **\** there's an ARM VPS provider out there **\** yeah what are they called again, there is one **\** someone recommended one to me just the other day, oddly enough...can't remember the name. **\** lol **\** awww. i still use my pi zero nodes **\** which are arm v6 **\** bitjedi: they'll choke on RingCT **\** scaleway.com ? **\** scaleways? **\** yeah **\** are u sure it's cpu and not io? **\** Awesome **\** Isn't scaleways native and not virtualised? **\** I seem to vaguely recall **\** I think it was Scaleway **\** hm, they claim bare metal, yeah **\** theres one ovhi or somone in scandanavia **\** Ok **\** Also the implication is that anyone relying on the Mac / 32-bit test boxes should expect an impending change **\** I think anonimal primarily uses them **\** Also we'll hopefully be able to provide broader access to test hardware in future **\ {-anonimal}** * has yet to use 32-bit boxes **\** Ok then FreeBSD **\** Has anyone tried the WIP boost 1.60 port on BSD? **\** haven't touched BSD in years **\ {-anonimal}** Last I checked, build failed hard on freebsd for monero. **\ {-anonimal}** Works with kovri. **\** xmj is our resident BSD expert and even he hasn't touched boost 1.60 **\** If anyone wants to volunteer to play with that great **\** We also need to start thinking about packaging **\** lol relevant PR is relevant **\** hyc how do you guys handle packaging for like Debian / Ubuntu? **\** eh, OpenLDAP Project is source-code only, distros do their own packaging **\** Coz my concern with farming it out is that we end up with old versions on old distros **\ {-anonimal}** fluffypony: I was planning to work with the monero bsd build (only freebsd though) once we get kovri releases going **\** yes, that's a pervasive problem with distros **\** Tks anonimal - I'll also fiddle **\** When I have time, so never :-P **\** Ok next thing **\** moneromooo: want to talk about the rct serialisation changes? **\** And the impact on testnet **\** It's finished. It's on github ready to merge. And it will need reorganizing on testnet, yes. **\** So, I guess someone with hash power will have to pop N blocks till before v4, and mine. **\** After a few daysm it'll reorg for everyone :) **\** And we'll get to test deep reogs. **\** so anyone mining testnet right now should stop **\** Unless you want to test stuff. **\** i exported the raw blockchain up to 800499. that's before v3, right? **\** well that's not entirely necessary >\*\*\_>\*\* **\** Yes. **\** and v4 is... ? **\** 802000 or so iirc ? **\** 801220 **\** XMR up or down **\** ah, k **\** I think my miner is off atm **\** it had that hiccup and I never fixed it coz stuff **\** rct soon! **\** ok so moneromooo **\** It had to be done **\** are you guys forking the testnet ? **\** when it loads the blockchain on the new code **\** im gonnad do a testnet classic **\** it *should* freak out **\ {-anonimal}** Is this the meeting where we can discusses CI for CD? **\** and rollback? **\** anonimal: CD? like compact discs? **\ {-anonimal}** Laser-only releases **\** It'll probably moan a bit, but not overly. **\** :-P **\** ok but what I mean is **\** when we load a blockchain off disk we don't re-verify **\** the dev meeting is still going on or to late ? **\** so will we have to manually pop blocks? **\** still going on MalMen **\** Yes. **\** ok so I'll merge tomorrow afternoon, gives us a day for review **\** Just the miner. Others will just reorg when the miner passes the old chain's diff. **\** (hopefully) **\** and then I'll do some block-popping tomorrow night **\** and hopefully deep reorgs **\** luigi1112: btw, you'll want to read the latest get_transaction_hash and comment. It's still 3 parts. **\** ok **\** then the next thing is our hard fork date and the next release **\** we're planning on finalising final bits and releasing 0.10 shortly **\** but obviously RingCT (ie. v4 blocks) is not ready for even a final inclusion in this code freeze **\** given that we're still making changes **\** so I'd like some input from contributors and those present as to how to handle the v4 fork, since we have a couple of options **\** either: **\** 1. we leave v4 till March 2016 **\** 2017 **\** tks 2017 **\** 2. we change the "complain about a fork" date to like end-of-November, with an aim to forking to v4 end of December **\** so coded freeze beginning of December **\** (this would make RCT transactions potentially available on mainnet from Jan 1) **\** but obviously there's the risk of breakage **\** maybe December is too soon, how about January? **\** so if we had to do Jan, then when do we do v5? **\** March is too close to Jan for v5, imho **\** fluffypony My preference is 2, but my biggest concern is the amount of time left for finalization of development and testing **\** We don't necessarily have to decide the exact dates now, but I think option 2 would be best **\** ok so what if we did 2, but then pushed the v5 fork to September next year **\** if we have v4 in January then June/July would be OK **\** that way RCT is available on mainnet early on, but if anything breaks we have 9 months to fix it **\** hyc: I don't want to go too far away from our schedule **\** ok **\** \ if we have v4 in January then June/July would be OK <= Fine with that too **\** sounds reasonable to me **\** Like I said, we can always decide on the exact dates later **\** like this is major enough to warrant a change, but we should aim for a singular change **\** so march/september is the cadence we're aiming for? **\** Yes I like the idea of advancing V4 fork but keeping the v5 fork on schedule **\** I agree, singular deviation from the schedule is preferable. **\** ok **\** hyc: yep **\** fluffypony: most people will use Ring CT transactions anyway **\** so we bring v4 a bit forward, and leave v5 as scheduled **\** yes **\** dEBRUYNE: we can always make it the non-default, like we did with transfer_new **\** sounds good **\** yeah agree **\** agree **\** ok so we'll move the freak-out to early December, and actual fork block height will be decided at that code freeze **\** but likely late Dec / early Jan or so **\** and v5 stays for September 2017 **\** consensus: reached! **\** \o/ **\** (it's so easy when you're tiny and only like 5 people have to agree, lol) **\** I think that's about it from my side, there's something else but I completely can't remember **\** is there anything else that anyone wants to bring up? **\** I dunno multisig for bitcoin was a bitch... **\** current freeze, release date? **\** since Ilya's not here... **\ {-anonimal}** I moved kovri logo decision agenda to the beginning of kovri meeting in 10'ish minutes so we can catch everyone before they leave **\** that only had 8 guys **\** ferretinjapan: lol **\** a quick update on multisig preferably **\** Do you want to wait for the fee change before binaries ? **\** lurker: https://shnoe.wordpress.com/2016/03/22/ring-multisignature/ **\** it's whitepaper-only right now **\** fluffpony - the GUI wallet. Languages and regional variations. **\** oh **\** Hi guys can I ask about public wallet build release dates **\** yes moneromooo thanks for reminding me **\** tag->release->binaries will be in the coming week, hopefully **\** there are two things still remaining **\** 1. fee changes (lower min-fee, bind it to the inverse of the block median as suggested by ArticMine) **\** 2. ideally, if anyone is up for it, we seriously need our DNSSEC check expanded to *actually* check from the root cert down, at the moment it's relying on the DNS server to send back a "secure" flag, which is breaking it on lots of routers **\** tewinget can you point me to the list of 0qm commands that you have already? **\** and we rely on DNSSEC for MoneroSeeds and MoneroPulse **\** I have some sugestion **\** moneromooo is coding the fee changes **\** there's some time pressure on that, but it's not a huge piece of work, so if anyone is up for it then that would be appreciated **\** if not it'll have to hold off till the next release **\** Yes, I started looking at it this afternoon. Not a simple change, since it'll require a new RPC, and access to median block size calc in misc places. **\** ok **\** fluffypony: would it be feasible to provide trezor binaries? **\** dEBRUYNE: I haven't actually looked at it properly, and NoodleDoodle isn't around to give his opinion **\** I see, he's still working on the Ring CT bit, so probably better to wait until that is finished to provide them **\** kintaji: re: languages / variants, I think we'll hold off on that a bit as there are large parts of the GUI that are non-functional right now **\** Kermit_: do you mean the GUI wallet, or the next tagged release? **\** Yes gui **\** fluffypony - Okay. Just to say there are some oddities with the current flag page. Can expand at a later time. **\** Kermit_: not certain yet - I'll look at building beta binaries in the next week or so **\** Thanks **\** kintaji: yeah maybe best thing to do is drop it out the wizard initially **\** and add it back in later on **\** MalMen: have a look at https://www.github.com/tewinget/bitmonero/tree/zmq-dev, file src/rpc/daemon_messages.h. I need to do a bit of write-up, but that's a good place to start. **\** fluffypony - yep. sounds like a good idea. **\** ok anything else or can we start the Kovri meeting? **\** any other volunteers to test ARMv8 builds? **\** oooh I will hyc **\** yea i can **\** cool, I'll have atarball ready later tonight **\** tewinget you are writing your rcp calls with up letters right ? **\** fluffy i have centos 64bit on my rpi3 fyi **\** hyc: is an R8 ARM processor an armv8? **\** coz if so then I have a bunch of C.H.I.Ps lying around that I can test on **\** I don't know what R8 is. what box is that? **\** MalMen: the class names are CamelCase, but the methods (currently) are "word_word_word". No reason that can't change, of course. **\** ahhhh, nice **\** AllWinner R8 **\** I was in mind that you where using WordWordWord **\** ok I see it **\** would sugest wordWordWord **\** "Allwinner R8 is SoC designed based on A13 featuring one core Cortex-A8 ARM CPU with Cedar Engine VPU and Mali 400 GPU" **\** nope . Cortex-A8 is ARMv7 **\** ah ok **\** well that sucks **\** hi meeting-bot! **\** MalMen: the method names (as in, the method field in the RPC call on the wire) are "word_word_word" to conform with the previous RPC, but I have no particular attachment to that format. **\** well, I am checking the bitcoin rcp and they use wordwordword, I think i like word_word_word better