Git Product home page Git Product logo

epirus-local's Introduction

Build Status codecov Join the chat at https://gitter.im/web3j/web3j

Epirus-local

Epirus-local is a local ethereum client, similar to what Ganache provides, written in Kotlin.

This project relies on web3-evm to execute user requests.

Features

  • Allows json-rpc interactions with a local ethereum blockchain.
  • Generates a default genesis file containing 10 ethereum accounts or lets you use your own genesis.
  • Provides a CLI to run the client.
  • Handles these operations:
    • eth_blockNumber
    • eth_getTransactionCount
    • eth_getBalance
    • eth_sendTransaction
    • eth_sendRawTransaction
    • eth_estimateGas
    • eth_getBlockTransactionCountByHash
    • eth_getBlockTransactionCountByNumber
    • eth_getTransactionReceipt
    • eth_getCode
    • eth_call

Getting started

git clone https://github.com/epirus-io/epirus-local && cd epirus-local

./gradlew installDist

Run in Linux:

build/install/epirus-local/bin/epirus-local [command]

Run in Windows

build\install\epirus-local\bin\epirus-local.bat [command]

Start the client

epirus-local start -d=/path/to/directory -p=9090

This command generates a new genesis file with 10 accounts filled with 100 ether.

start command

Load from previous configuration

epirus-local load -g=/path/to/genesis

This command loads a pre-existing genesis-file from a certain path.

load command

Send requests

Example of a request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{
  "from": "0x8f496c16955a7bb9b5e1ea0383d01f87372ab520",
  "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
  "gas": "0x76c0", 
  "gasPrice": "0x9184e72a000", 
  "value": "0x9184e72a",
  "nonce": "0x1"
}],"id":1}' host:port
Example of a response
{"id" : 1, "jsonrpc" : "2.0", "result" : "0xc631caa67cab48ead77a58321bbb0c76f4060751a4bb3d5b45b99c4a68b1a7b7"}

For more information about the requests, check out the Ethereum json-rpc api.

epirus-local's People

Contributors

cfelde avatar iikirilov avatar sweexordious 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.