Skip to content

Commit

Permalink
Forgot to commit ...
Browse files Browse the repository at this point in the history
  • Loading branch information
nazarimilad committed Feb 1, 2018
1 parent d73fc73 commit db9c695
Show file tree
Hide file tree
Showing 2 changed files with 554 additions and 208 deletions.
41 changes: 23 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
# iota-node
A CLI to manage a full IOTA node
A CLI and TUI to install and manage a full IOTA node

## Description

There are a lot of tutorials like [this one](https://www.simform.com/iota-iiot-tutorial-part-2/) or [this one](https://forum.helloiota.com/2424/Setting-up-a-VPS-IOTA-Full-Node-from-scratch). The problem with this tutorials is that they take quite some time and they aren't easy to follow for people who are new to a Linux environement.

The purpose of this script is to automate the installation of an IOTA full node. It takes care of compiling the IRI, generates an ini configuration file, setting up and starting a daemon, etc.
The purpose of this script is to automate the installation of an IOTA full node. It takes care of installing the IRI, chosing the parameters, installing extra packages such as Nelson and IOTA-PM, managing your neighbors, get information about your node and more.

It can also be used to adjust settings while it's running. You can add new neighbors for example, remove them, get your TCP address, get information about your own node, and more.
![alt text](https://i.imgur.com/6x2DXxd.png "Welcome screen")

This script also integrates [IOTA-PM](https://github.com/akashgoswami/ipm)! So now, when your run the script to install a node, you will also have an option to include [IOTA-PM](https://github.com/akashgoswami/ipm) within the installation (see screenshot below). You won't have to install and configure it yourself.
![alt text](https://i.imgur.com/LG8cWSV.png "Installation of extra packages")

![alt text](https://i.imgur.com/YcNO8n3.png "IOTA-node menu")

More screenshots can be found [in this album](https://imgur.com/a/mWuWC).

![alt text](https://i.imgur.com/BDhVs35.png "Terminal screenshot")

## Prerequisites

* curl
* curl
* dig
* NPM
* Maven
* Java 8
* Git

## Installation and usage

Expand All @@ -40,32 +41,32 @@ The script currently supports the following options:
### One-letter options:

* `-a address` : add a neighbor specified by its address
* `-i` : reinstall the node
* `-I` : get your public IP address
* `-n` : get information about your own node
* `-N` : get information about your neighbors
* `-r` : remove all of your neighbors
* `-s` : get the status of the IRI daemon
* `-t` : get the TCP address of your node
* `-u` : restart the node daemon
* `-u` : restart IOTA-node
* `-U` : get the UDP address of your node
* `-x` : start the iota-node daemon
* `-X` : stop the iota-node daemon
* `-x` : start iota-node
* `-X` : stop iota-node

## Full word options:

* `--add-neighbor address` : add a neighbor specified by its address
* `--add-neighbor=address` : add a neighbor specified by its address
* `--get-neighbors` : get information about your neighbors
* `--get-node-info` : get information about your own node
* `--get-ip-address` : get your public IP address
* `--get-status` : get the status of the IRI daemon
* `--get-tcp-address` : get the TCP address of your node
* `--get-udp-address` : get the UDP address of your node
* `--install-node` : reinstall the node
* `--remove-neighbors` : remove all of your neighbors
* `--start` : start the node daemon
* `--stop` : stop the node daemon
* `--update` : restart the node daemon
* `--start` : start IOTA-node
* `--stop` : stop IOTA-node
* `--update` : restart IOTA-node
* `--upgrade` : upgrade IOTA-node
* `--uninstall` : uninstall IOTA-node

## Code structure

Expand All @@ -78,7 +79,11 @@ And finally the third block contains the "main method".
## TODO

* ~~Add an option to install [iota-pm](https://github.com/akashgoswami/ipm) during the installation of the node and integrate it in the iota-node daemon~~
* Add input safety checks (for the ports mainly)
* ~~Add port input safety check~~
* ~~Add a TUI~~
* ~~Add Nelson integration and upgrade option~~
* Add neighbor address input safety check
* Make it possible, With `upgrade`, to also upgrade the extra packages
* Make an equivalent powershell script

---
Expand Down
Loading

0 comments on commit db9c695

Please sign in to comment.