Giter Club home page Giter Club logo

blockform's Introduction

BlockForm - Ethereum Blockchain As A Service

GoDoc Go Report Card Build Status

BlockForm helps you deploy Ethereum nodes to the cloud and manage them. It takes care of creating a virtual machine in one of the supported cloud providers (currently Azure, AWS, GCP and DigitalOcean) and will install geth in the best possible way.

Blockform is a free software. It is tailored for teams or individuals whose work depends on a fleet of Ethereum nodes. You have to install your own instance. So the installation process has been made as simple as possible.

Screenshot

Features

  • Support public networks: Mainnet, Rinkeby, Ropsten
  • Allows you to create your own private ethereum network with Proof of Authority
  • Support multiple cloud providers: Azure, AWS, GCP and DigitalOcean
  • Support multiple synchronization modes: Full, Fast and Light
  • Setup a firewall for you
  • SSL certificates through certbot
  • HTTP and WebSocket RPC endpoints protected by an API key
  • Basic faucet web service for your private network
  • Node data is saved to an SSD for faster sync
  • Basic heathchecks and logs display
  • Basic authentication for the UI
  • Tiny chain explorer to browse your blocks, transactions and accounts
  • Compatible with MetaMask, geth attach, and web3.js
  • Easy deployments on Heroku
  • Optional Slack integration for alerts

Usage

For Azure, generate a service principal:

az login
az ad sp create-for-rbac --sdk-auth

For AWS, go to IAM Management console, and generate an Access Key for your user in the Security Cretendials tab.

For DigitalOcean, go to API and generate a Personal access token.

For Google Cloud Platform:

  • Create a project, for example my-blockform. If the name is not long enough, google will append some random string that you will need to export in the next steps.
  • In API and Services, enable the Compute Engine API for this project.
  • In API and Services, go to the Credentials tab and generate an Account Service Key as a JSON file for the Compute Engine default service account.

Set environment variables:

export AZURE_TENANT_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export AZURE_CLIENT_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export AZURE_CLIENT_SECRET="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export AZURE_SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export AWS_ACCESS_KEY_ID="xxxxxxxxxx"
export AWS_SECRET_ACCESS_KEY="xxxxxxxxxxxxxxxxxxxx"
export DO_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export GCP_JSON="{xxxx}"
export GCP_PROJECT="my-blockform"
export PORT=3000
export DATABASE_URL="postgres://user:pass@localhost:5432/blockform?sslmode=disable"
export BASIC_AUTH_USER=xxxxx
export BASIC_AUTH_PASS=xxxxx
export SITE_URL="http://localhost:3000"
export PUB_KEY="xxxxx" # an SSH public key to login the VMs
export PRIV_KEY="xxxxx" # an SSH private key to let blockform login the VMs

Get, build and run:

git clone https://github.com/WeTrustPlatform/blockform.git
cd blockform
go build && ./blockform

blockform's People

Contributors

congbv avatar hadv avatar hiepndd avatar kivutar 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.