GithubHelp home page GithubHelp logo

rosalesnikho / tribar Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 4.0 2.45 MB

Tribar | Crypto + Wallet + Blockchain. Based on the Bitcoin white paper. This is my implementation of the bitcoin vision put forth by Satoshi Nakamoto. Built on ReactJS / Node JS.

License: MIT License

JavaScript 82.40% HTML 1.46% CSS 16.13%
blockchain cryptocurrency nodejs express-js wallet hacktoberfest2019 crypto-wallet-blockchain miners digital-currency

tribar's Introduction

Tribar

Tribar | Crypto + Wallet + Blockchain Starter Project

Start your own blockchain + crypto currency with Tribar! This is a starter repo for your very own blockchain, wallet and crypto currency mining. Use the project however you wish for any application.

Key Features

  • Fully functioning Blockchain
  • Ability to mine cryptocurrency with dynamic difficulty adjustment
  • Launch multiple instances for a fully autonomous connected blockchain network
  • API end points for mining, transactions, wallets and more
  • Fully tested back-end using JEST, TDD.

Code Climate Grades

Maintainability

Requirements

  1. NodeJS / NPM / Yarn

How to get started ( Development )

  1. Install NodeJS
  2. Download or Clone this repo
  3. Inside the project folder of Tribar - type: npm install
  4. Inside the project folder of Tribar - type: npm run dev
  5. Visit localhost:3000 (also available on port: 1234 on your browser to visualize blockchain

The Back-End Stack

  • Node JS
  • Express
  • PubNub (Account required)
  • Jest ( TDD )

The Front-End Stack

  • React JS 16.xx

Tribar Features List

  • Core wallet for the crypto currency.

  • Ability for the cryptographic key pair and public key addressing system.

  • Signature generation and verification to make transactions.

  • Includes functionality to actually validate transactions.

  • Ties transaction creation with the wallet class.

  • Allows transactions to be updated with multiple outputs to efficiently use existing objects.

  • Improves the hash function to recognize objects with new properties as changes in incoming data.

  • Covers edges cases with transaction updates to prevent vulnerabilities.

  • Creates the core transaction miner class to capture how miners should add transactions to the blockchain.

  • Has the ability to grab valid transactions from the transaction pool.

  • Clears blockchain transactions to ensure that only unique transaction objects could be recorded.

  • Adds a mining transactions endpoint to enable transaction mining through the API.

  • Clears recorded transactions on a successful replacement of the blockchain.

  • Calculates the wallet balance based on the blockchain history.

  • Applies wallet balances whenever conducting a new transaction.

  • Exposes the wallet information including the public key and balance through the API.

  • Validates transaction data incoming into the blockchain.

  • Validates incoming transaction input balances.

  • Prevents duplicate transactions from appearing in a block’s data.

  • Validates the entire transaction itself when accepting new user-contributed blockchains.

License

All parts of Tribar are free to use and abuse under the open-source MIT license

tribar's People

Contributors

dependabot[bot] avatar nikvicros avatar rosalesnikho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.