Skip to content

Latest commit

 

History

History
44 lines (25 loc) · 1.76 KB

README.md

File metadata and controls

44 lines (25 loc) · 1.76 KB

adex-protocol-substrate

The AdEx Protocol implemented on top of Substrate. Bootstrapped from substrate-node-template.

What is it?

OUTPACE

The AdExOUTPACE module implements Offchain Unidirectional Trustless Payment Channels described here: https://github.com/AdExNetwork/adex-protocol/blob/master/OUTPACE.md

The OUTPACE module consists of:

  • channel_open: opens a channel, therefore locking up a deposit
  • channel_withdraw_expired: after the channel is expired, the creator may invoke this to withdraw the remainder of their deposit
  • channel_withdraw: at any time before expiry, anyone who earned from this channel may withdraw their earnings

Registry

The upcoming AdExRegistry module implements the AdEx registry.

It is a component where AdEx validators can stake tokens to get exposure. Furhermore, users may launch challenges against validators to prove their misbehavior. Most of the challenges involve replicating the off-chain behavior of the validator stack, employing a pattern referred to as counterfactuality.

For more details, read https://github.com/AdExNetwork/adex-protocol/issues/7

Build and run

./build.sh
cargo run -- --dev

With some old Rust crates, you might need to do export PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig if you're running OpenSSL 1.1

Bootstrap an UI

First, complete the "Prerequisites" step from https://substrate.readme.io/docs/creating-a-custom-substrate-chain

Then, execute:

substrate-ui-new adex-protocol-substrate