devcon 3 / uscc the underhanded solidity coding contest
Duration: 00:25:49
Speaker: João Gabriel Carvalho, Martin Swende, Nick Johnson, Richard Moore
Type: Panel
Expertise: Advanced
Event: Devcon
Date: Invalid Date
Categories
Ethereum Protocol Testing
Dimitry Khokhlov gives their talk titled, "Ethereum Protocol Testing"
Towards a Permanent ENS Registrar
Nick Johnson gives their talk titled, "Towards a Permanent ENS Registrar"
ethers.js - A Complete, Simple and Tiny Ethereum Library in JavaScript
The ethers.js library provides a complete, easy-to-use JavaScript library for developers to create dapp frontends and backends, Ethereum frameworks, tools and wallets.It provides all the APIs and utilities needed to query and connect safely and securely (optionally infrastructure-free) to a variety of backends, create JavaScript objects representations of smart contracts and their state, sign and manage transactions and format content for display logic and parse user input.This talk will quickly cover many of these features, provide examples of common tasks, and demonstrate a few less-obviously-dangerous, but easy-to-make mistakes (with solutions).
Make the tests feel the user's pain - E2E testing for DApps
With the move from protocol development to more user-focused products, the decentralized applications are in a stage where frontend testing is not an easy task due to the lack of tools and experience in the field of Web3. Protocols have strong testing and auditing, but their user-facing apps lack a simple way to do so. In this workshop, we aim to explain how to start focusing on the user and ensure that they get what we expect even when the chain behaves unexpectedly. The main things that we will touch in the workshop will be: - Classic E2E tools (Puppeteer and Cypress) - Why they don't work the same way in DApps - How to use them with Web3 injectors like Metamask and connect to different testnets - What are the key pieces to test The workshop will start with a bit more of theory around testing and then we will move to a practical exercise where we will set up the architecture needed to properly test our decentralized app.
Testing DApps with Realistic Web3 Mocking
I will demonstrate using a Web3 Mock for UI testing of DApps. It can be difficult to test with actual transactions between the frontend and blockchain. This is because transactions must be signed by a private key, but UI testing frameworks cannot interact with Web3 providers to do so. A Web3 Mock solves this problem by signing transactions with a private key automatically and sending them to the blockchain. This offers developers better experiences writing blockchain apps. It uses open source technology and is compatible with a range of blockchain development environments including Ganache, PoA, and remote APIs like Infura. It is integrated with the popular TestCafe platform to perform full end-to-end DApp testing.
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?).
Lessons Learned From Phase 0 Testnets
Preston Van Loon discusses lessons learned from Phase 0 testnets.
Ethers: What's New in v6?
Just a quick overview of some of the new APIs and features of Ethers introduced in v6, including Typed-Values, more-flexible Contract interaction and Layer 2 enhancements.
Post-Merge Testnets
The merge of the beacon-chain consensus layer with the EVM execution layer is a major milestone for Ethereum, if not the most significant. The changes introduced are also affecting testing infrastructure. It's an excellent opportunity to look at the public testnet infrastructure, compare the various networks, and present the Sepolia and Goerli testnets to teams and developers still relying on Kovan, Rinkeby, or Ropsten.
Smart-contract Testing Using Waffle Framework
Let’s learn how to effectively and easily write TypeScript smart contracts tests suites. We’re going to explore how to create a testing environment, execute transactions, assert balances, state and event emissions. This is going to be the place where developer experience and smart contract security truly meet.