Code Monkey home page Code Monkey logo

audius-protocol's Introduction



Audius Protocol



CircleCI

Audius is a decentralized, community-owned music-sharing protocol

This repository encompasses all of the services, contracts, and client-side libraries that comprise the Audius protocol.

For further details on operating an Audius service, getting started with the Token and the API, see docs.audius.org.

Overview

Audius Services

These off-chain services are run by community members via the Audius staking system:

Service Description
creator-node Maintains the availability of users' content via the Audius Storage Protocol, including user metadata, images, and audio content. Also known as Content Node.
discovery-provider Indexes and stores the contents of the audius contracts on the Ethereum & Solana blockchains for clients to query via an API. Also known as Discovery Node.
identity-service Stores encrypted auth ciphertexts and handles oauth artifacts

Smart Contracts & Programs

The independent sets of smart contracts that power the on-chain aspects of the Audius protocol:

Contracts Description
eth-contracts The Ethereum smart contracts that run the Audius protocol, encompassing the Audius ERC20 token and functionality for staking, off-chain service registration / lookup, and governance
solana-programs The Solana programs for the Audius protocol, encompassing user account, content listing, and content interaction functionality
contracts The POA network smart contracts for the Audius protocol, encompassing user account, content listing, and content interaction functionality

Audius Client Libraries

Client-side libraries to provide a unified interface for interacting with the entire Audius protocol:

Library Description
libs A complete javascript interface to the Audius smart contracts and Audius services: Identity Service, Discovery Provider, Creator Node

Audius Tools & Tests

Packages for developers to run and test Audius

Library Description
service-commands Tooling to run an entire instance of Audius locally with all dependencies
mad-dog A system level test suite and tests for Audius

Development

Prerequisites

Running the protocol

git clone https://github.com/AudiusProject/audius-protocol.git
cd audius-protocol
# Add a line to your rc file of choice
# export PROTOCOL_DIR=$(pwd)

cd $PROTOCOL_DIR/service-commands
npm i
# This will install `A` to your command-line, an interface to the audius service-commands.
# Ensure ~/.local/bin is in your PATH

# Install all dependencies
A init

# Run the entire stack
A up

# Run an individual service
A run discovery-provider up
A run discovery-provider down

For more details on the A command and options, run A --help and checkout the service commands README.

Contributing

We welcome contributions to Audius from anyone who opens a PR. Feel free to reach out to our team on Discord or via other channels for feedback and/or support!

Security

Please report security issues to [email protected] with a description of the vulnerability and any steps to reproduce. Details on our bug bounty program are available at audius.org/security

License

Apache 2.0: LICENSE file

audius-protocol's People

Contributors

raymondjacobson avatar dmanjunath avatar piazzatron avatar hareeshnagaraj avatar jowlee avatar sidsethi avatar vicky-g avatar rickyrombo avatar cheran-senthil avatar isaacsolo avatar sddioulde avatar csjiang avatar joaquincasares avatar theoilie avatar dylanjeffers avatar stereosteve avatar sliptype avatar kyle-shanks avatar jonaylor89 avatar milindnshah avatar endline avatar nicoback2 avatar 0xflotus avatar rahulbansal123 avatar roneilr avatar n00m4d avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.