Skip to content

AmbireTech/adex-protocol-substrate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Substrate implementation of the AdEx Protocol v4: OUTPACE & Registry

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published