devcon 3 / ethereum protocol testing
Duration: 00:12:09
Speaker: Dimitry Khokhlov
Type: Talk
Expertise: Advanced
Event: Devcon
Date: Invalid Date
Categories
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.
Lessons Learned From Phase 0 Testnets
Preston Van Loon discusses lessons learned from Phase 0 testnets.
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.
Testing Ethereum Consensus
Ethereum tests overview and integration instructions for client developers.
USCC – The Underhanded Solidity Coding Contest
João Gabriel Carvalho, Richard Moore, Martin Swende, Nick Johnson discuss USCC – The Underhanded Solidity Coding Contest
Farcaster frames: building embeddable Ethereum apps
Frames are an open standard for creating embeddable, interactive apps in social media feeds and on the web. They help solve one of the hardest problems for Ethereum dapp developers: distribution. Although frames originated on Farcaster, it's now possible to build cross-platform frames that work on Farcaster, Lens, XMTP, and the open web. In this hands on workshop we'll introduce the core concepts behind frames and build a simple frame app that interacts with a smart contract.
Keynote: Nomic Foundation’s vision for Ethereum’s tooling ecosystem
Nomic Foundation is the nonprofit behind Hardhat. Nomic’s co-founder and CTO will walk you through Nomic’s long-term vision for a community-driven developer tooling ecosystem for Ethereum.
Blockchain Model Canvas
Blockchain Model Canvas