/origin

Monorepo for our developer tools and decentralized marketplace application

Primary LanguageJavaScriptMIT LicenseMIT

origin_github_banner

origin_npm_version origin_license origin_circleci_banner

Origin is empowering developers to build decentralized marketplaces on the blockchain!

Visit our Developer's page to learn more about what we're building and how to get involved.

You can see the Origin ecosystem in action here.

Development

Ready to get started? Have a look at our developer quickstart and our contributing guidelines.

This repository

This repository is a monorepo containing many npm packages. It is managed using Lerna.

DApp packages

Example DApps that we have built.

Package Description
@origin/marketplace Our marketplace DApp. https://shoporigin.com
@origin/admin DApp similar to @origin/marketplace but exposes more functionality
@origin/graphql-simple-demo Example of building a DApp with @origin/graphql

Core packages

These packages are used to build DApps on Origin.

Package Description
@origin/contracts Smart contracts
@origin/graphql GraphQL interface to Origin Protocol
@origin/services Utility package for running a local blockchain and IPFS
@origin/eventsource Derives current state of listings and offers from contract events
@origin/ipfs Convenience methods for getting and setting data in IPFS
@origin/messaging-client Client for Origin messaging
@origin/token Package for manipulating Origin Tokens (OGN)
@origin/validator JSON Schema validation

Infrastructure packages

Servers and packages that provide extra functionality to DApps (e.g. search or attestations).

Package Description
@origin/bridge Server providing attestation services
@origin/cron Runs background tasks
@origin/dapp-creator-client Client that generates configs for @origin/marketplace
@origin/dapp-creator-server Server that generates configs for @origin/marketplace
@origin/discovery Provides search features to @origin/marketplace
@origin/faucet Token faucet
@origin/growth Growth engine
@origin/identity Database models for storing identity
@origin/ipfs-proxy Layer between IPFS and clients to prevent malicious use
@origin/messaging Messaging server
@origin/notifications Delivers in browser notifications
@origin/relayer Meta-txn relayer service
@origin/tests Runs integration tests in Docker Compose
@origin/token-transfer-client Client for delivering tokens
@origin/token-transfer-server Server for delivering tokens

Mobile

Package Description
@origin/mobile Mobile application

The @origin/mobile package is not managed by Lerna due to issues with react-native and hoisting.

Contributing

Origin is an 100% open-source and community-driven project and we welcome contributions of all sorts. There are many ways to help, from reporting issues, contributing code, and helping us improve our community.

To get involved, please review our guide to contributing.