Schlagwortarchiv für: Development

Graham McBain
 · 2 min read

Using Bubble.is and Portis.io

Photo by Kyle Hanson on Unsplash

Protocols like Compound Finance and DYDX are arguably the most compelling reasons why you’d want to build an app on Ethereum. Unfortunately the entire web3 stack is surrounded by a cloud of wonky terminology and technical barriers. This jargon minefield makes it next to impossible for the average Jane to get something up and running.

Until now

I’ve been working on an simple MVP Portis plugin that allows anyone to utilize these and other protocols with no programming knowledge. To do this I leveraged a platform called Bubble.is, a visual programming language with powerful workflow automation tools.

The first step in making this possible is integrating a wallet provider. I’m a big fan of Portis and integrating their wallet has proven to be very easy. All this took was a few evenings and emails to the team to talk about problems I ran into. This work has resulted in the first tool which lets a non developer create a Dapp, all in under 2 minutes. Weiterlesen

4 min read

👉 Get your FREE chapter of the Blockchain Developers Handbook…

This guide takes 3 minutes 33 seconds to read.

🤖 Programming Languages

Solidity is the main programming language for smart contracts, however there are other languages which will be useful depending on your usecase.

  • Solidity — Object Oriented High Level Language For Smart Contracts
  • Vyper — Pythonic Programming Language For Smart Contracts
  • JavaScript — High Level Interpreted Scripting Language
  • Python — Interpreted High Level General Purpose Programming Language
  • Go — The Language In Which Geth (Go-Ethereum) Client Is Written In
  • Rust — Language In Which The Parity Client Is Written In
  • Java — The Pantheon Client Is Written In Java
  • .NET — Intergrateable To The Ethereum Blockchain With Nethereum
  • C++ — Protocol Development With The Help Of Github /Aleth
  • Ruby — See How Ruby Is Used In Ethereum With Github /Ethereum.RB

Weiterlesen

So I’m not sure if this kind of development methodology has ever been applied to such an extreme before so I figured I’d document it. In a nutshell, it’s sort of like test-driven triplet-programming development.

While speed-developing our alpha codebase, four of us sat around a table in the office in Berlin. Three people (Vitalik, Jeff and me) each coders of their own clean-room implementation of the Ethereum protocol. The fourth was Christoph, our master of testing.

Our target was to have three fully compatible implementations as well as an unambiguous specification by the end of three days of substantial development. Over distance, this process normally takes a few weeks.

This time we needed to expedite it; our process was quite simple. First we discuss the various consensus-breaking changes and formally describe them as best we can. Then, individually we each crack on coding up the changes simultaneously, popping our heads up about possible clarifications to the specifications as needed. Meanwhile, Christoph devises and codes tests, populating the results either manually or with the farthest-ahead of the implementations (C++, generally :-P).

After a milestone’s worth of changes are coded up and the tests written, each clean-room implementation is tested against the common test data that Christoph compiled. Where issues are found, we debug in a group. So far, this has proved to be an effective way of producing well-tested code quickly, and perhaps more importantly, in delivering clear unambiguous formal specifications.

Are there any more examples of such techniques taken to the extreme?

The post The Ethereum Development Process appeared first on .