Skip to content

yrong/snowbridge

 
 

Repository files navigation

Snowbridge · codecov GitHub

Snowbridge is a trustless bridge between Polkadot and Ethereum. For documentation, visit https://docs.snowbridge.network.

Components

Parachain

Polkadot parachain and our pallets. See parachain/README.md.

Relayer

Off-chain relayer services for relaying messages between Polkadot and Ethereum. See relayer/README.md

Contracts

Ethereum contracts and unit tests. See core/packages/contracts/README.md

Integration Tests

This component includes our end to end tests, that pull together all the above services and set them up easily through scripts for automated E2E tests. See core/packages/test/README.md.

Development

We use the Nix package manager to provide a reproducible and maintainable developer environment.

After installing nix Nix, enable flakes:

mkdir -p ~/.config/nix
echo 'experimental-features = nix-command flakes' >> ~/.config/nix/nix.conf

(if you don't want to use flakes, you can instead pass the flag --experimental-features nix-command flakes to nix, eg. nix --experimental-features 'nix-command flakes' develop)

Then activate a developer shell in the root of our repo, where flake.nix is located:

nix develop

To ensure your code editor (such as VS Code) can execute tools in the nix shell, startup your editor within the interactive shell.

Example for VS Code:

nix develop
code .

The developer shell is bash by default. To preserve your existing shell:

nix develop --command $SHELL

To automatically enter the developer shell whenever you open the project, install direnv and use the template .envrc:

cp .envrc.example .envrc
direnv allow

Upgrade

Sometimes we would like to upgrade rust toolchain. First update parachain/rust-toolchain.toml as required and then update flake.lock running

nix flake lock --update-input rust-overlay

Security

The security policy and procedures can be found in SECURITY.md.

About

A trustless bridge between Polkadot and Ethereum

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Rust 41.8%
  • Go 36.2%
  • Solidity 13.2%
  • Shell 3.7%
  • TypeScript 2.0%
  • JavaScript 1.5%
  • Other 1.6%