MiniBlockchainAPI

command module
v0.0.0-...-ca2eb29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2018 License: GPL-3.0 Imports: 14 Imported by: 0

README

███╗   ███╗██╗███╗   ██╗██╗    ██████╗ ██╗      ██████╗  ██████╗██╗  ██╗ ██████╗██╗  ██╗ █████╗ ██╗███╗   ██╗
████╗ ████║██║████╗  ██║██║    ██╔══██╗██║     ██╔═══██╗██╔════╝██║ ██╔╝██╔════╝██║  ██║██╔══██╗██║████╗  ██║
██╔████╔██║██║██╔██╗ ██║██║    ██████╔╝██║     ██║   ██║██║     █████╔╝ ██║     ███████║███████║██║██╔██╗ ██║
██║╚██╔╝██║██║██║╚██╗██║██║    ██╔══██╗██║     ██║   ██║██║     ██╔═██╗ ██║     ██╔══██║██╔══██║██║██║╚██╗██║
██║ ╚═╝ ██║██║██║ ╚████║██║    ██████╔╝███████╗╚██████╔╝╚██████╗██║  ██╗╚██████╗██║  ██║██║  ██║██║██║ ╚████║
╚═╝     ╚═╝╚═╝╚═╝  ╚═══╝╚═╝    ╚═════╝ ╚══════╝ ╚═════╝  ╚═════╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝

Send ETH & Tokens API

This small backend enables you to send ETH & Tokens to Ethereum based blockchains.

How to use it

  • Step #1: Fork the project and give it a star
  • Step #2: Copy the api_config.example.json to api_config.json and edit it with the link to your blockchain (you can use infura for rinkeby, main-net)
  • Step #3: Build & run with: go build -o server; ./server
  • Step #4: ??
  • Step #5: Profit!!!

Note about security:

  • This api should run on localhost!
  • If you need to expose it, make a reverse nginx proxy and configure it for https!

API's

GET /api/v1/

general info about the connection with the blockchain

GET /api/v1/health

health about how much resources this mini-server takes

params: address

Example:

curl --request GET \
  --url 'http://localhost:9090/api/v1/balance/token?contract=0x991c43f15b7d286f473e644df689dc3d722b58b2&address=0x5d924b2D34643B4Eb7D4291fDcb07236963f040f' \
  --header 'Content-Type: application/json'
GET /api/v1/balance/eth

gets the ETH balance.

params: address

Example:

curl --request GET \
  --url 'http://localhost:9090/api/v1/balance/eth?address=0xF69D65f241a523837c7F37f8B38328176416E771' \
  --header 'Content-Type: application/json'
GET /api/v1/balance/token

gets the token balance.

params: contract, address

Example:

curl --request GET \
  --url 'http://localhost:9090/api/v1/balance/token?contract=0x991c43f15b7d286f473e644df689dc3d722b58b2&address=0x5d924b2D34643B4Eb7D4291fDcb07236963f040f' \
  --header 'Content-Type: application/json'
PUT /api/v1/tx/send_eth

sends ETH to an address

params: to_address, sender_private_key, amount_in_wei

Example:

curl --request PUT \
  --url 'http://localhost:9090/api/v1/tx/send_eth?to_address=0xF69D65f241a523837c7F37f8B38328176416E771&sender_private_key=908550C596A682C500FE1013EB3CEB5A8421FC62D6FF1F81CCDFEDD69768E560&amount_in_wei=100000000000000000' \
  --header 'Content-Type: application/json'
PUT /api/v1/tx/send_token

sends Tokens to an address

params: to_address, sender_private_key, contract, amount_in_wei

Example:

curl --request PUT \
  --url 'http://localhost:9090/api/v1/tx/send_token?to_address=0xF69D65f241a523837c7F37f8B38328176416E771&sender_private_key=908550C596A682C500FE1013EB3CEB5A8421FC62D6FF1F81CCDFEDD69768E560&contract=0x991c43f15b7d286f473e644df689dc3d722b58b2&amount_in_wei=1000000000000000000' \
  --header 'Content-Type: application/json'
TODO:
  • sanitize inputs
  • docker ?
  • any suggestions ?
Thanks to:

https://github.com/hunterlong/tokenbalance for the tokens generic bindings.

License: GPL-3.0

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL