Audius is a decentralized, community-owned music-sharing protocol and app. It provides a censorship-resistant alternative to SoundCloud that helps artists distribute anything they want directly to fans, creating a unique and differentiated catalog. The mission of the project is to give everyone the freedom to share, monetize, and listen to any audio.
This repository encompasses all of the services, contracts, and client-side libraries that comprise the Audius protocol.
For a more detailed overview of how Audius works, how these components interact with one another, how to run an off-chain service, and more, see the Audius protocol wiki for more details.
The Audius protocol has many moving pieces, on-chain and off-chain. Refer to the installation and usage instructions for any of the sub-components of the Audius protocol:
These off-chain services are run by community members via the Audius staking system:
Service | Description |
---|---|
creator-node |
Maintains the availability of users' content on IPFS including user metadata, images, and audio content |
discovery-provider |
Indexes and stores the contents of the audius contracts on the ethereum blockchain for clients to query via an API |
identity-service |
Stores encrypted auth ciphertexts, does Twitter oauth and relays transactions on behalf of users |
The independent sets of smart contracts that underpin the Audius protocol:
Contracts | Description |
---|---|
contracts |
The POA network smart contracts for the Audius protocol, encompassing user account, content listing, and content interaction functionality |
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 |
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 |
Refer to the READMEs of the various Audius components listed above for specific usage instructions!
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. We have bounties available for issues reported
via responsible disclosure!
Apache 2.0: LICENSE file