Guides to get started on our current testnet in links below
- Table of Contents
- Overview
- Contribute
- Get Paid to Participate
- Get Started
- Active Roles
- Other Features and Future Roles
- Glossary
This repo contains detailed guides and help for users to interact with our current testnet.
If you find something that is wrong or missing, please make an Issue, or better yet, fork the repo and make a PR to help us improve! It might even qualify for a reward. For more information on this, please see the bounties repo.
Some of the roles will be compensated in Monero. Our philosophy behind the choice of paying for participation is outlined in this blog post. Information about the current incentive structure can be found in the list of Active Roles below.
Note
After introducing Memberships
to the platform, we found it to be confusing to have a concept of both Accounts
and Memberships
. We are in the process of renaming the Accounts
to the Keys
, but there are still traces of Accounts
showing up.
In order for us know what address to pay, you must tie your Joystream address to your monero address. The easiest way to do this is in the My memo
tab under the My Keys
sidebar.
# Only the part in the line below goes in the memo:
"4or8YourXmrAddressInDoubleQuotesAndNothingElse"
For our convenience, we ask you to use a regular address or sub-address (95 char) instead of the (106 char) payment-ID style address. The latter will not be paid out automatically, but if you ask nicely, you might get away with it once.
To get started and participate on the Joystream testnets, you must first generate Key(s)
, and sign up for a Membership
. This requires no software or downloads, and can be done in your browser here.
Click My Keys
in the sidebar, and then select the Create Keys
tab. The choices you make from here, depends a little on how you want to participate. If you just want to play around, you can just follow the defaults. If you have a specific role in mind, you might want to follow the links to the instructions in the header, or access them via Active Roles.
In any event, the Keys
will be stored in your browser for your convenience, but it's safest to save your Raw seed
(you need it for certain roles) and save the .json file. The Mnemonic
can also be used to restore your Keys
, but will not do you any good if you want to become a Validator
.
To become a Member
of the platform, you need some tokens. Either click the Free Tokens
link, or click here. After you solved the captcha, your tokens should be on their way.
Note All transactions (extrinsics) cost 1 Joy token, so you should always keep a little in reserve, as this also applies to such actions as voting, unstaking, and posting in the new forum.
Now, click Members
in the sidebar, and select the Register
tab. Choose a Handle/nickname
. Optionally, provide a link to an image file for your avatar, and fill in the markdown enabled About
field.
The list below shows the currently active roles available at our current testnet.
In proof of stake systems, block producers, or Validators
, are typically paid a fixed amount for each block produced. Validators
must run a full node.
A detailed guide to setting up the Validator
node and settings can be found here.
Due to some connectivity issues we had for a while, the Validator
nodes was often getting booted. Because of this, we are increasing the payout pool from $30 to $50 per week.
blocktime = 6
weekly_reward = 5000
seconds_in_week = 60*60*24*7
blockreward = (weekly_reward * blocktime)/seconds_in_week
print(blockreward)
----
0.05
The number - 0.05 cents per block - seems a bit underwhelming, but validation requires little effort for the user after setup, and blocks come in every 6 seconds. With armv7 binaries or low-end VPS nodes, it should be cheap to run!
Validators
must include their XMR address in the memo
of their controller
key.
Payouts will be made every Monday at ~11:00GMT.
Council Members
are elected by the stakeholders in the system to act in the interest of their constituency. Currently, Council Members
can only vote on proposals
to upgrade the runtime
. In the future, the council will also allocate the platforms resources, and hire executive personnel to run the day to day operations.
A detailed explanation the election cycle and responsibilities can be found here.
We are looking at how to best incentivize them to act in the platforms long term interest. As this position generated less interest than we anticipated, we are tweaking the incentives by increasing the payout to get elected from $8 to $10.
If during you term a proposal to upgrade the runtime is submitted by the sudo
key, 5CJzTaCp5fuqG7NdJQ6oUCwdmFHKichew8w4RZ3zFHM8qSe6
anyone that votes yes
will receive a bonus worth $10.
During the Announcement
and Voting
stage, you should include some information about yourself, and why you should get elected in your memo
field. If you do get elected, make sure to change the memo
field to your monero address in order to get your reward.
Payouts will be made at ~11:00GMT the day after the election/vote.
You can't have a video platform without videos, so someone has to take the role storing the data. In the future, this will be highly specialized role, focusing on what is implied by the name of the role. For Acropolis, it will in practice also entail the future Bandwidth Provider
role.
Unlike Validators
that can come and go without too much friction (at least for now), a new Storage Provider
will currently need to replicate the entire content directory. As a consequence, the platform needs some stability for this role to avoid providing a poor user experience, or worse, loss of data.
Up to 10 Storage Providers
that keep a full copy and provides continues service for at least 24h will compete for $300 per week. In addition, you will earn $0.025/GB/week calculated on an average basis. Please note that the setup is a lot more complicated this time, so some experience using linux on the command line is required. You will also need a domain to point to your node, so unless you already own one (that you don't mind using), you will need to buy one... A detailed guide to setting up the node can be found here.
We will try our best to police the Storage Providers
, so if you are not doing your job (either lack of maintenance or cheating), at least make sure to not get caught!
Storage Providers
must include their XMR address in the memo
of their membership
key, or their storage
key to qualify for rewards. The former is "better", but requires a little more work...
Payouts will be made every Monday at ~11:00GMT.
Unlike the Validators
and Council Members
, the bug bounty payments will be somewhat subjective. Long term, such decisions will be resolved by the platform, so in future testnets these payouts will at least partially be made by the Council.
We have recently made a bounties repo where you can find specific tasks and their rewards, and we will add more bounties and evolve the system as we grow. In addition to the bounties we propose, we are always looking for suggestions for bounties from the community.
If you find a bug, potential improvement, or just an idea, there are a couple of ways to earn your reward:
Go to the applicable technical repo(s), e.g. node repo, Pioneer repo, storage node repo, runtime-repo, etc. and make an Issue
. You will be compensated based on the importance and "quality", the latter of which is measured from the level of details in general, like how to reproduce, pasted log outputs, etc.
If you find something missing, inaccurate or poorly described, either report an Issue
, or even better, make a Pull request
.
This applies equally to this repo as well as the other non-code repos, e.g. landing repo, communications repo, bounties repo, etc. it will most likely be covered by this bounty. Note that the bar here is quite low (grammar, dead links, etc.) so more significant findings can lead to significantly larger payouts.
If you want, you can just make a PR directly, and your contribution will be compensated. If it's an extensive job though, it would be best for all parties if you propose a bounty yourself as outlined here. We could then agree on terms in advance, so no one will be left disappointed.
The contributor must include either their Joystream or monero address when submitting the issue/PR. If you choose the former, you must then make sure the add your monero address to the memo
field of your Joystream address.
This section covers other things you can do after getting started, that isn't a paid role as of now.
Since Athens, members
can upload content. Currently, there are no rewards for doing so, but any user created content is welcome!
This is the first step in providing users, infrastructure role participants, Council Members
and future stakeholders a way to communicate and coordinate. Hopefully, this method of interaction will further help develop a strong community around Joystream. Note that you have to be a member
to post, and only the forum moderator (forum sudo) can create categories.
TODO