This project utilizes:
- React
- MongoDB
- Node/Express
- Plaid sandbox API
- Bitcoin Core (regtest)
Clone the repo and install
cd bitcoin-exchange
npm install
cd server
npm install
Start up MongoDB - default port is (localhost:27017
)
- follow this guide for setup help
Start up Bitcoin Core in -regtest
mode - default port is (localhost:18443
)
Run tests
cd bitcoin-exchange/server
npm run test
Configure Plaid API (if Plaid API test fails)
- get client_id and secret here
- copy/paste values for
PLAID_CLIENT_ID
andPLAID_SECRET
inserver/constants.js
- configure redirect URI here - add
http://localhost:3006
Start the server - localhost:3030
cd bitcoin-exchange/server
npm run start
Start the React app - localhost:3006
cd bitcoin-exchange
npm run start
visit localhost:3006 in the browser
- Various front-end features:
- persist user session to prevent logging in on every browser refresh
- better styling
- Better implementation of BTC transaction fees
- More extensive unit/integration tests
- Containerize the app
- Better understanding of BTC's wallets and UTXO model
- React hooks are awesome. They greatly simplify react code :)