Audius Protocol
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.
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 |
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 |
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 |
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 |
- Install docker & docker-compose https://docs.docker.com/get-docker
- Install rust https://rustup.rs/
- Install nvm & node (v14.17.5) https://github.com/nvm-sh/nvm
git clone https://github.com/AudiusProject/audius-protocol.git
cd audius-protocol
bash dev-tools/setup.sh
audius-compose up
Note that the first time setup takes a bit of time to pull images, but subsequent runs are significantly faster.
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!
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
Apache 2.0: LICENSE file