You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rein is a new decentralized labor market that provides a safe and easy way to earn Bitcoin and to obtain services from professionals globally. It simplifies the process of entering into a digitally-signed contract and behaving honestly to get what they want. Currently, as Rein is still in alpha, the process requires use of a command line client. However, the software is easy to install with commands that make sense once you've seen them in action.
5
+
Rein is a new decentralized labor market that provides a safe and easy way to earn Bitcoin and to obtain services from professionals globally. It simplifies the process of entering into a digitally-signed contract and behaving honestly to get what you want whether that's work or money. Currently, as Rein is in beta and the process requires use of a command line client. However, the software is easy to install and we appreciate your feedback to help make it easier.
6
6
7
-
In this tutorial, we will show you how to use Rein to earn Bitcoin or get work done online. We will also show you how to generate a couple of standalone Bitcoin keys that will form the basis of your user account in Rein.
7
+
In this tutorial, we will show you how to install the software, setup your account, and get connected.
8
8
9
9
## Time to complete
10
10
11
-
10-20 minutes
11
+
3-5 minutes
12
12
13
13
##Prerequisites
14
14
15
-
16
15
Before following this tutorial, you'll need a few things.
17
16
18
17
You should have Python 2.7 with pip installed on your computer and be reasonably certain that the computer is free of malware.
19
18
20
-
You should also have Bitcoin Core (or similar) installed. It's not required that it be sync'd to the blockchain for this HOWTO. We'll be using it to generate addresses but to be able to detect payments and spend your earnings, you will want to sync it up later.
21
-
22
-
You should have a way to boot into a GNU+Linux Live CD environment. Perhaps by using unetbootin and the latest Ubuntu ISO with a thumb drive.
19
+
You should have a flash drive or two and a piece of paper. These will be used to save copies of the seed, a list of words that can be used to recover your
20
+
identity should your computer be compromised or your data lost.
23
21
24
-
You should have a few flash drives onto which you will backup a Bitcoin wallet.
22
+
Once you have all of the prerequisites out of the way, let's move on to installing the python-rein client.
25
23
26
-
Once you have all of the prerequisites out of the way, let's move on to installing the python-rein client and helper apps.
24
+
##Step 1 -- Install python-rein
27
25
28
-
##Step 1 -- Install python-rein and helper apps
26
+
The first step in using Rein is to install python-rein on your computer.
29
27
30
-
The first step in using Rein to earn Bitcoin is to install the python-rein software on your computer. Currently, the best way to install python-rein is to clone it from the Github repository. In the future, it will likely be available through your package manager.
28
+
###Download the software
31
29
32
-
###Clone the repo
30
+
Let's download `python-rein` now from one of these links:
33
31
34
-
Let's clone `python-rein` now into your home folder and select v0.2.4-alpha with these commands:
You should now have the bitcoin-signature-tool and Coinbin for Rein to help make signatures with Bitcoin ECDSA private keys.
71
-
72
-
Note: If you are already familiar with Bitcoin addresses, signatures and wallets, you can skip to Step 3 to setup your Rein identity.
73
-
74
-
##Step 2 -- Prepare a Bitcoin Wallet
75
-
76
-
Rein provides the ability to have as many identities as you would like, though for anything where trust and reputation are important, you will probably want to transact through your main identity. These identities are defined by a Bitcoin ECDSA keypair (i.e. an address) which we call the identity's master address.
77
-
78
-
In this setup, we'll show you how to use **Bitcoin Core (or similar)** to generate Bitcoin addresses and save their private keys for convenient use later.
79
-
80
-
###Create an encrypted Bitcoin Wallet
81
-
82
-
Bitcoin Core (or similar) provides a very simple way to create Bitcoin addresses. When the program `bitcoin-qt` is opened for the first time, it generates a wallet automatically. This wallet can then be encrypted to protect against theft and copies of the wallet can be backed up to removable media.
59
+
##Step 2 -- Create Your Account
83
60
84
-
Before we obtain any addresses, let's encrypt the wallet.
85
-
86
-
<imgsrc="http://reinproject.org/img/encrypt.png">
87
-
88
-
Enter a strong password of at least 10 characters. It is **very important** that you have this password when you need access in the future so put it in your password manager, write it down, and/or memorize it. If you lose the password or the wallet file, you will lose access to any Rein identities and Bitcoin funds for which it holds the keys.
89
-
90
-
###Backup the Wallet
91
-
92
-
Make a few backup copies of the wallet to removable media such as flash drives, memory cards, or optical media. Ideally you will store these in a safe or safe deposit box.
93
-
94
-
<imgsrc="http://reinproject.org/img/backup.png">
95
-
96
-
##Step 3 -- Create Your User Account
97
-
98
-
Let's create your Rein user account, also known in the software as an identity.
61
+
Let's create your Rein user account.
99
62
100
63
$ rein start
101
64
102
-
You should see a web form to fill out. Note that all of the information in your setup except the private keys will become public and will be available to all users once pushed to a server.
103
-
104
-
###Obtain address from Bitcoin-Qt
105
-
106
-
Let's obtain the Master Bitcoin address from Bitcoin-Qt. Here you will go to File -> Receiving Addresses... and click new until there are a couple of addresses showing. Copy the first address and paste it here.
107
-
108
-
Next, we'll get a different address from Bitcoin-Qt and copy and paste it in for the Delegate Bitcoin address.
Copy this key to the Delegate Bitcoin private key field.
65
+
You should see a web form to fill out. Note that all of the information displayed during setup will become public and is available to all users once pushed to a server. Private keys are kept locally and are never shared or sent to servers.
131
66
132
67
Choose whether you want to be a mediator or not and set your fee. For example, if you put 3% here, you would earn 0.003 BTC for mediating a 0.1 BTC transaction, whether you need to resolve a dispute or not. Click next.
133
68
134
-
###Sign the enrollment
135
-
136
-
Based on the information you entered, a document called an enrollment will be made. To finish creating your user account, we'll sign this text using the Bitcoin Signature Tool.
137
-
138
-
Open your browser and open the file at ~/Rein/bitcoin-signature-tool/index.html. Click over to the Sign tab and repeat the above procedure to get the private key for your Master Bitcoin address.
The private key will go in the Private Key box shaded in red.
69
+
Now you are presented with an ordered list of words that define your identity, called a mnemonic seed. Write these down and put a copy of the words, possibly encryted, onto a thumb drive or two.
143
70
144
-
Open enrollment.txt with your favorite plain-text editor, cut the content and paste it into the Message box shaded in yellow.
71
+
It is NOT advisable to save these words to your computer. If you think of these as cold storage for your identity, Rein generates a hot wallet for day-to-day use that is saved to your computer.
145
72
146
-
Click "Sign Message" to generate the signature. A block of text that includes the message and signature will be generated in the green area. Click it to highlight it and copy that text.
73
+
The next screen will require that you type certain words from the seed in to confirm that you have written them down. Click next.
147
74
148
-
Paste this text into your editor and save the file.
75
+
##Step 3 -- Enable Tor (optional)
149
76
150
-
Once this is done, you will complete the account setup by pressing enter back in the terminal window where `rein setup` is running.
151
-
152
-
Python-rein will check the signature in the text file you just created and if it is valid, will save the entire signed document to its local database.
153
-
154
-
We are now ready for the next step, which is to register with some Rein servers.
155
-
156
-
##Step 4 -- Enable Tor (optional)
157
-
158
-
Privacy is an important feature that Rein aims to provide to its users. For users of the [Tor Browser Bundle](https://www.torproject.org), a single command can be run to enable all traffic to be routed through Tor.
77
+
Privacy is an important feature that Rein aims to provide to its users. For users of the [Tor Browser Bundle](https://www.torproject.org), a single command can be run to enable all traffic to be routed through Tor. It's a good idea to do this before connecting to any servers.
159
78
160
79
rein tor true
161
80
162
-
##Step 5 -- Register and Upload Enrollment
81
+
##Step 4 -- Register and Upload Enrollment
163
82
164
-
Rein uses microhosting servers to share data between its users. Let's connect python-rein to two such servers, that are being operated as a community service by ReinProject.org.
83
+
Rein uses microhosting servers to share data between its users. Let's connect python-rein to two such servers that are being operated as a community service by our project.
165
84
166
85
$ rein request rein1-sfo.reinproject.org:2016
167
86
@@ -171,20 +90,22 @@ You should now have a message saying you have 1 bucket at the above server. Repe
171
90
172
91
Again, a message should confirm that you have 1 bucket at the above server.
173
92
174
-
### Upload your Enrollment
93
+
If you wish to donate to help pay for these servers, you can get a donation address with the `rein buy` command.
94
+
95
+
### Upload your account info
175
96
176
-
Next, we'll sync your local Rein database which contains only a single document, with the servers we `request`-ed in the previous section.
97
+
Next, we'll sync your local Rein database which contains only a single document, with the servers we requested in the previous section.
177
98
178
99
$ rein sync
179
100
180
101
This command checks each registered server for the documents we have created locally and uploads any that are incorrect or do not yet exist. In this case, two servers would be checked and neither would have our document, so two uploads would occur.
181
102
182
-
You are now ready to start earning bitcoin through Rein.
103
+
You are now ready to start using Rein.
183
104
184
-
To check the status of your account and any transactions you may be involved in, run `rein status`.
105
+
To check the status of your account and any transactions you are involved in, run `rein start` and visit http://localhost:5001.
185
106
186
-
If you are a mediator who must resolve a dispute, you will see a transaction listed in the output. Workers and job creators would also be advised to message you via the information in the Contact section of your enrollment.
107
+
To bid on any available jobs visit: http://localhost:5001/bid
187
108
188
-
For further reference, much of the above process is shown in the video [Rein - Getting started: Install and Setup - part 2/4 ](https://www.youtube.com/watch?v=PaF5URG2dLc)
109
+
To post a job visit: http://localhost:5001/post
189
110
190
111
If you have any questions, corrections, or recommendations please post an issue here or submit a pull request.
0 commit comments