Rein was born at the beginning of 2016 as an alternative decentralized freelance market for jobs. This service combines ECDSA, multisig escrowing, microhosting servers and the blockchain technology. The idea behind it is to serve as a labor market, where customers and freelancers interact freely, with the help of mediators that intervene only to solve any dispute that could arise.
The service works in a p2p fashion, one not building from scratch but on top of the internet. To access the REIN market, we only need to use its command-line interface: Python-Rein.
Setting up Python-Rein
We need to download the REIN repository from the REIN project’s official Github and then proceed with the installation using the command below (inside the python-rein folder):
$ pip install –editable .
Once the environment has been successfully installed, the rein command should be available from the command line. We proceed now to download two more repositories from Github, one is to provide a signature tool (necessary for setting up an account) and the other one is modified version of Coinbin (which helps REIN to make signatures with ECDSA).
To get into the market, we have to configure our credentials for the site. We may have as many identities as we want; perhaps, there are advantages to sticking with just one, being establishing a reputation, which will most bring benefits to them.
Roughly, there are three roles inside REIN: Job creator, worker and mediator. The first two explain themselves and there is no practical distinction between these roles (i.e. everyone can take any of the three roles), while the third one refers to users willing to escrow. Of course any user may take all the three roles at once, without a problem.
To configure an identity we must issue the rein setup command; a prompt will guide us through the configuration process, asking for a user name, a master address, a delegate address and its private key, a signed message (by using the earlier mentioned signature tool, which stores the private key of the master address), among other data. Just before signing the enrollment agreement (message), we will be asked if we want mediator or not; if our answer is positive we will be prompted for our escrow fee.
Now, we need to either purchase some micro servers (using rein buy) or, alternatively, use the two community servers offered by the Rein Project. If our choice is the later, we have to issue the following commands:
$ rein request rein1-sfo.reinproject.org:2016
$ rein request rein2-ams.reinproject.org:2016
Finally, we use the rein sync command to upload our enrollment.
There are many available commands within Python-Rein, one of the most important is to check our accounts’ status. Depending on the specific roles you want to take, there are three kinds of commands:
1. rein bid: For workers, which shows a list of jobs opening for bidding.
2. rein post: For job creators, which offers the job and gives associated details, and picks a mediator.
3. rein resolve: For mediators to resolve disputes (disagreements between the worker and the job creator).
For more commands and details on its usage, check the Rein Project official site.
Opinion on the site
The set up process is easy, perhaps some who has familiarity with using console commands might come in handy. The project is relatively new and hence its user base still needs to grow; on the other hand, that is a great chance of making a name for oneself in the REIN market. The project is in constant development and delivering frequent updates, for example, supporting for the TOR network has just been added recently.
The trust system still is in its early days, so job creators will need to research the mediators by themselves. The project is innovative and open source, welcoming contributors to help building the market.