Home

Awesome

Electra Logo

Electra

Electra is a sovereign blockchain solution that enables local micro-grid to operate smoothly between trustless actors enabling a real circular economy based on the exchange of electricity units (kWh) through pre-purchased tokens.

More about Electra on its link tree.

The BlockChain based Micro-Grid Architecture

A micro-grid, is a local transport structure semi-isolated from the main transport backbone.

Electra Logo

BlockChain Meters, are the key element of the solution.

The Grid Gateway The grid gateway synchronizes the micro-grid and imports extra energy as needed. This gateway is the master node validating the blocks. In some cases the national grid gateway can export energy too should the microgrid and the regulation enables it.

Electra Logo

Responsible Disclosure

Send us an email to report any security related bugs or vulnerabilities at security@alkia.net

You can encrypt your email message using our public PGP key: Public key

Get started

electra is built using Cosmos SDK and Tendermint.

ignite chain serve

serve command installs dependencies, builds, initializes, and starts your Electra blockchain in development.

Configure

Your Electra blockchain in development can be configured with config.yml.

Test from CLI

To check the current cycle ID your Electra chain reached, run the following command:

electrad query meter currentcycle-id 

To prepare a bill:

electrad tx meter prepare-bill [cycle-id] [record]

Release

To release a new version of your Electra blockchain, create and push a new tag with v prefix. A new draft release with the configured targets will be created.

git tag v0.1.5
git push origin v0.1.5

After a draft release is created, make your final changes from the release page and publish it.

Code review format

Opening a pull request (PR) will automatically create Summary and Test plan fields in the description. In the summary, add a high-level summary of what the change entails. For pull requests that scaffold ignite code, include the ignite scaffold commands run.

Summary

Add summary of the pull request here (E.g. This pull request adds XYZ feature to the x/ABC module and associated unit tests.)

Unit tests

To run unit tests for the whole project, execute: make unit-test To run unit tests for a particular module (e.g. the meter module), execute: make unit-test path=meter To run unit tests for a particular package (e.g. the meter module), execute: make unit-test path=meter/types To inspect unit test coverage, execute: make test-cover

Install

To install the latest version of your Electra blockchain node's binary, execute the following command on your machine:

curl https://get.ignite.com/alkia/electra@latest! | sudo bash

alkia/electra are the username and repo_name of the Github repository to which the source code is pushed.

Edit /etc/security/limits.conf

$ ulimit -Sn 16384
$ ulimit -Hn 65536

Web Frontend

Electra has a Vue.js-based web app in the vue directory. Run the following commands to install dependencies and start the app:

cd vue
npm install
npm run serve

The frontend app is built using the @starport/vue and @starport/vuex packages.

Deploying an Electra node

To deploy a node on testnet-0 please follp the guide: Electra Node

Implementing the blockchain meter

Electra Logo

The smartmeter specs are under validation before first prototypes start moving to production.

Most Standard IEC energy meters will be upgradeable to blockchain meters using the rugged Electra blockchain appliance. The Electra blockchain appliance connects to legacy meters with its infrared data reading cable following IEC 62056 21 standard.

More on the IEC 62056 21 standard.

Testnets

Disclaimer | No Liability

This project is bleeding-edge and does not conform with Poetry package structure.

As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.

References

https://docs.tendermint.com/master/tendermint-core/validators.html https://hub.cosmos.network/master/validators/overview.html

Attribution

Electra is proud to be an open-source project, and we welcome all other projects to use our repo. We use modules from the cosmos-sdk and other open source projects.

We have ourselves used the following modules from fellow Cosmos projects. Big thank you to these projects!

We use the following modules from Osmosis provided under this License:

Learn more

Link tree QR

Done with love for a carbon free world