Skip to content

The JavaScript tools to interact with the Ujo platform

License

Notifications You must be signed in to change notification settings

alexanderattar/ujo.js

 
 

Repository files navigation

ujoJS


Discord license code style: prettier lerna Contributions welcome

Ujo is a music platform that uses the ethereum blockchain as the substrate for innovation by empowering artists, digitizing their music rights and metadata, sharing this information in an open and decentralized environment, thus enabling new applications, products, and services to license their catalogs and pay artists directly with minimal friction. You can learn more about the protocol here.

This monorepo contains JavaScript tools and applications that interact with the Ujo smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=10.12.0 and yarn >=1.10.1. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies:

git clone https://github.com/ujoteam/ujo.js.git
cd ujo.js

Install packages:

lerna bootstrap --hoist

Build all the javascript source:

npm run build

NOTE: the build command must be run from the root directory right now, because the root directory's node modules has all the babel modules

Start a local blockchain with a specified networkID:

npm run ganache

Compile and migrate contracts to ganache private chain:

npm run migrate
TODO - add .env file

Testing

To test all packages, ensure the contracts have been migrate and then run:

yarn test

To run tests for an individual package, change into the appropriate directory and run the same command as above.

Cleanup

Remove all node modules (if you already have them installed):

lerna clean

Clean all smart-contract build files:

npm run clean-contracts

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Packages

Published

Name                                         Version             Description
@ujoteam/licensing npm The Licensing Handlers are smart-contracts responsible for handling licensing payments.
@ujoteam/badges npm The Badge library contains an implementation of Non-Fungible Token (NFT) collectibles called badges.
@ujoteam/card npm The card packages contains an API for interacting with a Connext hub to enable payments over state channels

Private

Name Description
@ujo/<todo> Description of private repos with.

Resources

Contributing

Thanks for your interest in contributing to ujoJS. Please have a look at the guide to get started.

Please check out the issues page for areas that could use help! We hope to see your username on our list of contributors 🙏🎉🚀

About

The JavaScript tools to interact with the Ujo platform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%