Top Banner
The IDE: “Mix” What and Why
17
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The Ethereum ÐApp IDE: Mix

The IDE: “Mix”

What and Why

Page 2: The Ethereum ÐApp IDE: Mix

Problem

Writing software is hard, but...

We have processes (e.g. Kanban, Unit testing)We have services (e.g. Github)

We have technology (e.g. Git, debuggers)

Page 3: The Ethereum ÐApp IDE: Mix

Problem

Writing ÐApps is hard.

Diverse debugging env (eth, shh, bzz, more?)Different languages (Solidity, JS, …)

Page 4: The Ethereum ÐApp IDE: Mix

What’s Happening?

Page 5: The Ethereum ÐApp IDE: Mix

What’s Happening

The many protocols

Ethereum...need to debug with blockchain in specific state

Whisper...need to debug with Whisper having particular messages available

Swarm...need to debug with Swarm having particular data available

Page 6: The Ethereum ÐApp IDE: Mix

Integration, integration, integration!

Solution?

Page 7: The Ethereum ÐApp IDE: Mix
Page 8: The Ethereum ÐApp IDE: Mix
Page 9: The Ethereum ÐApp IDE: Mix
Page 10: The Ethereum ÐApp IDE: Mix
Page 11: The Ethereum ÐApp IDE: Mix

Documentation

integration... for as-you-write documentation health

and preview

Page 12: The Ethereum ÐApp IDE: Mix

Test integration...for as-you-write information on tests passed and reasons for failures

Page 13: The Ethereum ÐApp IDE: Mix

Compiler integration...for as-you-write information on code

health, valid invariants, code structure

and canonical code formatting

Debugger integration...for as-you-debug annotation on

variable values and assertion truth

.

Page 14: The Ethereum ÐApp IDE: Mix

State integration...allow testing and debugging with arbitrary

State(s)/Blockchain(s)

Transaction integration...for testing & debugging particular method

combinations

Blockchain/Swarm

integration...one-step deploy

Page 15: The Ethereum ÐApp IDE: Mix

Git integration...for TODOs, undo stack, time management

Contract repo integration...for external contract usage and documentation rendering

Page 16: The Ethereum ÐApp IDE: Mix

Github repo integration...for file/resource management, distribution

Github issue integration...for task/feature/project management, collaboration

Page 17: The Ethereum ÐApp IDE: Mix

The IDE: MixWhat and Why

Questions