updated readme, added setup script for installing prebuilt packages
This commit is contained in:
parent
daca2813ef
commit
56b6d32e8a
2 changed files with 374 additions and 0 deletions
51
README.md
51
README.md
|
|
@ -3,6 +3,57 @@ Intro for new developers and witnesses
|
||||||
|
|
||||||
This is a quick introduction to get new developers and witnesses up to speed on Peerplays blockchain. It is intended for witnesses plannig to join a live, already deployed blockchain.
|
This is a quick introduction to get new developers and witnesses up to speed on Peerplays blockchain. It is intended for witnesses plannig to join a live, already deployed blockchain.
|
||||||
|
|
||||||
|
# Using setup.sh to install prebuilt packages & compile dependencies
|
||||||
|
|
||||||
|
The following script can be used to install debian packages of the following:
|
||||||
|
- witness_node (1.5.19, and 1.5.22-alpha)
|
||||||
|
- cli_wallet (1.5.19, and 1.5.22-alpha)
|
||||||
|
- libbitcoin libraries (required for witness_node & cli_wallet runtimes)
|
||||||
|
|
||||||
|
The script also gives the option to build some of the other dependencies from source, these dependencies are:
|
||||||
|
- libboost 1.72.0
|
||||||
|
- libzmq 4.3.4
|
||||||
|
- cppzmq 4.9.0
|
||||||
|
- witness_node (COMING SOON)
|
||||||
|
- cli_wallet (COMING SOON)
|
||||||
|
|
||||||
|
## The script can be downloaded as follows
|
||||||
|
|
||||||
|
Note: Ensure you verify the sha256 checksum to ensure the script has not been interfered with
|
||||||
|
|
||||||
|
# Cloning this git repository:
|
||||||
|
|
||||||
|
## Grab the repository
|
||||||
|
```
|
||||||
|
git clone https://gitlab.com/pbsa/peerplays.git
|
||||||
|
cd peerplays
|
||||||
|
```
|
||||||
|
|
||||||
|
## Verify the checksum
|
||||||
|
```
|
||||||
|
wget https://peerplays.download/downloads/scripts/setup.sh.sha256
|
||||||
|
sha256sum -c setup.sh.sha256
|
||||||
|
```
|
||||||
|
|
||||||
|
## Output of verifying the checksum should be as follows
|
||||||
|
```
|
||||||
|
setup.sh: OK
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
chmod +x setup.sh
|
||||||
|
./setup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
# Downloading directly without git:
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://peerplays.download/downloads/scripts/setup.sh
|
||||||
|
wget https://peerplays.download/downloads/scripts/setup.sh.sha256
|
||||||
|
sha256sum -c setup.sh.sha256
|
||||||
|
chmod +x setup.sh
|
||||||
|
./setup.sh
|
||||||
|
```
|
||||||
|
|
||||||
# Building and Installation Instructions
|
# Building and Installation Instructions
|
||||||
|
|
||||||
|
|
|
||||||
323
setup.sh
Normal file
323
setup.sh
Normal file
|
|
@ -0,0 +1,323 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
download_and_install_cli_wallet() {
|
||||||
|
echo "Select the version of cli-wallet:"
|
||||||
|
echo "1. v1.5.22 - Latest Alpha Release"
|
||||||
|
echo "2. v1.5.19 - Latest Production Release (Mainnet)"
|
||||||
|
echo "Enter the number (1-2):"
|
||||||
|
read -r version_selection
|
||||||
|
case $version_selection in
|
||||||
|
1)
|
||||||
|
if [[ -e "cli_wallet_1.5.22_all.deb" ]]; then
|
||||||
|
echo "cli_wallet_1.5.22_all.deb already exists, skipping download."
|
||||||
|
else
|
||||||
|
wget https://peerplays.download/downloads/debian-files/cli-wallet/cli_wallet_1.5.22_all.deb
|
||||||
|
fi
|
||||||
|
sudo apt install -f ./cli_wallet_1.5.22_all.deb
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
if [[ -e "cli_wallet_1.5.19_all.deb" ]]; then
|
||||||
|
echo "cli_wallet_1.5.19_all.deb already exists, skipping download."
|
||||||
|
else
|
||||||
|
wget https://peerplays.download/downloads/debian-files/cli-wallet/cli_wallet_1.5.19_all.deb
|
||||||
|
fi
|
||||||
|
sudo apt install -f ./cli_wallet_1.5.19_all.deb
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 2."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
download_and_install_witness_node() {
|
||||||
|
echo "Select the version of witness-node:"
|
||||||
|
echo "1. v1.5.22 - Latest Alpha Release"
|
||||||
|
echo "2. v1.5.19 - Latest Production Release (Mainnet)"
|
||||||
|
echo "Enter the number (1-2):"
|
||||||
|
read -r version_selection
|
||||||
|
case $version_selection in
|
||||||
|
1)
|
||||||
|
if [[ -e "witness_node_1.5.22_all.deb" ]]; then
|
||||||
|
echo "witness_node_1.5.22_all.deb already exists, skipping download."
|
||||||
|
else
|
||||||
|
wget https://peerplays.download/downloads/debian-files/witness-node/witness_node_1.5.22_all.deb
|
||||||
|
fi
|
||||||
|
sudo apt install -f ./witness_node_1.5.22_all.deb
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
if [[ -e "witness_node_1.5.19_all.deb" ]]; then
|
||||||
|
echo "witness_node_1.5.19_all.deb already exists, skipping download."
|
||||||
|
else
|
||||||
|
wget https://peerplays.download/downloads/debian-files/witness-node/witness_node_1.5.19_all.deb
|
||||||
|
fi
|
||||||
|
sudo apt install -f ./witness_node_1.5.19_all.deb
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 2."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
download_and_install_libbitcoin3_dev_all() {
|
||||||
|
if [[ -e "libbitcoin3-all-dev_3.0.0_all.deb" ]]; then
|
||||||
|
echo "libbitcoin3-all-dev_3.0.0-1_all.deb already exists, skipping download."
|
||||||
|
else
|
||||||
|
wget https://peerplays.download/downloads/debian-files/libbitcoin-libs/libbitcoin3-all-dev_3.0.0_all.deb
|
||||||
|
fi
|
||||||
|
sudo apt install -f ./libbitcoin3-all-dev_3.0.0_all.deb
|
||||||
|
}
|
||||||
|
|
||||||
|
download_and_compile_boost1_72_0(){
|
||||||
|
if [[ -e "boost_1_72_0.tar.gz" ]]; then
|
||||||
|
echo "boost_1_72_0.tar.gz already exists, skipping downloading and rebuilding from source.."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
wget https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.gz
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -xzf boost_1_72_0.tar.gz boost_1_72_0
|
||||||
|
cd boost_1_72_0 || return
|
||||||
|
./bootstrap.sh
|
||||||
|
./b2
|
||||||
|
sudo ./b2 install
|
||||||
|
sudo ldconfig
|
||||||
|
}
|
||||||
|
|
||||||
|
download_and_compile_libzmq4_3_4() {
|
||||||
|
if [[ -f "v4.3.4.tar.gz" || -d "libzmq-4.3.4/" ]]; then
|
||||||
|
echo "Skipping downloading and compiling, directory or tarball already exists"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
wget https://github.com/zeromq/libzmq/archive/refs/tags/v4.3.4.tar.gz
|
||||||
|
tar -xzvf v4.3.4.tar.gz
|
||||||
|
cd libzmq-4.3.4 || return
|
||||||
|
mkdir build
|
||||||
|
cd build || return
|
||||||
|
cmake ..
|
||||||
|
make -j"$(nproc)"
|
||||||
|
sudo make install
|
||||||
|
sudo ldconfig
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
download_and_compile_cppzmq-4_9_0() {
|
||||||
|
if [[ -f "v4.9.0.tar.gz" || -d cppzmq-4.9.0 ]]; then
|
||||||
|
echo "Skipping downloading and compiling, directory or tarball already exists"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
wget https://github.com/zeromq/cppzmq/archive/refs/tags/v4.9.0.tar.gz
|
||||||
|
fi
|
||||||
|
tar -xzvf v4.9.0.tar.gz
|
||||||
|
cd cppzmq-4.9.0 || return
|
||||||
|
mkdir build
|
||||||
|
cd build || return
|
||||||
|
cmake ..
|
||||||
|
make -j"$(nproc)"
|
||||||
|
sudo make install
|
||||||
|
sudo ldconfig
|
||||||
|
}
|
||||||
|
|
||||||
|
##download_and_compile_cli_wallet_1_5_22(){
|
||||||
|
#
|
||||||
|
# echo "Select the version of cli-wallet:"
|
||||||
|
# echo "1. v1.5.22 - Latest Alpha Release (NOTE - This option grabs and compiles all required dependencies, 1.5+ hours)"
|
||||||
|
# echo "2. v1.5.19 - Latest Production Release (Mainnet - - This option grabs and compiles all required dependencies, 1+ hour) "
|
||||||
|
# echo "Enter the number (1-2):"
|
||||||
|
# read -r version_selection
|
||||||
|
# case $version_selection in
|
||||||
|
# 1)
|
||||||
|
# if [[ -d "peerplays/" ]]; then
|
||||||
|
# echo "Skipping cloning the repository, already exists.."
|
||||||
|
# else
|
||||||
|
# git clone --depth 1 --branch 1.5.22-alpha https://gitlab.com/pbsa/peerplays.git
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# sudo apt-get install \
|
||||||
|
# autoconf bash bison build-essential ca-certificates dnsutils expect flex git \
|
||||||
|
# graphviz libbz2-dev libcurl4-openssl-dev libncurses-dev libpcre3-dev \
|
||||||
|
# libsnappy-dev libsodium-dev libssl-dev libtool libzip-dev locales lsb-release \
|
||||||
|
# mc nano net-tools ntp openssh-server pkg-config python3 python3-jinja2 sudo \
|
||||||
|
# systemd-coredump wget
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ;;
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#}
|
||||||
|
|
||||||
|
uninstall_software() {
|
||||||
|
echo "Select the software you'd like to uninstall:"
|
||||||
|
echo "1. cli-wallet"
|
||||||
|
echo "2. witness-node"
|
||||||
|
echo "3. libbitcoin3-all-dev"
|
||||||
|
echo "Enter the number (1-3):"
|
||||||
|
read -r software_selection
|
||||||
|
case $software_selection in
|
||||||
|
1)
|
||||||
|
sudo dpkg -r cli-wallet
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
sudo dpkg -r witness-node
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
sudo dpkg -r libbitcoin3-all-dev
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 3."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
while true; do
|
||||||
|
echo "Select an action:"
|
||||||
|
echo "1. Download & install software"
|
||||||
|
echo "2. Build from source"
|
||||||
|
echo "3. Uninstall software"
|
||||||
|
echo "4. Exit"
|
||||||
|
echo "Enter the number (1-4):"
|
||||||
|
read -r action_selection
|
||||||
|
|
||||||
|
case $action_selection in
|
||||||
|
1)
|
||||||
|
while true; do
|
||||||
|
echo "Select the software you'd like to download & install:"
|
||||||
|
echo "1. Apps"
|
||||||
|
echo "2. Libraries"
|
||||||
|
echo "3. Go back"
|
||||||
|
echo "Enter the number (1-3):"
|
||||||
|
read -r software_selection
|
||||||
|
case $software_selection in
|
||||||
|
1)
|
||||||
|
while true; do
|
||||||
|
echo "Select an app:"
|
||||||
|
echo "1. cli-wallet"
|
||||||
|
echo "2. witness-node"
|
||||||
|
echo "3. Go back"
|
||||||
|
echo "Enter the number (1-3):"
|
||||||
|
read -r app_selection
|
||||||
|
case $app_selection in
|
||||||
|
1)
|
||||||
|
download_and_install_cli_wallet
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
download_and_install_witness_node
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 3."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
while true; do
|
||||||
|
echo "Select a library:"
|
||||||
|
echo "1. libbitcoin3-dev-all"
|
||||||
|
echo "2. Go back"
|
||||||
|
echo "Enter the number (1-2):"
|
||||||
|
read -r library_selection
|
||||||
|
case $library_selection in
|
||||||
|
1)
|
||||||
|
download_and_install_libbitcoin3_dev_all
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 2."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 3."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
while true; do
|
||||||
|
echo "Select the software you'd like to build from source:"
|
||||||
|
echo "1. Apps"
|
||||||
|
echo "2. Libraries"
|
||||||
|
echo "3. Go back"
|
||||||
|
echo "Enter the number (1-3):"
|
||||||
|
read -r software_selection
|
||||||
|
case $software_selection in
|
||||||
|
1)
|
||||||
|
while true; do
|
||||||
|
echo "Select an app:"
|
||||||
|
echo "1. cli-wallet - COMING SOON, DOESNT WORK "
|
||||||
|
echo "2. witness-node - COMING SOON, DOESNT WORK"
|
||||||
|
echo "3. Go back"
|
||||||
|
echo "Enter the number (1-3):"
|
||||||
|
read -r app_selection
|
||||||
|
case $app_selection in
|
||||||
|
1)
|
||||||
|
download_and_compile_cli_wallet_1_5_19
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
download_and_compile_witness_node_1_5_19
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 3."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
while true; do
|
||||||
|
echo "Select a library:"
|
||||||
|
echo "1. boost-1.72.0"
|
||||||
|
echo "2. libzmq-4.3.4"
|
||||||
|
echo "3. cppzmq-4.9.0"
|
||||||
|
echo "4. Go back"
|
||||||
|
echo "Enter the number (1-4):"
|
||||||
|
read -r library_selection
|
||||||
|
case $library_selection in
|
||||||
|
1)
|
||||||
|
download_and_compile_boost1_72_0
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
download_and_compile_libzmq4_3_4
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
download_and_compile_cppzmq-4_9_0
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 4."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 3."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
uninstall_software
|
||||||
|
;;
|
||||||
|
4)
|
||||||
|
echo "Exiting the script."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid selection. Please enter a number between 1 and 4."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
Loading…
Reference in a new issue