Open Source
Distributed Capabilities

Welcome to ERights.org, home of E,
the secure distributed pure-object platform
and p2p scripting language
for writing Capability-Based Smart Contracts.

[California Home]       [Secure Mirror in Virtual Tonga]

 

Quick Start for E Language Programming:

Download E 0.8.9 After reading the licenses, get your own copy of E. (All licenses are Mozilla or Mozilla compatible open source licenses.)

E in a Walnut

Marc Stiegler's draft tutorial book on E language programming.
Tutorial Additional useful introductory material.
Quick Reference Card Reminders of some useful patterns you've learned.
email Archive Browse the archive of E-Lang email list discussions.
An Ode to the Granovetter Diagram Also known as Capability-based Financial Instruments. Explains the rationale for E from lambda-calculus concepts up through Smart Contracts.

What's New?

Secure UI Draft Design

Miriam Walker & Ka-Ping Yee break important new ground: A secure graphical user interface for interacting with a general purpose secure platform.

Even more important: their seven principles of secure UI design!

Older News Highlights of "What's New?" past.

What is E?

E defines and implements a pure object model of secure distributed persistent computation. It has two parts:

ELib provides the stuff that goes on between objects.
As a pure-Java library, ELib provides for inter-process capability-secure distributed programming. Its cryptographic capability protocol enables mutually suspicious Java processes to cooperate safely, and its event-loop concurrency and message pipelining enable high performance deadlock free distributed pure-object computing.
The E Language can be used to express what happens within an object.
def alice {
    to doSomething() {
        bob foo(carol)
    }
}

The E language provides a convenient and familiar notation for the ELib computational model, so you can program in one model rather than two. Under the covers, this notation expands into Kernel-E, a minimalist lambda-language much like Scheme or Smalltalk.

Objects written in the E language are only able to interact with other objects according to ELib's semantics, enabling object granularity intra-process security, including the ability to safely run untrusted mobile code (such as caplets).


Smart Contracts: Patterns of Cooperation without Vulnerability

A contract is a mutually agreeable arrangement of rules among mutually suspicious parties so they may cooperate with limited risks to each other's mischief. It is a game both are willing to play because both expect to win.

A conventional contract is passive paper interpreted at great expense by lawyers and courts.

A smart contract is written in program code, in which the logic of the program's execution enforce the terms of the contract. Smart contracts reduce costs by orders of magnitude, leading to a more cooperative world.


History: Where does E come from?

Related Links


Feedback Please

       See this page as annotated by others, or annotate it yourself.
webmaster@erights.org To send me comments directly. Here's my public key.
Donations Please help support the E Project.
Click to see prices for this and other related domain names.