playlists / Developer Onboarding
Getting started in the Web3 ecosystem can be intimidating and it's not always clear where to begin. This playlist will cover some of the fundamental concepts, tools, frameworks and best practices to help you get started to build on Ethereum.
Ethereum for Dummies
Ethereum's CTO Dr. Gavin Wood presents "Ethereum for Dummies" or "So, now we've built it, WTF is it?"
Gavin Wood
IPFS
A look into using IPFS with Juan Batiz-Benet to distribute datastructures for various Ethereum use cases, from off-chain data, to the chain itself. IPFS A look into using IPFS to distribute datastructures for various Ethereum use cases, from off-chain data, to the chain itself. About Juan Batiz-Benet Juan Benet invented IPFS, and Filecoin. He is also the founder of Protocol Labs.
Juan Batiz-Benet
Tokens
Simon de la Rouviere of ConsenSys presents on tokens and standards on the Ethereum blockchain.
Simon de la Rouviere
Contributing to Ethereum and Open-Source
The Ethereum community is an open source community. We rely on implementations of an open protocol, open tools built to interface with these implementations, and ultimately open source dApps and contracts that live on top. Without a healthy ecosystem of open source developers, Ethereum is nothing. That said, contributing to open source can sometimes feel intimidating, and it's not always clear how to get started. Fortunately, it is actually easy in the Ethereum community! Everything is growing and changing so much. There is so much to do and to build, and there are a ton of great ways to get started. This talk will help demystify contributing to Ethereum and open-source in general.
Danny Ryan
ethers.js - A Complete and Compact Ethereum Library
The ethers.js library, which has received a DevEx Grant from the Ethereum Foundation is an Ethereum library designed to be complete, while remaining small, flexible and secure. By creating a library which abstracts many of the features available in the Ethereum eco-system to a collection of lowest-common denominator objects, developers can focus on the aspects they care about for their application without having to take into account the type of signer (a geth node? a hardware wallet? a multi-sig contract) or the provider back-end (geth? parity? INFURA? Etherscan?).
Richard Moore
Live Smart Contract Hacking
In this break-out session, a panel of well-renowned hackers and builders will perform security assessments of contracts that the audience submits - and anyone in the room is highly encouraged to help out and take part in the audit. There will not be time to perform full-scale reviews, but the panel will discuss the contracts both from a high-level perspective and also dive into the nitty gritty details, to see if we can find faults in the implementation. This is a panel session, where we want to interact with the community and bash as many bugs as possible, and hopefully demonstrate how tricky it can be to program for the EVM. Mistakes are what makes us learn: There shall be no shaming of anyone who submits a contract for review.
Martin Holst Swende, Nick Johnson, Richard Moore, Matthew Di Ferrante
Managing upgradeability and EVM packages
At Zeppelin, we have been working on a toolset for deploying and managing upgradeable smart contracts and on-chain libraries, we have had the opportunity to collaborate with other teams to gather better understanding on their needs. We have also onboarded several projects to share their code on-chain via a common package registry. We are building an open source tool that offers the best possible developer experience for securely managing smart contract applications. In this talk we will revisit the importance of upgradeability in smart contracts security, present the lessons learned from this semester of usage, and share the work we have been doing as a result.
Facundo Spagnuolo
Reversing Ethereum Smart Contracts to find out what's behind EVM bytecode
Reverse engineering is a common technique used by security researcher to understand and analyze the behavior of closed-source binaries. If you apply this to Ethereum smart contract (and more specifically on the EVM bytecode), thats allow you to analyze and verify the result of your Solidity source code compilation. From a developer point of view, it can save you a lot of time and money if you succeed to detect flaws and missing bytecode optimization. Also, providing the Solidity source code it's not mandatory during the smart contract creation, that’s why being able to directly reverse the EVM bytecode make even more sense if you want to understand the behavior of external smart contracts.
Patrick Ventuzelo
Demystifying libp2p gossipsub: a scalable and extensible p2p gossip protocol
ETH2.0 is evaluating libp2p gossipsub as a decentralized, peer-to-peer publish/subscribe mechanism for validators, proposers and attesters to quickly disseminate data throughout the entire network. This talk covers the technical design, tradeoffs and functionality of gossipsub, aiming to deliver foundational knowledge to everyone interested in learning more about this potential building block of the ETH2.0 network. Gossipsub was incubated in the libp2p project as a replacement for the naïve floodsub pubsub router (which simply broadcasts messages to all peers we know are interested in a topic). It maintains stable reciprocal meshes via explicit link grafting, while preserving random gossip to disseminate metadata, and to provide cues to aid message deliverability. It also features a piggybacking algorithm to minimise the overhead of control messages; allows developers to attach custom per-topic validator functions; and more. Come to learn more about how gossipsub works, and to hear about the state of the art of p2p pubsub protocols!
Raúl Kripalani
How ENS is taking Ethereum to the rest of the Internet
ENS is forming a bridge connecting the Ethereum and legacy Internet communities. We are doing this with DNS domain integration; support for other cryptocurrency addresses; resolution for IPFS and Tor .onion addresses; working on securing a new DNS record type for Ethereum addresses; relationships with ICANN, IETF, et al; and working on support for DNS records and other cryptocurrency addresses. This helps to further entrench ENS and therefore Ethereum as a basic piece of Internet infrastructure, used widely by people whether they are a part of the blockchain community or not.
Brantly Millegan
Overcoming the smart contract size limit
EIP 170 introduced a limit of 24KB on bytecode size of smart contracts in Ethereum. This talk will explain the rationale behind the decision and then talk about overcoming or playing around the limit. The talk will cover ways like proxy patterns and libraries for working around the limit. Tips on optimizing code for reducing bytecode size will also be shared. The talk will then explain new proposals for removing the contract size limit while still fixing the original problem.
Mudit Gupta
Practical design patterns for DApp developers
Used to building apps in Python or Ruby on Rails, but new to blockchain? This talk is aimed at experienced developers who are new to Ethereum. My goal is to give developers practical frameworks for architecting their decentralized applications, that will minimize gas costs, reduce the attack surface and simplify upgrades. Decentralized applications require a new way of thinking. I want to share some templates for developers who are making the jump to decentralized applications and aren't familiar with the quirks and limitation of the Ethereum EVM. We will look at the following Solidity design patterns: Approve and call Factory contracts Proxy contracts Name registry Upgradability As well as ways to reduce gas costs without compromising on security, including: Event sourcing Using IPFS effectively Building decentralized applications is hard. The stakes are high and there are a lot of ways to get things wrong. Mistakes can be expensive, either from security losses or high gas costs. I’m looking forward to sharing some of the lessons Origin’s engineering team has learned over the past two years building peer-to-peer marketplaces on top of Ethereum.
Josh Fraser
Towards Eth2 Developer Tooling
Gregory Markou gives his talk on Eth2 Developer Tooling.
Gregory Markou
Complex Dapps and Updating Them
This presentation by Joey Krug of Augur, will show how Augur has setup its contracts such that the business and storage logic are separate. Joey will go over different ways to upgrade contracts (as well as the way they’re settled on), and discuss why Augur thinks this separation of data and logic should be the pattern going forward for larger sets of contracts as it enables easier upgrade and bug fixing paths.
Joey Krug
Ethereum in 25 Minutes
Ethereum Foundation Chief Scientist, Vitalik Buterin, describes Ethereum.
Vitalik Buterin
Solidity for Dummies
We will explore the basics of the Solidity contract language using examples.
Hudson Jameson, Piper Merriam
Anatomy of an Ethereum Client
The overview of the building blocks of an Ethereum client: what any client implementation should have. A practical perspective on how Ethereum works under the hood.
Andrei Maiboroda
Ethereum for Python Developers
Everything you need to know to get started with Ethereum with Python.
Piper Merriam
Real-World Smart Contract Development Lessons
Smart contract development tips you won’t find in the Solidity docs, from low level coding patterns to high level leadership skills. Raine Revere describes the techniques of central logging, modular libraries, arbitration, role analysis, context dependence, and skilled leadership in a talk for experienced and aspiring smart contract developers alike.
Raine Revere