Ellipticoin is a Ethereum-like blockchain that's optimized for sustainability and developer happiness. Stakers run blacksmith nodes to form consensus on transactions on the network in return for staking rewards. This is the reference implementation of a blacksmith node written in Elixir and Rust.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
base_contracts Apply blocks from other nodes Feb 11, 2019
config
lib
native Apply blocks from other nodes Feb 11, 2019
priv Apply blocks from other nodes Feb 11, 2019
rel Hookup p2p communication Dec 18, 2018
staking_contract Refactor message passing Feb 12, 2019
test
.dockerignore Setup docker-compose Dec 6, 2018
.formatter.exs Initial commit Jan 19, 2018
.gitignore Apply blocks from other nodes Feb 11, 2019
Dockerfile
Makefile
README.md Configure Distillery for deployment Dec 11, 2018
create_transaction.ex Use RSA signatures instead of ECDSA for signature chain Jan 20, 2019
docker-compose.yml Setup docker-compose Dec 6, 2018
mix.exs
mix.lock Use HTTPotion over HTTPoison Feb 13, 2019
run_transaction.ex

README.md

Ellipticoin Blacksmith Node

Ellipticoin is a developer friendly scalable Ethereum side-chain. Blacksmith nodes forge transactions to keep the network secure. They are authenticated via proof of burn which has similar economic incentives to proof of work except instead of burning energy they burn tokens on the parent chain.

You can install the reference wallet to use the Ellipticoin network itself.

Running a Blacksmith Node:

Using docker-compose

  1. Clone the repo: git clone https://github.com/ellipticoin/ellipticoin-blacksmith-node && cd ellipticoin-blacksmith-node
  2. Install Docker
  3. Update ETHEREUM_PRIVATE_KEY in config/docker.env
  4. Run docker-compose up

From a binary release

  1. Create an Ubuntu 18.04 VPS/Droplet (or another type of VPS and create a PR!)
  2. Download the appropriate release for your system and extract it:
$ cd /usr/local
$ wget blacksmith.tar.gz
$ tar -xf blacksmith.tar.gz
$ rm blacksmith.tar.gz
  1. Run sh ./releases/0.1.0/commands/install_deps.sh to install the required dependencies.
  2. Allow all postgres connections from localhost:

Edit: /etc/postgresql/10/main/pg_hba.conf

Change the line:
local   all             postgres                                peer

to

local   all             postgres                                trust
  1. Restart postgres: sudo service postgresql restart

  2. Create the blacksmith's db: createdb -U postgres blacksmith

  3. Update ETHEREUM_PRIVATE_KEY and anything else you'd like to customize in /usr/local/etc/config.exs

  4. Run the blacksmith node in the forground to check if everything is set up correctly: blacksmith foreground

  5. If everything looks to be working you can kill the node and start it again in the background: blacksmith start

From Source

  1. Clone the repo: git clone https://github.com/ellipticoin/ellipticoin-blacksmith-node && cd ellipticoin-blacksmith-node
  2. Update ETHEREUM_PRIVATE_KEY and anything else you'd like to customize in config/dev.secret.exs and config/dev.exs
  3. Run: mix dep.get
  4. Run: mix run --no-halt