We would like to update you about our project “Play4Privacy” (P4P) and comment on the “rumors” and comments of dissatisfaction in our Telegram channel lately. This résumé comes months after the project was done — Thank you for bearing with us.

Motivation & goals

Let us take you back to the summer of 2017 when the P4P-project was started. As a collective of blockchain- and privacy-interested programmers, designers, and activists (www.lab10.coop), we came together to develop a unique project with the following motivations: We wanted to

1. educate the general public and explain how blockchain technology works

2. raise money for two organisations fighting for the important topic of privacy in Europe. …


Dear donators,

the second donation phase ended some days ago. Thank you all for being part of the intitial phase of the project and a special thanks to our donators.

If you have not already withdrawn your share of PLY tokens so far or do not know how to redeem them — here is a short tutorial for you.

This tutorial should be similar for all wallets (e.g. Myetherwallet).

  1. Step — open the wallet you made the donation from and navigate to the contract menu
Image for post
Image for post

— Contract address: 0x7e0C7676be340EE8eFB4321abfA4634a7Abfb92c

— JSON Interface:

[
{
"constant": false,
"inputs": [
{
"name": "_donor",
"type": "address"
}
],
"name": "donateFor",
"outputs": [],
"payable": true,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "tokenPerEth",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "currentState",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "donationReceiver",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "donationReceiverLocked",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_newTs",
"type": "uint32"
}
],
"name": "setDonationUnlockTs",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "STATE_PLAYING",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "STATE_DONATION_ROUND_1",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "donationUnlockTs",
"outputs": [
{
"name": "",
"type": "uint32"
}
],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "destroy",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "STATE_DONATION_ROUND_2",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "owner",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "lockDonationReceiver",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "payoutDonations",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_receiver",
"type": "address"
}
],
"name": "setDonationReceiver",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ownerTokenSharePct",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalPhase1Donations",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "startNextPhase",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "withdrawTokenShare",
"outputs": [],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "playToken",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "totalPhase2Donations",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "STATE_PAYOUT",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "STATE_NOT_STARTED",
"outputs": [
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"type": "function"
},
{
"inputs": [
{
"name": "_tokenAddr",
"type": "address"
}
],
"payable": false,
"type": "constructor"
},
{
"payable": true,
"type": "fallback"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "newState",
"type": "uint8"
}
],
"name": "StateChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "receiver",
"type": "address"
},
{
"indexed": false,
"name": "amount",
"type": "uint256"
}
],
"name": "DonatedEthPayout",
"type": "event"
}…

Thomas Lechner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store