Giter Site home page Giter Site logo

eth-propeller-core's Introduction

Ethereum Propeller

CircleCI Codacy Badge Codacy Badge

Ethereum Framework for JVM developers

#Introduction The name Ethereum Propeller comes from the idea that this framework should give your project the push it needs to reach success.

The goal of this project is to give JVM developers the tools to build applications on top of Ethereum.

The main concepts behind Ethereum propeller are:

  • Ethereum abstraction & easy integration. It should feel natural to work with ethereum and especially to work with smart contracts. The code should never be written for a particular backend, it should work regardless of your application working with RPC or an embedded client.
  • Ethereum testing. Testing is crucial for smart contracts. Any bug can be fatal and that's why writing tests should be easy
  • Type safety. Types are here to help developers write better code and can be used to sanitize inputs and document interfaces.

This is the core library for Ethereum Propeller. You still need to decide which backend you want to use. There are two possibilities right now:

  • If you want to use Ethereumj with a embedded full node, go to eth-propeller-ethj
  • If you want to use web3j to connect to a remote RPC API, go to eth-propeller-core

#getting started

Add the dependency

<dependency>
    <groupId>org.adridadou</groupId>
    <artifactId>eth-propeller-{ethj or core}</artifactId>
    <version>{latest version}</version>
</dependency>

Simply add the backend you want to use as a dependency. Right you, have the choice between ethereumj (ethj) and web3j

Create an EthereumFacade Each backend has its own EthereumFacadeProvider

  • RpcEthereumFacadeProvider for web3j
  • EthjEthereumFacadeProvider for ethereumj

Quick introduction to EthereumFacade EthereumFacade is your interface to Ethereum. This is how you interact with it:

  • Compile & deploy a smart contract
  • Send ether
  • Listen to Ethereum events (new block, new transactions)
  • Listen to Smart contract events
  • Interface with a smart contract

#Testing In order to run unit tests on a mocked Ethereum network, please use eth-propeller-ethj and create a test

Note: Ethereumj's license is LPGL3. So make sure that your license is compatible with LPGL3 if you want to use ethereumJ for something else than testing

eth-propeller-core's People

Contributors

adridadou avatar eschouten avatar fforbeck avatar penait1 avatar

Watchers

 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.