Code Monkey home page Code Monkey logo

ethereum-harmony's Introduction

Slack Status

Ethereum Harmony

Ethereum network private peer. Based on EthereumJ implementation.

Ethereum Harmony Demo

Smart contract trace sample:

https://www.youtube.com/watch?v=leaAMTgjvxg

Features:

  • Ethereum peer JSON-RPC 2.0 standard ;

  • Keeping private keys in filesystem keystore compatible with go-ethereum;

  • In Browser command line terminal;

  • Blockchain canonical tracing;

  • Monitoring peers connectivity;

  • Easy go Ethereum wallet;

  • Full trace of contract storage locally;

.

Prerequisites Installed:

  • Java 8 (64 bit)

.

Run

  • git clone https://github.com/ether-camp/ethereum-harmony
  • cd ethereum-harmony
  • Run Service: gradlew runMain ( live network by default or any other environment )

Navigate to web view http://localhost:8080 JSON-RPC is available at either http://localhost:8545/rpc or http://localhost:8545

In order to provide ability to disable unneeded features, any of app modules could be disabled: web, contracts, rpc. Check configuration for more info.

Run RPC only: gradlew runMain -PrpcOnly

(*) Use gradlew runMain -Dserver.port=9999 option to change web interface port number.

.

Command line options

Environment Run ...
Main gradlew runMain Start server connecting to Main network
Ropsten gradlew runRopsten Start server connecting to Ropsten network
Classic gradlew runClassic Start server connecting to Ethereum Classic network
Private gradlew runPrivate Start server, no network connection, single miner running
Custom gradlew runCustom Start server connecting to custom network (check custom network)

.

Run in a custom network

  • git clone https://github.com/ether-camp/ethereum-harmony
  • cd ethereum-harmony
  • Run Service with custom config:
gradlew runCustom -Dethereumj.conf.file=/path/to/custom.conf
  • It is also possible to use CLI to pass parameters:
gradlew runCustom -Dpeer.networkId=10101 -DgenesisFile=/path/to/custom/genesis.json -Dpeer.discovery.enabled=false -Dpeer.active.0.url=enode://0f4a5f92835a4604ecd9639ddcfb86d2a2999ad9328bc088452efffe4a7c6cd0eaaef77c779dc56fc1d0f21cd578eeb92cb5@23.101.151.28:30303

Note: parameters that haven't been substituted by either custom config or CLI will be supplied from ethereumj.conf

Custom config file format

Format of the file should be the same as of ethereumj.conf. It also works to specify only necessary config parameters.

An example:

genesisFile = /path/to/custom/genesis.json
database.dir = database-private

peer {
  networkId = 10101
  listen.port = 50505

  discovery.enabled = false
  active = [
    {url = "enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303"}
    {url = "enode://20c9ad97c081d63397d7b685a412227a40e23c8bdc6688c6f37e97cfbc22d2b4d1db1510d8f61e6a8866ad7f0e17c02b14182d37ea7c3c8b9c2683aeb6b733a1@52.169.14.227:30303"}
  ]
}

sync.fast.enabled = false

If you run Harmony without using Gradle, add -Dethereumj.conf.res=harmony.conf to command line, so Harmony properties will be applied to system context too.
If you use some custom resource file as config, just add -Dethereumj.conf.res=harmony.conf,custom.conf to java exec command so both will be applied.

.

.

.

Development

Check Development troubleshooting

Special thanks

Powered by multi-platform installer builder

License

๐Ÿ“œ ... License GPL 3.0

ethereum-harmony's People

Contributors

cupuyc avatar zilm13 avatar mkalinin avatar romanman avatar nashatyrev avatar tbocek avatar mysticryuujin avatar neurone avatar migwel avatar feiqihang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.