status-im / design

Mozilla Public License 2.0
6 stars 3 forks source link

Design Status node instructions #40

Closed hesterbruikman closed 4 years ago

hesterbruikman commented 4 years ago

Project

Objectives

Deliverables

UPDATE: It's important that all deliverables are editable.

Scope

Platforms

Linux system

Use cases

  1. Set up node ~* (nano)PC with Ethereum fullnode (can be LES, ULC)~
    • (nano)PC without Ethereum fullnode
  2. Configure node (Mailserver, Whisper, Bootnode only)
  3. Run node
  4. Connect Status to node
  5. Review/monitor Logs

Target users

Anyone with a dedicated computer that can run Linux

Background

Status currently hosts nodes that act as Whisper network bootnodes and Mailservers to enable its messaging functionality. These nodes are hosted in US, Asia and Europe and are paid for by Status. This introduces a dependency. There are several reasons why this is undesirable:

It's essential for the sustainability of the Status Network that more people are able to set up a node independently or with support of the community.

For more background info read this thread: https://discuss.status.im/t/increasing-bootstrap-node-diversity-kiss-edition/1138

Note 1: Status nodes are different from Ethereum bootnodes which people might already be running. Note 2: Once set up a node can have different configurations: a) Mailserver mode - around 600 MB per month b) Whisper Network bootnode mode In addition you can set up an Ethereum full node, this takes significantly more diskspace 160-180GB Setting up an Ethereum full node is outside of the scope of this bounty.

Contributor profile

To complete this bounty you ideally have the following skills and equipment:

Skills

Equipment

https://our.status.im/bulletproofing-against-chaos-unicorns-with-status-on-arm/

Collaboration

Online communication with:

luisberns commented 4 years ago

@hesterbruikman for our doc, as we also instruct how to add the ENODE addr in the Status app, I think would be interesting to add how to obtain aswell.

I updated the content in the notes, can you check? - https://notes.status.im/WJqu-tZoRtqVRO61Ic4NxQ?view#Obtain-your-ENODE-address0

jakubgs commented 4 years ago

I think would be interesting to add how to obtain as well.

 $ cd _assets/systemd/mailserver
 $ make enode
enode://123qweASD@12.34.56.78:30303

Or even simpler:

 $ _assets/scripts/get_enode.sh
enode://123qweASD@12.34.56.78:30303

It should show up right after setup too. Though now that I think about it we should include the password in the enode address. Here's the change: https://github.com/status-im/status-go/pull/1811 Also added showing as QR code if qrencode is available in that PR.

luisberns commented 4 years ago

@jakubgs I was waiting for the PR to be accepted before updating the docs. I just updated the description of how to generate the ENODE address as well as the QR Code.

hesterbruikman commented 4 years ago

Thanks @luisberns ! Walked through the process over the weekend and the option to generate a QR code will make such a difference. Copying manually is a really error sensitive approach:S

Cross-posting here what I wrote on our discuss forum. https://discuss.status.im/t/get-your-node-running/1488/19?u=hester

I ran into issues at the last step and I think it has to do with setting a password, which is not included in the steps. Does either of you @jakubgs @luisberns have any thoughts on if, when this should happen? Alternatively it could be that I made a mistake when copying the enode uri. I triple checked, but well... it's manual. Still doesn't change the fact that a password is required when entering the enode in Status.

hesterbruikman commented 4 years ago

Latest version of the manual posted here for visibility: https://discuss.status.im/t/get-your-node-running/1488/22?u=hester

Made a great step forwards in making it more accessible for the average user to set up a node. @luisberns Thanks for your work on this, and your patience! This issue spanned way beyond the Dec/Jan timeframe I had in mind due to shifting priorities.

@rachelhamlin can you support in bounty payout? Sorry, I can't tag @StatusSceptre in here :/

gitcoinbot commented 4 years ago

⚡️ A tip worth 500.00000 SAI (500.0 USD @ $1.0/SAI) has been granted to @luisberns for this issue from @StatusSceptre. ⚡️

Nice work @luisberns! To redeem your tip, login to Gitcoin at https://gitcoin.co/explorer and select 'Claim Tip' from dropdown menu in the top right, or check your email for a link to the tip redemption page.

gitcoinbot commented 4 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This Bounty has been completed.

Additional Tips for this Bounty:


luisberns commented 4 years ago

Thank you @hesterbruikman, it was nice doing this bounty and I'm available in case of other opportunities!