Giter Site home page Giter Site logo

dwinea / core-blockchain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bloom-genesis/core-blockchain

1.0 0.0 0.0 14.15 MB

This repo contains core blockchain code for Bloom Genesis

Shell 0.28% JavaScript 3.36% Ruby 0.01% Python 0.05% C 8.05% Java 0.23% Go 86.42% Assembly 0.72% Makefile 0.07% HTML 0.09% NSIS 0.18% M4 0.20% Dockerfile 0.01% Sage 0.23% Solidity 0.12%

core-blockchain's Introduction

Bloom Genesis Blockchain Node

This project aims to provide installation, running, and maintenance capabilities of Bloom Genesis validator node for potential and existing Bloom Genesis Blockchain backers. The consensus structure of this chain is delegated proof of stake "DPos" and is governed by the symbiosis of Bloom Genesis's implementation of go-ethereum and our system contracts [https://github.com/Bloom-Genesis/System-Contracts]. This repository has multiple release candidates inline so we recommend checking for updates for better functions and stability.

Acknowledgements

Bloom Genesis blockchain node inherits its core components from heco-chain project by stars-lab which itself is based on geth by the Ethereum foundation.

The revolution started by Bitcoin and later fueled by Ethereum Foundation has launched a wide array of technological advancements and applications. We acknowledge and actively contribute to decentralization causes and derivatives.

System Requirements

Operating System: Ubuntu >= 20.04 LTS

RAM: 8GB minimum, 32GB recommended

Persistent Storage: 25GB minimum, 100GB high-speed SSD recommended

Note regarding use of GPUs - GPUs are primarily used in POW consensus chains. Being a DPos Bloom Genesis chain has not only more TPS and fast block production but also doesn't need a GPU altogether for its purpose.

How to become a validator

To back the Bloom Genesis blockchain you can become a validator. Full flow to become a validator, you must:

  • Install this package (See Installation)
  • Download your newly created validator wallet from your server and import it into your metamask or preferred wallet. Fund this account with the appropriate BGBC tokens needed to become a validator. Example command to download the wallet on your local PC. Only works for UNIX-based OSes or on any environment that can run the OpenSSH package:
  scp -r root@<server_ip>:/root/Core-Blockchain/chaindata/node1/keystore
  scp root@<server_ip>:/root/Core-Blockchain/chaindata/node1/pass.txt
  • On your server, start the node that you just installed (See Usage/Example)
  • Once the node is started and confirmation is seen on your terminal, open the interactive console by attaching tmux session (See Usage/Example)
  • Once inside the interactive console, you'll see "IMPORTED TRANSACTION OBJECTS" and "age=<some period like 6d5hr or 5mon 3weeks>". You need to wait until the "unauthorized validator" warning starts to pop up on the console.
  • Once "unauthorized validators" warning shows up, go to https://staking.bloomgenesis.com/ and click "Become a validator". Fill in all the details in the form, in the "Fee address" field enter the validator wallet address that you imported into your metamask. Proceed further
  • Once the last step is done, you'll see a "๐Ÿ”จ mined potential block" message on the interactive console. You'll also see your validator wallet as a validator on the staking page and on explorer. You should also detach from the console after the whole process is done (See Usage/Example)

Installation

You must ensure that:

  • system requirements are met with careful supervision
  • the concerned server/local setup must be running 24/7
  • there is sufficient power and cooling arrangement for your machine if running a local setup If failed you may end up losing your stake in the blockchain and your staked coins, if any. You'll be jailed at once with no return point by the blockchain if found down/dead. You'll be responsible for chain data corruption on your node, frying up your motherboard, or damaging yourself and your surroundings.

To install the Bloom Genesis validator node in ubuntu linux

  sudo -i
  apt update && apt upgrade
  apt install git tar curl wget
  reboot

Skip the above commands if you have already updated the system and installed the necessary tools.

Connect again to your server after reboot

  sudo -i
  git clone https://github.com/Bloom-Genesis/Core-Blockchain.git
  cd Core-Blockchain
  ./node-setup --validator 1

After you run node-setup, follow the on-screen instructions carefully and you'll get confirmation that the node was successfully installed on your system.

Note regarding your validator account - While in the setup process, you'll be asked to create a new account that must be used for block mining and receiving gas rewards. You must import this account to your metamask or any preferred wallet.

Usage/Examples

Display help

./node-setup.sh --help

To create/install a validator node. Fresh first-time install

./node-setup.sh --validator 1

To run the validator node

./node-start.sh --validator

To create/install a RPC node. Fresh first-time install

./node-setup.sh --rpc

To run the RPC node

./node-start.sh --rpc

To get into a running node's interactive console/tmux session

tmux attach -t node1

To exit/detach from an interactive console

Press CTRL & b , release both keys, and press d

core-blockchain's People

Contributors

hide001 avatar solidityx avatar marvelous-bot avatar

Stargazers

 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.