Meetings and Meeting Notes


#21

Daily report for 2018-05-02

Done

  • Updated warnings fix pull request o use cfg(Test) rather than hiding unused warnings

Doing

  • Travel for edcon
  • Testing edgerouter flashing automation

TODO

  • Fix opkg update stuff (wget error code on valid server?)
  • test many-physical-node setup locally with rita running, look for edge cases and crashes
  • Take some time to try out actix and moctapus

#22

Daily report for 2018-05-02

Done

  • Help @drozdziak1 with multi exit and rust trait stuff

Doing

  • Writing db backend for guac

TODO

  • more guac stuff
  • exit geoip
  • think about 2 party “consensus protocals” for payment channel nonce syncronisation

#23

Daily report 2018-05-04

Done

  • Finally fixed Babel buffering issues

Doing

  • Multiexit support
  • Router exit hookup

TODO

  • Investigate the first-time install issue that Justin once mentioned
  • Firewall-based ping flooding prevention

#24

Daily Report 2018-05-03 - 2018-05-04

Done

  • Some autoflashing application improvements

  • Fixed a bug where we stopped shipping dnsmasq config with dns servers in the firmware

  • Uploaded new nightly builds with the latest Rita and the above fix

Doing

  • Reorganizing the dashboard endpoints in the warnings hunt pull

  • Improving documentation on the Althea firmware page

TODO

  • Fix opkg update stuff (wget error code on valid server?)
  • test many-physical-node setup locally with rita running, look for edge cases and crashes
  • Take some time to try out actix and moctapus

#25

Daily report 2018-05-04

Done

  • Not much :disappointed_relieved:

Doing

  • Prototyping the signing infrastructure for guac

TODO (same as before)

  • more guac stuff
  • exit geoip
  • think about 2 party “consensus protocals” for payment channel nonce syncronisation

#26

Daily report 2018-05-05

Done

  • Eth function ABI encoding done for update tx
  • integrate appropriate parity stuff into guac
  • add convenience impls to num256 to convert between U256 (the parity type) and Uint256 (our type)

Doing

  • Bang head against more eth crypto stuff

TODO

  • Figure out how to handle the problem of having 2 of every eth related type in guac
  • find out why everyone does base64 decoding on the blockchain
  • exit geoip
  • think about 2 party “consensus protocols” for payment channel nonce synchronization

#27

Daily report 2018-05-06

Done

Doing

  • Eth transaction submission
  • configurable testnet/mainnet switch

TODO

  • get stuff upstream and make althea-types just reexport a bunch of stuff from parity/primitives
  • exit geoip
  • think about 2 party “consensus protocols” for payment channel nonce synchronization

#28

What do you want to use from parity/primitives? Their numbers don’t actually seem to be that well-suited to what we are doing (@ttk2- they are mostly about x86 optimizations right?) . Some of the other stuff like their byte arrays could be nice just to avoid conversions when calling their code, but i’d want to look at the tradeoffs of doing it their way (IIRC they use Vec’s, which are easier but also less strongly typed)


#29

Their numbers are based on byte arrays instead of bignums (which are vecs of bytes under the hood), and their binary representations are exactly what ethereum expects. They also have strongly typed eth specific types like private keys, which are basically exactly the same as our implementation except it is used throughout the whole parity “ecosystem”


#30

Am i wrong about their numbers being optimized for x86?


#31

Their numbers are more optimised by virtue of being stack allocated and specialised to their integer size, and they also have asm implementations for x86, but nothing in particular that makes it unoptimised for the architectures we will be using it in (mips, arm etc)


#32

actually @kindiana now that Jehan reminds me I remember checking the parity uint implementation out before writing our own. They didn’t seem to have general functions.

Yup just doubled checked, you added the convenience features to code with only x86 in line ASM options, no general purpose implementation. If you want to upstream something you could integrate our general purpose implementation and then use their tests, which we know should be correct.


#33

2018-05-07 Daily report

Done

  • Null

Doing

  • multiexits - renamed exit_client to current_exit and added the exits array, but this somehow broke some of the tests for me, spent time mostly debugging

TODO

  • Firmware
    • uci commit config mangling problem
    • Weird first-time setup issues
    • Ping flooding firewall rules
    • Hook up my n600 with the test exit
  • Rita
    • Traffic watcher unit tests - I plan to do this after multiexits so that I work on it with better knowledge of how we do accounting

#34

@drozdziak1 are you using vscode with rls? It made a world of difference for my ability to get things done in Rust. I was really resistant at first, but very happy I capitulated.