Embark 4.0 (Alpha) - Enter the Cockpit

In order to explore uncharted territories, one needs the foundational support to ensure safe voyage. From launch to landing, idea to execution, and errors to corrections. Embark 4.0 (Alpha) delivers a suite of new tools and features including a brand new web UI dashboard that will serve as the ground control for Embark.

This control room is called Cockpit and makes developing, debugging, and deploying simpler, and easier for all Ethereum developers.

Here is a quick rundown of whats new, scroll down for a detailed tour:

Cockpit:

  • Web UI Dashboard
  • Granular logging for sub-processes (incl. geth and ipfs)
  • Console as a way to use javacript to interact with the DApp
  • Predictive commands
  • A brand new json preview

Blockchain explorer:

  • Not just an explorer but also accounts that your node controls.
    • Users can specify and drill down into individual accounts for more granular control
  • View all contracts deployed on-chain and interac with specific contracts for testing.
  • Works directly with deployed contracts as a way to modify and get data
  • Easy access to contract details such as ABI and bytecode
  • Logger - all transactions against the contract

Web based editor:

  • Edit files directly from within Cockpit
  • Live DApp preview within editor
  • Integrated contract debugger

Iterative deployment

A brand new deployment tool

  • Deploy multiple complex contracts into production safely
  • Full control over the entire process
  • Choice between using Embark or an injected web3 provider

Utils Beta: (Now easily accessible within cockpit)

  • Convert between ETH units / eth names (0.001 ETH = 1 Finney)
  • Whisper tester
  • ENS tester - look-up an address and resolve a name and register subdomains.
  • Decode and view all transaction details

Dashboard, Console and Predictive Commands

Cockpit aims to be your companion when it comes to building decentralized applications. At its core there's the dashboard which gives a great overview of all the processes that your Embark instance is connected to, such as the blockchain client, IPFS, and Whisper.

In addition, it comes with an interactive console that gives you updates about your application's build status and transactions from the connected blockchain client, in real-time! When we say "interactive", we mean it. Cockpit's console lets you execute typical Embark commands such as "help", as well as EmbarkJS APIs, which even render an interactive JSON tree view for easy object traversal.

Obviously, we don't stop there. As you type in commands, Cockpit tries to be helpful as much as it can and gives you command suggestions as well! We call this feature Predictive Commands.

Blockchain Explorer

Cockpit also comes with its own blockchain explorer that gives insights about all the data you'd expect, including blocks, transactions and your connected accounts. While that's already very useful, we took it to a new level and introduced a brand new way to analyze deployed instances of your Smart Contracts as well. Within the Contracts view, you can call its APIs, view the ABI and byte code, retrieve logs related to this contract, and use Cockpit’s new integrated debugger for testing.

Web-based Editor

Cockpit allows for making changes to your application's code using the integrated web editor. There's a lot to explore here, but let's focus on the most important parts first.

In case you're editing a Smart Contract file, Cockpit detects it and provides a Smart Contract view similar to the one of Cockpit's explorer. This provides the same functionality, like calling contract APIs right from within the web interface, analyzing ABI and byte code and using the integrated live debugger!

In addition to that, there's an integrated browser preview for your decentralized application, making it easy to quickly see your newly introduced changes.

Iterative deployment

When building Cockpit, we sat down and thought about how Embark can make developers lives even easier. We realized that there's is a lot of room for improvement when it comes to the deployment experience of Smart Contracts. So far this has been more like an "all or nothing" approach, giving developers headaches as there wasn't a way to selectively deploy individual Smart Contracts.

Cockpit has got you covered! With the brand new deployment panel, you can deploy single, or multiple Smart Contracts to production safely with full control over the process.

Utilities and more

If you've followed the last releases of Embark, you're probably aware that we've introduced several utilities in Embark that developers can take advantage of during development. Cockpit takes those to the next level by providing a web UI for utility tools such as an Ether converter, a Whisper tester, an ENS tester, a transaction decoder and a tool to sign and verify messages using Web3!

Obviously, this is just the start, we'll add more useful utilities based on our users feedback in the future.

Where to go from here?

We want to make developing decentralized applications as easy as possible, but for that we need your feedback! Go ahead, install the latest version of Embark, check out Cockpit and let us know what you think!

Start building DApps at https://embark.status.im/