Skip to content

Cross-chain token bridge between Joystream and EVM blockchains

License

Notifications You must be signed in to change notification settings

Joystream/argo-bridge

Repository files navigation

Argo bridge

The Argo bridge is a cross-chain token bridge that allows users to transfer JOY tokens between Joystream and Base networks. Even though those are the only networks supported at the moment, the bridge can be generalized to support bridging between any Substrate/EVM chains.

Architecture

The bridge is semi-manual - all transfers are manually approved by a list of trusted signers and can be executed only by reaching a threshold of approvals. For more details, see the architecture document.

Bridge components

The bridge consists of 4 main components:

  1. EVM smart contracts and deployment, found in the packages/contracts directory.
  2. Joystream runtime pallet, found in the Joystream monorepo.
  3. Subsquid indexer, found in the packages/indexer directory.
  4. Frontend app, found in the packages/app directory.

Additionally, the repo contains a core package that contains reusable code for the other components.

Lastly, in the tests directory, you can find the integration tests for all the bridge components.

Each component contains its own README file with more details.

Development

Prerequisites

Installation

To install all the dependencies, run:

npm install

Then, you should also build the @joystream/argo-core package:

npm run build:core

Running the components

Once dependencies are ready, you can visit the respective component's README file for more details on how to run them.