Music billboards powered by blockchain.
Built with Node.js, React, Spotify, and Kaleido.
View the demo at http://mixdown.herokuapp.com
To run your own instance of this app, it requires a blockchain configured with Kaleido.
- Create a Network and Environment within your Organization.
- Create 2 Nodes within your Environment, representing a "distributor" and a "viewer".
- Create a Contract Project, upload the contract from
backend/contracts/toptracks.sol
, and promote it into your Environment. - Use the "distributor" Node to deploy an instance of the contract.
- Generate two sets of Application Credentials to use for the distributor and viewer.
Real world notes: in a hypothetical consortium, many distributors would have their own Organizations with their own Nodes, and would share the Network and deployed contract. The contract is structured such that the original deployer address is considered a distributor, and any current distributor may add the address of a new distributor.
This app also uses the Spotify API to map ISRCs to song metadata. You must register an application at Spotify and generate a client ID and secret.
Rename backend/config.example.js
to backend/config.js
and fill in the configuration
values for Kaleido and Spotify.
Start the backend:
npm install
npm start
Start the frontend:
npm install --prefix frontend/
npm start --prefix frontend/
Run the unit tests:
npm install -D
npm test