All Projects → web3labs → Erc20 Rest Service

web3labs / Erc20 Rest Service

ERC-20 token standard RESTful service using Spring Boot and web3j

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Erc20 Rest Service

Web3j Spring Boot Starter
Spring Boot Starter for web3j
Stars: ✭ 140 (-6.67%)
Mutual labels:  blockchain, ethereum, spring-boot, spring
Blockchain
A simple implementation of blockchain in java
Stars: ✭ 201 (+34%)
Mutual labels:  rest, blockchain, spring-boot
Spring Microservice Sample
Spring Boot based Mircoservice sample
Stars: ✭ 199 (+32.67%)
Mutual labels:  rest, spring-boot, spring
Spring Boot Postgresql Jpa Hibernate Rest Api Demo
Building RESTful APIs with Spring Boot, PostgreSQL, JPA and Hibernate
Stars: ✭ 209 (+39.33%)
Mutual labels:  rest, spring-boot, spring
Mastering Junit5
A comprehensive collection of test examples created with JUnit 5
Stars: ✭ 223 (+48.67%)
Mutual labels:  rest, spring-boot, spring
Java Interview
At the beginning, it was the repository with questions from Java interviews. Currently, it's more like knowledge base with useful links.
Stars: ✭ 114 (-24%)
Mutual labels:  rest, spring-boot, spring
Spring Boot File Upload Download Rest Api Example
Spring Boot File Upload / Download Rest API Example
Stars: ✭ 300 (+100%)
Mutual labels:  rest, spring-boot, spring
Cerberus
A demonstration of a completely stateless and RESTful token-based authorization system using JSON Web Tokens (JWT) and Spring Security.
Stars: ✭ 482 (+221.33%)
Mutual labels:  rest, spring-boot, spring
Angularjs Springmvc Sample Boot
A RESTful sample using Spring Boot, Spring MVC, Spring Data and Angular/Bootstrap.
Stars: ✭ 309 (+106%)
Mutual labels:  rest, spring-boot, spring
Micro Server
Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.
Stars: ✭ 929 (+519.33%)
Mutual labels:  rest, spring-boot, spring
Gemini
Model Driven REST framework to automatically generate CRUD APIs
Stars: ✭ 138 (-8%)
Mutual labels:  rest, spring-boot, spring
Blockchainbooks.github.io
Blockchain Books
Stars: ✭ 139 (-7.33%)
Mutual labels:  blockchain, ethereum
Uport Credentials
Library for integrating uPort into node server side applications
Stars: ✭ 140 (-6.67%)
Mutual labels:  blockchain, ethereum
Ebtc
eBitcoin (eBTC) is an ERC20 token. Its primary utility is to provide an easy & fast payment solution. Its edge over other tokens is that it is capable of sending up to 255 payments in a single transaction.
Stars: ✭ 149 (-0.67%)
Mutual labels:  blockchain, ethereum
My Token
📈Track token prices of your favorite exchanges in terminal!
Stars: ✭ 141 (-6%)
Mutual labels:  blockchain, ethereum
Alpha Wallet Ios
An advanced Ethereum mobile wallet
Stars: ✭ 140 (-6.67%)
Mutual labels:  blockchain, ethereum
Peatiocryptoexchange
An open-source Crypto-Currency exchange. Peatio v3.0 Coming Soon !
Stars: ✭ 141 (-6%)
Mutual labels:  blockchain, ethereum
Isotope Mail
Isotope Mail Client
Stars: ✭ 147 (-2%)
Mutual labels:  spring-boot, spring
Sivalabs Blog Samples Code
Code samples for my blog posts on https://sivalabs.in
Stars: ✭ 139 (-7.33%)
Mutual labels:  spring-boot, spring
Spring
Spring integration for Vaadin
Stars: ✭ 141 (-6%)
Mutual labels:  spring-boot, spring

ERC-20 RESTful service

This application provides a RESTful service for creating and managing ERC-20 tokens. It has been built using Spring Boot, and web3j.

It works with both Geth, Parity, and Quorum.

For Quorum, the RESTful semantics are identical, with the exception that if you wish to create a private transaction, you populate a HTTP header name privateFor with a comma-separated list of public keys

Build

To build a runnable jar file:

./gradlew clean build

Run

Using Java 1.8+:

java -jar build/libs/azure-demo-0.1.jar 

By default the application will log to a file named erc20-web3j.log.

Configuration

The following default properties are used in the application:

# Port for service to bind to
port=8080
# Log file path and name
logging.file=logs/erc20-rest-service.log

# Endpoint of an Ethereum or Quorum node we wish to use. 
# To use IPC simply provide a file path to the socket, such as /path/to/geth.ipc
nodeEndpoint=http://localhost:22000
# The Ethereum or Quorum address we wish to use when transacting.
# Note - this address must be already unlocked in the client
fromAddress=0xed9d02e382b34818e88b88a309c7fe71e65f419d

You can override any of these properties by creating a file name application.properties in the root directory of your application, or in config/application.properties relative to your root. If you'd rather use yaml, simply change the filename to application.yml.

Usage

All available application endpoints are documented using Swagger.

You can view the Swagger UI at http://localhost:8080/swagger-ui.html. From here you can perform all POST and GET requests easily to facilitate deployment of, transacting with, and querying state of ERC-20 tokens.

alt text

Docker

We can use Docker to easily spin up a arbritrary instance of our service connecting to an already running Ethereum or Quorum network.

All you need to do is build the Dockerfile:

docker build -f docker/Dockerfile -t blk-io/erc20-service .

Then either run it with default configuration:

docker run -p 8080:8080 -v "$PWD/logs":/logs blk-io/erc20-service

Or with a custom configuration:

export PORT=8081
docker run -p ${PORT}:${PORT} -v "$PWD/logs":/logs \
    -e ENDPOINT="http://localhost:22001" \
    -e FROMADDR="0xca843569e3427144cead5e4d5999a3d0ccf92b8e" \
    -e PORT="$PORT" \
    blk-io/erc20-service
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].