Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates README.md to make it easier to setup the powpeg node. #241

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

jeremy-then
Copy link
Contributor

No description provided.

@jeremy-then jeremy-then self-assigned this Apr 10, 2024
@jeremy-then jeremy-then requested a review from a team as a code owner April 10, 2024 06:00
apancorb
apancorb previously approved these changes Apr 10, 2024
Copy link
Contributor

@apancorb apancorb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the guide! I followed the guide here and was able to compile and run the powpeg project successfully

README.md Outdated
### **Java JDK 1.8**
### Quick Setup

1. Install Java OpenJDK 1.8 from the binaries (if it is not installed yet)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, I feel like since there are so many ways to install Java 8, most users will just default to their preferred way to installing it.

README.md Outdated
1. `git clone https://github.com/rsksmart/rskj.git`
2. `cd` to the cloned `rskj` directory: `cd rskj`
3. Run the `configure.sh`
1. You will probably have to make it executable first with: `sudo chmod +x configure.sh`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked and it already is set as an executable

README.md Outdated
3. Replace the `'/home/user/another/dir/rskj/'` with the relative or absolute path where the `rskj` project is, for example: `/Library/powpeg-project/rskj`
6. Create a `fed.conf` file and set it up
1. Check the config file sample in `src/main/resources/config/fed-sample.conf`, copy it, rename it to `fed.conf` and update it as you need.
7. Optionally create a `logback.xml` file for the logging
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like this should not be optional and instead a required. When I tried running without logback I would get nothing to stdout, and once I set it up as explained here, I started to get log output displayed.

Copy link
Contributor

@nathanieliov nathanieliov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well done. Left a couple of comments.

README.md Outdated
@@ -21,7 +21,11 @@ This node is used by Rootstock PowPeg signatories to interact with the Bridge co
## Software installation help
Disclaimer: this documentation will be specific for macOS operating system.

### **Java JDK 1.8**
### Setup Details
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if we call this section "Quick setup for macOS"?

1. `cd` to the directory where you want to download it. It could be like `cd /Library/Java/JavaVirtualMachines/`
2. Download it like this: `sudo curl -o adoptopenjdk-8.tar.gz -L https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u-2021-05-08-08-14/OpenJDK8U-jdk_x64_mac_hotspot_2021-05-08-08-14.tar.gz`
3. Unzip it like this: `sudo tar -zxvf adoptopenjdk-8.tar.gz`
4. The unzipped directory could be named like this `jdk8u302-b01`. Run an `ls` command to see it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you think about including here the output of the command?

3. Unzip it like this: `sudo tar -zxvf adoptopenjdk-8.tar.gz`
4. The unzipped directory could be named like this `jdk8u302-b01`. Run an `ls` command to see it.
2. Add it to the `.bash_profile`.
1. Open the `.bash_profile` file with `nano` like this `nano ~/.bash_profile` and add the following 2 `export` lines:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Open the `.bash_profile` file with `nano` like this `nano ~/.bash_profile` and add the following 2 `export` lines:
1. Open the `.bash_profile` file with `nano` like this `nano ~/.bash_profile`(or do it using your favorite text editor) and add the following 2 `export` lines:

1. Open the `.bash_profile` file with `nano` like this `nano ~/.bash_profile` and add the following 2 `export` lines:
2. `export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk8u302-b01/Contents/Home/bin`
3. `export PATH="$JAVA_HOME/bin:$PATH"`
4. Save it and run the command: `source ~/.bash_profile` and restart the terminal. After this, the `java -version` command should return info.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here; I think we should add the output as a sample.

2. Install bitcoind
1. `cd` to the directory where you want to download it. It could be `/Library/Bitcoin` (if it doesn't exit, you can create it running the command `sudo mkdir /Library/Bitcoin`)
2. You can download version 0.18.1 (ideal for regtest) from here: `https://bitcoincore.org/bin/bitcoin-core-0.18.1/bitcoin-0.18.1-osx64.tar.gz`
3. You can download version 24.0.1 `https://bitcoincore.org/bin/bitcoin-core-24.0.1/bitcoin-24.0.1-x86_64-apple-darwin.tar.gz`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this a secondary option when the user is not interested in the 0.18.1 version? If so, why numbered it as the second step when the rest of the steps refer to the 0.18.1 version?

2. Download it like this: `sudo curl -o adoptopenjdk-8.tar.gz -L https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u-2021-05-08-08-14/OpenJDK8U-jdk_x64_mac_hotspot_2021-05-08-08-14.tar.gz`
3. Unzip it like this: `sudo tar -zxvf adoptopenjdk-8.tar.gz`
4. The unzipped directory could be named like this `jdk8u302-b01`. Run an `ls` command to see it.
2. Add it to the `.bash_profile`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the last two macOS versions, the default shell in macOS has been zsh(https://support.apple.com/lv-lv/guide/terminal/trml113/2.14/mac/14.0). Therefore, I think this should be done in the zsh profile file, and the same applies to the rest of the configuration done in the bash env files.

1. Open the `.zshrc` file with nano like this: `nano ~/.zshrc` and add the following line in it and save it: `export PATH="$PATH:/Library/Bitcoin/bitcoin-0.18.1/bin"`
8. Run `source ~/.zshrc` command, close and reopen the terminal.
9. Running an instance of bitcoind
1. To run it in regtest mode, run this command: `bitcoind -deprecatedrpc=generate -addresstype=legacy -regtest -printtoconsole -server -rpcuser=rsk -rpcpassword=rsk -rpcport=18332 -txindex -datadir=/Library/Bitcoin/data`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we leave this user and password by default?

2. You can also put this command into an `bitcoin-regtest.sh` file, make it executable with `sudo chmod +x bitcoin-regtest.sh` and run it like `./bitcoin-regtest.sh`
3. To run it in regular mode, simply run the command: `bitcoind`
10. Generate some blocks
1. To generate, for example, 200 regtest bitcoin blocks, run: `./btc-regtest.sh generate 200`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. To generate, for example, 200 regtest bitcoin blocks, run: `./btc-regtest.sh generate 200`
1. To generate, for example, 200 regtest bitcoin blocks, run: `./btc-regtest.sh generate 200`

Where is this script? It has not been created at this point, so it won't work.

Copy link

sonarcloud bot commented Apr 29, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants