The AdEx Protocol implemented on top of Substrate. Bootstrapped from substrate-node-template.
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 depositchannel_withdraw_expired
: after the channel is expired, the creator may invoke this to withdraw the remainder of their depositchannel_withdraw
: at any time before expiry, anyone who earned from this channel may withdraw their earnings
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.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
First, complete the "Prerequisites" step from https://substrate.readme.io/docs/creating-a-custom-substrate-chain
Then, execute:
substrate-ui-new adex-protocol-substrate