Skip to content

Latest commit

 

History

History
85 lines (54 loc) · 2.96 KB

README.md

File metadata and controls

85 lines (54 loc) · 2.96 KB

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