Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eavelasquez/learning-blockchain
This is a project to learn about blockchain technology and how it can be used to create a blockchain.
https://github.com/eavelasquez/learning-blockchain
babel blockchain cryptojs elliptic express javascript jest nodejs shell unit-test websocket yarn
Last synced: 3 months ago
JSON representation
This is a project to learn about blockchain technology and how it can be used to create a blockchain.
- Host: GitHub
- URL: https://github.com/eavelasquez/learning-blockchain
- Owner: eavelasquez
- Created: 2022-05-31T13:44:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-06-10T02:30:12.000Z (over 2 years ago)
- Last Synced: 2024-07-30T21:07:14.018Z (6 months ago)
- Topics: babel, blockchain, cryptojs, elliptic, express, javascript, jest, nodejs, shell, unit-test, websocket, yarn
- Language: JavaScript
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Learn Blockchain
This is a project to learn about blockchain technology and how it can be used to create a blockchain.
## What is a blockchain?
Blockchain is a series of records, called blocks, stored in a public ledger. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data.
## Development
To clone and setup the project, run the following command:
```
$ git clone https://github.com/eavelasquez/learn-blockchain.git
$ cd learn-blockchain
$ yarn install
```To run the project, run the following command:
```
$ yarn start:instance 1 # Starts a server instances on port 3000 and 5000 (default)
$ yarn start:instance 2 # Starts a server instances on port 3001 and 5001
```To test the project, run the following command:
```
$ yarn test
```## Next Steps
1. Add a new endpoints `/wallet`
1. Add a new endpoint `/wallet/create`
1. Add a new endpoint `/wallet/:address/balance`
1. Add a new endpoint `/wallet/:address/transactions`
1. Include a fee in the transaction.
NOTE: The fee is the amount of coins that are sent to the miner as a reward.
1. A client application that can create, send, and receive coins, etc.
1. Improve the mining logic so that it selects a maximum number of transactions according to the fees.