We have previously written about why we are paying users monero to participate on our testnet, and how much you can make. This post aims to explain what you can do to earn real money on testnet!
After launching our first testnet on Tendermint using the cosmos SDK before christmas, we have become more convinced Polkadot and Substrate are the better choice for purpose. There are always trade offs when choosing between different software package solutions, but in sum we are quite confident in our choice. If you want to learn more about the Joystream project, please consult our whitepaper.
How to claim your rewards
If you successfully have become a Validator or Council Member, you need to prove your monero address by putting your XMR address in the My memo
tab under My Accounts
sidebar. (Note that this feature this not work with zero balance.)
# Format:
"4or8YourXmrAddressInDoubleQuotesAndNothingElse"
If you want to skip straight to the Validator setup tutorial, follow this link.
Become a Council Member
Being a council member requires no downloads or software installation. Go to our browser based UI, and create your account now. The first election will be held on the 5th of March. There are four stages in the election cycle:
Initial Stage
The stage before the first Announcement stage. During this stage, you can accumulate JOY
tokens before the election cycle starts.
Announcement Stage
- Starts :
block 65,000
(05.03.19, ~12:00 GMT) - Lasts :
43,200 blocks
(3 days)
In this stage, anyone with sufficient JOY
tokens (one trip to the faucet) can announce their candidacy. Go to Council
in the sidebar, and click on the Applicants
tab. Here you can set the amount of tokens you wish to stake (you can add more at any time during the announcement stage). After sending the transaction, you should appear under "Applicants". The max number of Applicants is 25
. When the 25th candidate applies, the one with the lowest amount staked will be pushed off the list, and get their stake returned. Maximum 12
Council Members can be elected.
Voting Stage
- Starts :
block 108,200
(08.03.19, ~12:00 GMT) - Lasts :
14,400 blocks
(1 day)
After n blocks (d days), the Announcement Stage closes, and you can begin voting for applicants. As with everything else, you need to stake in order to do so. Joystream is currently working under the "One Token - One Vote" principal. Go to the Votes
tab, set your staking amount, select your candidate and generate a Random salt
. This will be needed to reveal and actually "broadcast" your vote. You can vote more than once, and for more than one applicant.
Reveal Stage
- Starts :
block 122,600
(09.03.19, ~12:00 GMT) - Lasts :
14,400 blocks
(1 day)
After n blocks, the Voting Stage closes, and the Revealing stage begins. This is when you can reveal your vote. Go to the Reveal a vote
tab, to actually broadcast your vote. Votes that are not revealed in time will not get counted in the election.
Term Stage
- Starts :
block 137,000
(10.03.19, ~12:00 GMT) - Lasts:
201,600 blocks
(14 days)
At this stage, all users can make proposals, which the Council Members have 28,800 blocks
(2 days) to vote on. After the Term Stage is over, we are back in the Announcement Stage.
Become a Validator
This is a step by step guide to become a validator on the Sparta Testnet. If you are comfortable with the command line and want to build from source, go to our node-repo and (optionally) the UI-repo, to get started. Instructions for Windows, Mac and Linux (debian based, 64 bits).
- Download and set up a full node
- Launch the UI
- Become a validator
On Windows
General Notes
Every time something is written in <brackets>
, this means you have to replace this with your input - without the <>
. For terminal commands, >
and $
means you must type what comes after that on windows and mac respectively. #
Means it's just a comment/explanation, and must not be typed.
# On Windows:
> do_xyz
# On Mac/Linux
$ ./do_xyz
Means you must type/paste exactly do_xyz
or ./do_xyz
.
Install and start a full node
Get the binary here. To make the actual commands the same for all users, I'm going to save and unzip to C:\joystream-node-windows-x64
. Feel free to store it somewhere else, just make sure you use the correct path.
If you don't have it, download Microsoft Visual Studio C++ runtime distributable 2015 here.
Get the missing ssl libraries here, extract, and move the files ssleay32.dll
and libeay32.dll
to C:\joystream-node-windows-x64
.
Open Command Prompt
(type in cmd... after clicking windows button):
> cd C:\joystream-node-windows-x64
> joystream-node.exe
# If you want your node to have a public name:
> joystream-node.exe --name <nodename>
This should start your full node. Note that this window has to stay open in order to keep your node running!
Launch the UI
To get started right away, go to the UI website and connect to you full node by changing the remote node/endpoint
to Local Node
under Settings
.
If you'd rather go the advanced route, and install the UI App locally, instructions can be found here. Note that there are no extra benefits or features with this option.
Become a validator
Note that there may be competition for this spot, so be prepared to fight!
If you chose not to download the UI locally, go here to access to same UI. Go to settings
, and and change the remote node/endpoint to Local Node (127.0.0.1:9944) to have it point to your own node.
In the app, open My Account
in sidebar, and create a new account. Make sure to select raw seed
instead of mnemonic
and save the raw seed
somewhere. Back up the account if you wish, it will be called 5MyAddress.json
. Then go to the Faucet
, and claim tokens. After they are received, navigate to Validators
. Check the current status, to find out how much you need to stake to get accepted, and click the Validator staking
tab. Stake the amount of tokens you want to stake. Navigate back to Validators
and your address should show under next up
.
Now, go to the terminal window where your node is running, and stop it using ctrl+c. Take your raw seed
from wherever you saved it, then:
> joystream-node.exe --validator --key <raw seed>
# add --name <nodename> at the end if you want to
You will become a validator in the next era! Remember to keep your node command prompt window open at all times to keep validating. If you do want to stop validating, unstake
your funds and wait for the next era to avoid getting slashed.
You should see your node listed on the network status site.
On Mac/Linux
Install and start the node
Get the binary for Mac here, Linux here or use wget
as shown in the beginning of the code block. Open the terminal, and do the following on your Mac:
# Get the binary with wget:
$ cd
$ wget https://github.com/Joystream/substrate-node-joystream/releases/download/v0.10.1/joystream-node-osx-x86_64.zip
-----
# If you downloaded it with the link:
$ cd
$ cp ~/Downloads/joystream-node-osx-x86_64.zip ~/
-----
# Regardless
$ tar -vxf joystream-node-osx-x86_64.zip
$ ./joystream-node
# If you want your node to have a public name:
$ ./joystream-node --name <nodename>
On linux:
# Get the binary with wget:
$ cd
$ wget https://github.com/Joystream/substrate-node-joystream/releases/download/v0.10.1/joystream-node-linux-gnu-x86_64.zip
-----
# If you downloaded it with the link:
$ cd
$ cp ~/joystream-node-linux-gnu-x86_64.zip ~/
-----
# Regardless
$ sudo apt-get install unzip
$ unzip joystream-node-linux-gnu-x86_64.zip
$ ./joystream-node
# If you want your node to have a public name:
$ ./joystream-node --name <nodename>
Launch the UI
To get started right away, go to the UI website and connect to you full node by changing the remote node/endpoint
to Local Node
under Settings
.
If you'd rather go the advanced route, and install the UI App locally, instructions can be found here. Note that there are no extra benefits or features with this option.
Become a validator
Note that there may be competition for this spot, so be prepared to fight!
If you chose not to download the UI locally, go here to access to same UI. Go to settings, and and change the remote node/endpoint to Local Node (127.0.0.1:9944) to have it point to your own node.
In the app, open My Account
in sidebar, and create a new account. Make sure to select raw seed
instead of mnemonic
and save the raw seed
somewhere. Back up the account if you wish, it will be called 5MyAddress.json
. Then go to the Faucet
, and claim tokens. After they are received, navigate to Validators
. Check the current status, to find out how much you need to stake to get accepted, and click the Validator staking
tab. Stake the amount of tokens you want to stake. Navigate back to Validators
and your address should show under next up
.
Now, go to the terminal window where your node is running, and stop it using ctrl+c. Take your raw seed
from wherever you saved it, then:
$ ./joystream-node --validator --key <raw seed>
# add --name <nodename> at the end if you want to
You will become a validator in the next era! Remember to keep your node command prompt window open at all times to keep validating. If you do want to stop validating, unstake
your funds and wait for the next era to avoid getting slashed.
You should see your node listed on the network status site.
Disclaimer
All forward looking statements, estimates and commitments found in this blog post should be understood to be highly uncertain, not binding and for which no guarantees of accuracy or reliability can be provided. To the fullest extent permitted by law, in no event shall Joystream, Jsgenesis or our affiliates, or any of our directors, employees, contractors, service providers or agents have any liability whatsoever to any person for any direct or indirect loss, liability, cost, claim, expense or damage of any kind, whether in contract or in tort, including negligence, or otherwise, arising out of or related to the use of all or part of this post, or any links to third party websites.