coin-ts
v1.0.7
Published
A minimal cryptocurrency CLI implementation in TypeScript & Immutable.js
Downloads
37
Readme
Demo
Connect
Mining
Payment
🎉 Features
- 💰 Wallet with public and private key.
- 💳 Make Payments between wallets.
- 🔑 Transactions are signed with the wallet's private key.
- 🔗 Blocks with index, hash, data, transactions, and timestamp.
- ⛏ Proof-of-work implementation.
- ⛓ In-memory JavaScript array to store the blockchain.
- ✅ Block & Transaction integrity validation.
- 📡 Decentralized and distributed peer-to-peer communication.
- ✨ Minimal implementation in 900 lines of code.
📦 Installation
To install this application, you'll need Node.js 7+ (which comes with npm) installed on your computer. From your command line:
Source (recommended)
You'll need Git to run the project from source. From your command line:
# Clone this repository
$ git clone https://github.com/seanjameshan/coin-cli
# Go into the repository
$ cd coin-cli
# Install dependencies
$ npm install
# Run the app
$ npm start
NPM
$ npm install ts-node -g
$ npm install coin-ts -g
$ coin
🕹️ Usage
| Command | Alias | Description | Example | |------------------------------------------|-------|---------------------------------------------------------------------------|----------------------------| | open | o | Open to accept incoming connections. | open 5000 | | connect | c | Connect to a new peer with and | connect localhost 5000 | | blockchain | bc | See the current state of the blockchain. | | | peers | p | Get the list of connected peers. | | | mine [address] | m | Mine a new block with rewards going to optional [address]. | mine or mine xxx... | | transactions | tx | See unconfirmed transactions that can be mined. | | | wallet | w | Create a new wallet with | wallet mypassword | | key | k | Get your public key | | | pay | p | Make payment to with and using wallet | pay xxx... 10 5 mypassword | | balance [address] | b | Balance of optional | balance or balance xxx... | | help [command...] | | Provides help for a given command | help balance or help | | exit | | Exits application. | |