Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Initial commit Jun 4, 2019
README.md Add reference to Docker Deployment page (#4) Jun 10, 2019

README.md

Origin

Origin is a set of toolkits that together provide a system for issuance and management of Energy Attribute Certificates (EACs). This repository is an entry point to Origin systems. It has a goal of explaining briefly the whole system and providing you with insight and info where to explore next.

Table of Contents

Energy Attribute Certificates

Energy Attribute Certificates, or EACs, is an official document which guarantees that produced energy comes from a renewable source. There are different standards that regulate how data is stored and validated. In Europe, this document is called Guarantee of Origin (GO), in North America, it's called Renewable Energy Certificate (REC), and in parts of Asia, Africa, the Middle East, and Latin America governing standard is International REC (I-REC). Standards do vary, but they all share the same core principles.

The main purpose of EACs is to act as an accounting vehicle to prove that consumed energy came from a renewable source. EACs are mostly used to address sustainability reports regarding Scope 2 emissions.

How does it work

Brief description of how it works from reading data in the real world to trading and retiring certificates. Links to learn more

Key modules and components

Overview of architecture

Key repositories

This section lists key entry points to start your journey with Origin.

  1. ew-utils-demo - demo repository with build scripts that enable easy deployment of smart contracts to Tobalaba or local blockchain. Often used to demo and get to know features and capabilities of Origin.
  2. ew-utils-testbackend - Origin combines on and off-chain data storage. This repository is used to act as a backend service for off-chain data storage. You'll need this to run ew-utils-demo (store data), and ew-origin-ui to display stored data.
  3. ew-origin-ui - frontend of the system needed to view data stored in smart contracts (on-chain) and in the backend (off-chain). To interact Origin frontend you'll need MetaMask.

Other components

  1. ew-user-registry-lib - high-level library to interact with user registry. Can be used to i. a. create new user or set user's role in the system.
  2. ew-asset-registry-lib - high-level library for creating and managing electricity producing and consuming assets. Depends on ew-user-registry-lib, because only user with Asset Manager role can be owner of asset.
  3. ew-origin-lib - a heart of Origin systems, contains logic for storing and transferring Energy Attribute Certificates (as a form of unique ERC721 tokens). This library also has a more general construct called TradeableEntity that can be used to wrap, as name suggests, other tradeable entities, such as Power Purchase Agreements or certificate bundles.
  4. ew-market-lib - a library that allows to create demand (for buyers), supply (for sellers) and agreements between buyers and sellers.
  5. ew-market-matcher - the most important part of marketplace, guarantees automatic matching of supply and demand between sellers and buyers. Matching rules can be highly customized and afterwards the algorithm can be tested by running matching simulator.
  6. ew-erc-test-contracts - Test ERC20 token for demo purposes, especially for doing an on-chain test purchase of a certificate using tokens
  7. ew-utils-general-lib - Contains logic for more straightforward interaction with contracts, such as watching events. It is also a base layer for other libraries to build upon. It provides a foundation for things like off-chain data storage that is universal for all entities.

Where to start

Explain where our demo is and what's the purpose of running a demo. Identify Origin team and ways how to connect with them

Deployment

For deployment instructions please refer to Docker Deployment wiki page.

You can’t perform that action at this time.