Open karamble opened 7 years ago
I love points 1, 2, and 3. We really need that. As I disscussed in decred/decred-release/issues/95 I'm not sure that there is much we could do for point 4.
I think it might be good to add a sort of architectural/system setup bit too (even though that will certainly be continuous). For example, have wallet on a single use machine or VM with limited access, offline seed storage, running wallet on a secure OS (although that last bit could get into a religious war as to what that means). Things like that.
The docs survey mentioned this so I'm adding that tag even though this is a pre-existing issue and we still cover those :)
I've got a couple docs I started that address some of these issues:
https://github.com/jzbz/dcrdocs/blob/master/docs/mining/proof-of-stake/solo-proof-of-stake.md
https://github.com/jzbz/dcrdocs/blob/master/docs/mining/proof-of-stake/secure-cool-wallet.md
@jzbz I like that you include details for using a Pi 3 for a cool wallet. Your docs include the steps for both points 1 and 3. I will take a stab at pt 2 and other general architectural/system considerations relating to security best practices if you guys think that pt 4 isn't useful.
@jzbz In https://github.com/jzbz/dcrdocs/blob/master/docs/mining/proof-of-stake/secure-cool-wallet.md you have the flag to enable voting set. My understanding is the idea of the cool wallet article is this will be the fund holding and ticket buying wallet, but not the voting wallet. Unless I'm misunderstanding and --enablevoting is required for doing ticket purchases, it seems confusing that it's also in the cool wallet article.
Also, I think you're missing a link to the solo PoS article in the second paragraph of the cool wallet article. Text: as described in Solo Proof-of-Stake (PoS) Mining.
@rocknet You are correct, --enablevoting
should not be there as that wallet does no voting, only ticket purchasing. Will fix that as well as the link to the Solo PoS guide, thanks.
@jzbz Two other things came to me while working through this as a relative noob to solo staking, maybe you could cover them in the article.
1) Does it matter when you clone an instance to another region? That is, do you need to do dcrctl --wallet getnewaddress
before you clone, or does that not matter? I thought you might need to clone after having the first wallet generate a new address.
This one might not be a question for this article, as it's more foundational knowledge, but I felt like I needed clarity specifically for solo staking.
2) Let's say you had two cool wallets purchasing tickets, perhaps one for personal funds and another with retirement or corporate funds. Can you use the same single address from the voting-only wallet for multiple ticket buying wallets? I could see this going either way, being tied one source to one voting address, or many to one.
All in all these are really helpful and it'd be great to see them merged into the docs at some point.
@jzbz Also, though the Pi is 64bit, Raspbian Stretch is not, so the reference to the 64 bit ARM version of dcrinstall here: https://github.com/jzbz/dcrdocs/blob/master/docs/mining/proof-of-stake/secure-cool-wallet.md should be fixed. Thanks.
We want Documentation to guide Users trough various aspects of 'System Hardening' Can include topics like: