The core protocol of WoopChain
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
woop/scripts/package
nico 631d384609 woop 8 months ago
..
deb woop 8 months ago
rpm woop 8 months ago
publish-repo.sh woop 8 months ago
rclone.conf woop 8 months ago
readme.md woop 8 months ago
templater.sh [deb] add debian package build support 4 years ago
woop-rclone.sh woop 8 months ago
woop-setup.sh woop 8 months ago
woop-sysctl.conf woop 8 months ago
woop.service woop 8 months ago

readme.md

Introduction

This document introduces the Woop's package release using standard packaging system, RPM and Deb packages.

Standard packaging system has many benefits, like extensive tooling, documentation, portability, and complete design to handle different situation.

Package Content

The RPM/Deb packages will install the following files/binary in your system.

  • /usr/sbin/woop
  • /usr/sbin/woop-setup.sh
  • /usr/sbin/woop-rclone.sh
  • /etc/woop/woop.conf
  • /etc/woop/rclone.conf
  • /etc/systemd/system/woop.service
  • /etc/sysctl.d/99-woop.conf

The package will create woop group and woop user on your system. The woop process will be run as woop user. The default blockchain DBs are stored in /home/woop/woop_db_? directory. The configuration of woop process is in /etc/woop/woop.conf.

Package Manager

Please take some time to learn about the package managers used on Fedora/Debian based distributions. There are many other package managers can be used to manage rpm/deb packages like [Apt]https://en.wikipedia.org/wiki/APT_(software), or [Yum]https://www.redhat.com/sysadmin/how-manage-packages

Setup customized repo

You just need to do the setup of woop repo once on a new host. TODO: the repo in this document are for development/testing purpose only.

Official production repo will be different.

RPM Package

RPM is for Redhat/Fedora based Linux distributions, such as Amazon Linux and CentOS.

# do the following once to add the woop development repo
curl -LsSf http://haochen-woop-pub.s3.amazonaws.com/pub/yum/woop-dev.repo | sudo tee -a /etc/yum.repos.d/woop-dev.repo
sudo rpm --import https://raw.githubusercontent.com/woop-chain/woop-open/master/woop-release/woop-pub.key

Deb Package

Deb is supported on Debian based Linux distributions, such as Ubuntu, MX Linux.

# do the following once to add the woop development repo
curl -LsSf https://raw.githubusercontent.com/woop-chain/woop-open/master/woop-release/woop-pub.key | sudo apt-key add
echo "deb http://haochen-woop-pub.s3.amazonaws.com/pub/repo bionic main" | sudo tee -a /etc/apt/sources.list

Test cases

installation

# debian/ubuntu
sudo apt-get update
sudo apt-get install woop

# fedora/amazon linux
sudo yum install woop

configure/start

# dpkg-reconfigure woop (TODO)
sudo systemctl start woop

uninstall

# debian/ubuntu
sudo apt-get remove woop

# fedora/amazon linux
sudo yum remove woop

upgrade

# debian/ubuntu
sudo apt-get update
sudo apt-get upgrade

# fedora/amazon linux
sudo yum update --refresh

reinstall

remove and install

Rclone

install latest rclone

# debian/ubuntu
curl -LO https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.deb
sudo dpkg -i rclone-v1.52.3-linux-amd64.deb

# fedora/amazon linux
curl -LO https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.rpm
sudo rpm -ivh rclone-v1.52.3-linux-amd64.rpm

do rclone

# validator runs on shard1
sudo -u woop woop-rclone.sh /home/woop 0
sudo -u woop woop-rclone.sh /home/woop 1

# explorer node
sudo -u woop woop-rclone.sh -a /home/woop 0

Setup explorer (non-validating) node

To setup an explorer node (non-validating) node, please run the woop-setup.sh at first.

sudo /usr/sbin/woop-setup.sh -t explorer -s 0

to setup the node as an explorer node w/o blskey setup.

Setup new validator

Please copy your blskey to /home/woop/.wiki/blskeys directory, and start the node. The default configuration is for validators on mainnet. No need to run woop-setup.sh script.

Start/stop node

  • systemctl start woop to start node
  • systemctl stop woop to stop node
  • systemctl status woop to check status of node

Change node configuration

The node configuration file is in /etc/woop/woop.conf. Please edit the file as you need.

sudo vim /etc/woop/woop.conf

Support

Please open new github issues in https://github.com/woop-chain/woop/issues.