This is a Node JS application that simulates a basic blockchain protocol.
Clone this repo to your local computer and proceed with the following steps.
Install dependencies
npm install
Run Jest tests
npm test
Start the application
npm start
If you want to make changes to the code, I recommend following Test Driven Development and start up Jest in watch mode as follows:
npm run test-watch
Now start to make changes to the tests and the application code and watch the tests run!
Below are the results of testing using POSTMAN
- Run your application using the command
npm run start
You should see in your terminal a message indicating that the server is listening in port 8000:
Server Listening for port: 8000
- To make sure your application is working fine and it creates the Genesis Block you can use POSTMAN to request the Genesis block:
- Make your first request of ownership sending your wallet address:
- Sign the message with your Wallet:
- Submit your Star
- Retrieve Stars owned by me
If you want to start the debugger and attach to the running application instance or running Jest tests, then you can use VSCode launch configurations file to do so launch.json
. For this project, I am using the following configurations:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/start.js"
},
{
"type": "node",
"request": "launch",
"name": "Jest Tests",
"internalConsoleOptions": "openOnSessionStart",
"program": "${workspaceFolder}/node_modules/jest/bin/jest"
}
]
}
If you experience with bugs or need further improvement, please create a new issue under Issues.
Pull requests are very welcome. Before submitting a pull request, please make sure that your changes are well tested. Pull requests without tests will not be accepted. In this project we currently use Jest and Supertest.
This Privae Blockchain: Star Ownership Tracking application was developed as part of the Blockchain Nanodegree with Udacity and Darren Jensen.
This Privae Blockchain: Star Ownership Tracking application is released under AGPL
This application is part of a project assignment and is most definitely not suitable for Production use! :)