Skip to content

Commit 32341dc

Browse files
committed
Merged master into origin/master
2 parents eb90833 + e7278a3 commit 32341dc

File tree

9 files changed

+94
-122
lines changed

9 files changed

+94
-122
lines changed

doc/HOWTO-setup-rein-LV.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Note: This is for version v0.2.4-alpha, currently only the english version is available for v0.3.0-beta.
2+
13
kā sagatavot Rein, lai sāktu pelnīt bitcoinus
24

35
Ievads/INTRODUCTION
@@ -192,4 +194,4 @@ Ja esi starpnieks kurš atrisina strīdu, tu redzēsi pārskaitījumu sarakstā
192194

193195
Ja kaut ko vēlies sīkāk paskaidrotu, augšā ir video Rein - Getting started: Install and Setup - part 2/4
194196

195-
Ja ir kādi jautājumi, korekcijas vai rekomendācijas lūdzu dalies ar kļudu šeit vai iesniedz pull request.
197+
Ja ir kādi jautājumi, korekcijas vai rekomendācijas lūdzu dalies ar kļudu šeit vai iesniedz pull request.

doc/HOWTO-setup-rein-RU.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Note: This is for version v0.2.4-alpha, currently only the english version is available for v0.3.0-beta.
2+
13
#Как установить Rein и начать зарабатывать Bitcoin
24

35
##Вступление

doc/HOWTO-setup-rein-TL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
Note: This is for version v0.2.4-alpha, currently only the english version is available for v0.3.0-beta.
2+
13
#Paano i-setup ang Rein Para Magsimula kumita ng Bitcoin
24

35
##Pagpapakilala ng Rein

doc/HOWTO-setup-rein.md

Lines changed: 31 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,37 @@
22

33
##Introduction
44

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 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.
66

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.
88

99
## Time to complete
1010

11-
10-20 minutes
11+
3-5 minutes
1212

1313
##Prerequisites
1414

15-
1615
Before following this tutorial, you'll need a few things.
1716

1817
You should have Python 2.7 with pip installed on your computer and be reasonably certain that the computer is free of malware.
1918

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.
2321

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.
2523

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
2725

28-
##Step 1 -- Install python-rein and helper apps
26+
The first step in using Rein is to install python-rein on your computer.
2927

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
3129

32-
###Clone the repo
30+
Let's download `python-rein` now from one of these links:
3331

34-
Let's clone `python-rein` now into your home folder and select v0.2.4-alpha with these commands:
32+
[Download (reinproject.org)](https://reinproject.org/bin/latest)
33+
[Download (github)](https://github.com/ReinProject/python-rein/archive/v0.3.0-beta.zip)
3534

36-
$ git clone https://github.com/ReinProject/python-rein.git ~/python-rein
37-
$ git checkout v0.2.4-alpha
35+
Unzip this into folder python-rein.
3836

3937
You should now have a copy of the `python-rein` repository in ~/python-rein
4038

@@ -58,110 +56,31 @@ You can use --help with any of the commands to get more information; for example
5856

5957
$ rein setup --help
6058

61-
###Download the helper apps
62-
63-
To help you make digital signatures the bitcoin-signature-tool and a modified version of Coinbin have been built for Rein.
64-
65-
$ cd
66-
$ mkdir Rein && cd Rein
67-
$ git clone https://github.com/ReinProject/bitcoin-signature-tool.git
68-
$ git clone https://github.com/ReinProject/coinbin.git
69-
70-
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
8360

84-
Before we obtain any addresses, let's encrypt the wallet.
85-
86-
<img src="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-
<img src="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.
9962

10063
$ rein start
10164

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.
109-
110-
<img src="http://reinproject.org/img/rein-web-enroll.png">
111-
112-
###Get a private key from Bitcoin-Qt
113-
114-
We will need the private keys for the two above addresses. We'll start by getting the private key from Bitcoin-Qt for the Delegate address.
115-
116-
Open the Debug Window to the Console tab.
117-
118-
<img src="http://reinproject.org/img/debug.png">
119-
120-
There you will type the following command:
121-
122-
dumpprivkey <your address>
123-
124-
<img src="http://reinproject.org/img/dumpprivkey1.png">
125-
126-
After a second or two, this will print out the private key.
127-
128-
<img src="http://reinproject.org/img/dumpprivkey2.png">
129-
130-
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.
13166

13267
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.
13368

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.
139-
140-
<img src="http://reinproject.org/img/master-signing.png">
141-
142-
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.
14370

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.
14572

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.
14774

148-
Paste this text into your editor and save the file.
75+
##Step 3 -- Enable Tor (optional)
14976

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.
15978

16079
rein tor true
16180

162-
##Step 5 -- Register and Upload Enrollment
81+
##Step 4 -- Register and Upload Enrollment
16382

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.
16584

16685
$ rein request rein1-sfo.reinproject.org:2016
16786

@@ -171,20 +90,22 @@ You should now have a message saying you have 1 bucket at the above server. Repe
17190

17291
Again, a message should confirm that you have 1 bucket at the above server.
17392

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
17596

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.
17798

17899
$ rein sync
179100

180101
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.
181102

182-
You are now ready to start earning bitcoin through Rein.
103+
You are now ready to start using Rein.
183104

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.
185106

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
187108

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
189110

190111
If you have any questions, corrections, or recommendations please post an issue here or submit a pull request.

doc/release-notes.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
Python-rein version v0.3.0-beta is now available from:
2+
3+
<https://reinproject.org/bin/python-rein-v0.3.0-beta/>
4+
5+
This is a new major version release, including a new
6+
identity management scheme, ratings, and payment
7+
features..
8+
9+
Please report bugs using the issue tracker at github:
10+
11+
<https://github.com/ReinProject/python-rein/issues>
12+
13+
To receive security and update notifications, please follow:
14+
15+
<https://twitter.com/ReinProject>
16+
17+
18+
v0.3.0-beta Change log
19+
======================
20+
21+
Detailed release notes follow. This overview includes changes that affect
22+
behavior, not code moves, refactors and string updates. For convenience in locating
23+
the code changes and accompanying discussion, both the pull request and
24+
git merge commit are mentioned.
25+
26+
27+
### Key Management and Payments
28+
- #91 `bcee278` Integration of bip32/39 and transaction sign&send (piratelinux) (ads2alpha)
29+
30+
### Reputation
31+
- #97 `533bf6f` SIN generation and ratings (FreakJoe)
32+
33+
### UX
34+
- #94 `d10098c` Fixes and polish for 0.3 release (weex)
35+
- #98 `24afc3b` Final v0.3 fixes and polish / Mediation jobs page for mediators (weex)
36+
37+
### Miscellaneous
38+
- #95 `13894fb` `make config settings much easier to define and access (weex)
39+
40+
41+
Credits
42+
=======
43+
44+
Thanks to everyone who directly contributed to this release:
45+
46+
- ads2alpha
47+
- David Sterry
48+
- FreakJoe
49+
- piratelinux

rein/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1428,7 +1428,7 @@ def register_user():
14281428
'dkey': dkey,
14291429
'dxprv': dxprv,
14301430
'will_mediate': will_mediate,
1431-
'mediator_fee': request.form['mediatorFee'],
1431+
'mediator_fee': request.form['mediatorFee'].replace('%',''),
14321432
'msin': msin,
14331433
'testnet': rein.testnet}
14341434
new_identity = User(user_data)

rein/html/js/setup.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ function renderConfirmationPage() {
5959
function confirmMnemonic() {
6060
// TODO - Add a retry counter
6161
mnemonic = sessionStorage.mnemonic.split(' ');
62-
wordsToCheck = sessionStorage.wordsToCheck;
62+
wordsToCheck = sessionStorage.wordsToCheck.split(',');
6363
conditions = [];
64-
for (var i = 0, len = wordsToCheck; i < len; i++) {
64+
for (var i = 0; i < wordsToCheck.length; i++) {
6565
wordNo = wordsToCheck[i];
6666
conditions[i] = document.getElementById('word' + wordNo).value == mnemonic[wordNo - 1];
6767
}
6868
for (var i = 0; i < conditions.length; i++) {
6969
if (conditions[i] == false) {
70-
errors = "Some of the words you entered are incorrect. Try again.\n";
70+
errors = "Some of the words you entered are incorrect. Please try again or restart the setup.";
7171
document.getElementById('errors').innerText = errors;
7272
return
7373
}
@@ -79,7 +79,7 @@ function submitData() {
7979
urlEncodedDataPairs = ['name=' + sessionStorage.name, 'contact=' + sessionStorage.contact,
8080
'mediate=' + sessionStorage.mediate, 'mediatorFee=' + sessionStorage.mediatorFee,
8181
'mnemonic=' + sessionStorage.mnemonic];
82-
urlEncodedData = urlEncodedDataPairs.join('&').replace(/%20/g, '+');
82+
urlEncodedData = urlEncodedDataPairs.join('&').replace(/\+/, '%2B');
8383
var xhttp = new XMLHttpRequest();
8484
xhttp.open('POST', '/register-user', true);
8585
xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

rein/html/setup.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ <h4 id="ajax-header">Sign Up</h4>
1515
</div>
1616
</div>
1717
<div class="row" style="color: red">
18-
<div class="col-sm-offset-1 col-sm-6" id="errors">
18+
<div class="col-sm-offset-1 col-sm-6" style="padding-bottom: 10px;" id="errors">
1919
</div>
2020
</div>
2121
<div id="ajax-elements">

rein/lib/user.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,7 @@ def __init__(self, user_data):
3232
self.dxprv = user_data['dxprv']
3333
self.enrolled = False
3434
self.testnet = user_data['testnet']
35-
36-
if user_data['will_mediate'] == u'1':
37-
self.will_mediate = True
38-
else:
39-
self.will_mediate = False
35+
self.will_mediate = user_data['will_mediate']
4036

4137
if self.will_mediate:
4238
self.mediator_fee = float(user_data['mediator_fee'])

0 commit comments

Comments
 (0)