owned this note
owned this note
Published
Linked with GitHub
# 2019 Ethereum Python Summit
- When:
- June 17th - 21st 2019
- What:
- Confluence of Snake Charmers team, Python research team, and selected contributors to the Ethereum/Python ecosystem
- Where:
- Boulder CO, USA
## Attendees
Please add your name to this list
- Piper Merriam
- David Sanders
- Danny Ryan
- Jason Carver
- Hsiao-Wei Wang
- Nick Gheorghita
- Chih-Cheng Liang
- Kevin Mai-Hsuan Chia
- Nicholas Lin
- Brian Cloutier
- Keri Clowes
- Christoph Burgdorf
- Jannik Luhn
- Alex Stokes
## Important Locations
The Boulder Office
```
2525 Frontier Ave,
Boulder CO, 80303
```
https://duckduckgo.com/?q=2525+frontier+ave+boulder&t=h_&ia=maps&iaxm=maps
Piper's House:
```
7545 Eggleston Dr
Boulder CO, 80303
```
https://duckduckgo.com/?q=7545+eggleston+dr+boulder+80303&ia=maps&iaxm=maps
## Schedule
## Sunday
* *Evening*: Casual dinner @ ["The Rayback Collective"](https://therayback.com/) for anyone who's in town and wants to meet up. Coordinate via Telegram channel.
https://duckduckgo.com/?q=2775+Valmont+Rd%2C+Boulder%2C+CO&t=canonical&ia=maps&iaxm=maps
## Monday
Slow start (since people aren't here yet)
* 9-10 : Breakfast and Coffee
* 10: "How to deal with large PRs for discover work"
* 1030: David: Vyper
* 11: Danny: Eth2.0
* 12: lunch
* 13: Keri: starting from zero
* 1345: NickG: EthPM
* 1430: Piper: Ethpm + Web3.py + Vyper
* 1530: Piper: Swarm + Eth
## Tuesday (CONTENT)
* 9-10: Breakfast and Coffee
* 10: Piper: kickoff and introductions
* 1030: Christoph: Trinity architecture session. Plugins @ Lahja Event Bus
* 1130: Pipe: Effective code review
* 12: lunch
* 1330: [Jason: beam sync in trinity](https://docs.google.com/presentation/d/1C-qcNx4tigKo-pQsmwugvA4FKpYGIcsQIopLa96GsfY/edit?usp=sharing)
* 1430: Brian: Firehose
* 1530: Mhchia: Libp2p
* 1630: BLS Signatures
## Wednesday (Hack-day)
Spend the day making something in small teams of 2-4 people. We'll have dinner at the end of the day and take turns presenting what we made.
* 9-10 : Breakfast and Coffee
* 10-10:30 : Split into teams
* 10:30-12 : hack
* 12: lunch
* 12-19: hack
* 1830-?: dinner @ Piper's house
## Thursday
In-person architecture sessions.
* 9-10: Breakfast and Coffee
* 10-1030: jannik: Discovery V5
* 1030-11: Jason: The need for speed
* 11-12: Need for speed workshop.
* 12-2: Creek tubing and lunchtime
* 1730: acquire bikes, dinner @ wahoos fish tacos, cruiser ride
## Friday
* 9-10: Breakfast and Coffee
* 10-12: Architecture Sessions
##
## Content
### Future `Web3.py` Architecture
@piper & ???@keri???
The Python web3 library should be a platform that allows for extensions to be built on top of it. There are currently two of these internally.
- `ENS` support
- `py-ethpm`
Each of these has faced some troubles in trying to structure the code with respect to how they specify their dependency on `web3.py`
This session will cover the difficulties in developing Web3 extensions and a proposed structure to fix these difficulties.
### Trinity Architecture: Plugins + Lahja EventBus
@christoph
Over the past months Trinity has shifted towards an multi process architecture with a slim core and functionality mostly provided through plugins.
This session explains the reasoning behind this decision, the current state of the plugin support as well as future plans
In the second part of the talk we'll briefly learn about Lahja and its APIs as well as some future plans.
Length: ~35 min Plugins + 10 mins Lahja
### Docs Hack Sprint
@christoph
Our docs need some love. In this session we could get together to brainstorm and identify areas of the docs to improve. This may include generated API docs,
snippets for our cookbookes as well as bigger guides. The goal of this session wouldn't be to create merge ready content but to get everyone to the point
where they feel confident about contributing docs and open up some PRs with improvements that we can polish and drive home later.
This session is mainly focussed on Py-EVM / Trinity but does not exclude any of our other Python libraries.
### Production Ready Trinity
@piper & @carver & ??? (who wants to do this with me)
- Eth1.x - what's blocking this.
- Beacon chain...
(*Maybe this is more like a brainstorming session than a completed presentation?*)
### Beam Sync in Trinity: Redesigning Sync is faster that optimizing Python
@carver
How we plan to reduce sync to minutes, even in our slowpoke python. A quick review of Fast Sync, and an explanation of the new approach: Beam Sync. Talk about benefits and risks. Also review side-benefits like: cache hotness, and supporting a massive influx of new peers.
### But Sometimes We Needz Speedz: Optimizing high-variance workloads
@carver
How do you know you improved run time by 5% when each run varies by 10%? A quick look at a proportional measurement approach, with real impact. Plus, a scan of some changes we made recently, to double py-evm import block times.
### Python Concurrency: Migrating from `asyncio` to `trio`
@piper presenting
The concurrency story in Python is still quite young. We'll go over our history thus far with the standard library `asyncio` framework, the problems we've encountered, and then do an introduction to `trio`, the library we're migrating towards.
### Programmers have feelings too: Effective communication in code review
@piper presenting
As hard as we may try, it's hard to separate our feelings from our code. I'll share some things I've learned about giving feedback in code review. Communication strategies that help avoid bike-shedding, hurt feelings and defensiveness and ensure we can debate the merits of the code effectively.
### Bzzzzzzzzzzzz: Ethereum state over Swarm
@piper presenting
I'll tell you about a wild wonderland of data storage and the general plans for serving the ethereum state over the swarm network and how we let the two talk with each other.
### Discovery Version 5
@jannik presenting
Why do we need it, what does it do, and how does it work.
### Eth2
* **@ralexstokes**
* Beacon chain (high level)
* ~30 minutes?
* [Note](https://notes.ethereum.org/WwVY3EiUTBCymUk0mKQcdQ?view)
* **@hwwhww**
* `eth2.0-specs` guide (how to read it efficiently)
* ~10 minutes
* Validator lifecycle
* ~20 minutes
* **@chihchengliang**
* [BLS signature](/s/Hym_PKddV) ~20min
* **@mhchia**
* py-libp2p overview
* **@NIC619**
* client architecture and current trinity 2.0 implementation status ~20 minutes
### Reflections on starting from zero
@keri presenting
What it's like to start from scratch now, and how can we make onboarding devs easier/more accessible
### Why Fast Sync is slow, and how Firehose can help
**@lithp** presenting
Some reasons why it takes a few days to "fast" sync an ethereum node, and how Firehose aims to solve each of them.