explaingit

embarklabs/embark

3,773JavaScriptAudience · developerComplexity · 4/5Setup · hard

TLDR

Embark is an archived JavaScript framework for building serverless decentralized apps on Ethereum and IPFS. It automates smart contract deployment and wires everything into your JavaScript code automatically.

Mindmap

mindmap
  root((repo))
    What it does
      Auto-deploy contracts
      File storage IPFS
      P2P messaging
      DApp scaffolding
    Tech stack
      JavaScript
      Ethereum
      IPFS Swarm
      Webpack Gulp
    Use cases
      Blockchain apps
      Decentralized storage
      Serverless DApps
    Audience
      Web developers
      Blockchain devs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a web app that stores files on IPFS instead of a traditional server

USE CASE 2

Deploy Ethereum smart contracts automatically and call them from JavaScript

USE CASE 3

Create peer-to-peer messaging in a web app without a central chat server

Tech stack

JavaScriptEthereumIPFSSwarmWhisperwebpack

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a running Ethereum node or testnet connection, project is archived so dependencies may be outdated.

In plain English

Embark is a JavaScript framework for building and deploying decentralized applications, which the project calls DApps. A DApp is a web application that runs without a central server, storing logic and data on systems like the Ethereum blockchain or distributed file networks. Embark handles the repetitive parts of this workflow so developers can focus on writing application code rather than deployment scripts. The framework automatically deploys your smart contracts (programs that run on the Ethereum blockchain) and makes them available inside your JavaScript code as Promises. If you update a contract, Embark redeploys it without any manual steps. It also tracks which contracts have already been deployed to avoid unnecessary redeployments, and it can manage complex groups of contracts that depend on one another. Beyond Ethereum, Embark integrates with decentralized storage networks. Using IPFS or Swarm, you can store and retrieve files, or deploy your entire front-end application so it runs without traditional web hosting. For messaging, it supports Whisper and Orbit, letting users send messages between each other without a central server in the middle. On the front-end side, Embark works with any web technology, including React, and with common build tools like webpack, grunt, and gulp. You install it globally with npm, then use it to create, build, test, and deploy your project. The documentation lives at framework.embarklabs.io, though the project has been archived and is no longer actively maintained. If you were exploring blockchain development at the time it was active, Embark was one of the broader DApp frameworks available, covering Ethereum, IPFS, Swarm, and decentralized communication in a single tool.

Copy-paste prompts

Prompt 1
Using Embark, show me how to deploy an Ethereum smart contract and call it from JavaScript in the browser
Prompt 2
How do I configure Embark to store my app's files on IPFS and deploy the front-end to Swarm?
Prompt 3
Write an Embark config that manages two interdependent smart contracts and redeploys them on code changes
Prompt 4
How do I set up Whisper messaging in an Embark DApp so two users can send messages without a server?
Open on GitHub → Explain another repo

← embarklabs on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.