docker run \
--publish=7474:7474 --publish=7687:7687 \
--env NEO4J_AUTH=neo4j/thyraedwards \
--ulimit=nofile=40000:40000 \
--env 'NEO4JLABS_PLUGINS=["apoc"]' \
neo4j
In winwin-pab:
cabal build plutus-starter-pab && cabal exec -- plutus-starter-pab
Run demo.sh
and take note of the outputs for later use.
Install dependencies in winwin-be via npm i
.
Create a .env file with these environment variables:
- NEO4J_PASSWORD (set it to thyraedwards if you used the docker command above)
- PLATFORM_PUB (taken from the demo.sh output)
- Mailjet settings (MJ_KEY and MJ_SECRET)
Then run npm start
.
Install dependencies in winwin-fe via npm i
.
Run npm run start:local
.
Sign up a mediator using the wallet id and pkh from before.
Sign up Party A (e.g. Vitalik B) and go through the flow.
Make sure to keep an eye on the log of the PAB when paying for the mediation.
Open the invitation email for Party B in another browser, enter details, pay, be happy that it all worked.
Not in scope for the demo is the grabbing of the funds. Testing of the proper functionality (incl. who can call the endpoints at what times) can be accomplished through scripts utilizing curl or other http clients. See the run.sh in the winwin-pab directory.
The contract pays out 10% to the platform and 90% to the mediator. It is largely based on the Plutus Capstone, which unfortunately had a bug that I nor the mentors did not catch in time.