Bash script quick Idena node installation (idena-go) with auto updates for Ubuntu 20.04 and above. This wizard helps you to install multiple instances and specify the most important shared node args.
Bash Script implementation of the Idena network node installation wizard. Install multiple instances of the Idena-Go in a simple and user-friendly way.
Requirements from the developers (for one idena-go instance):
For validation period you can add 1-2 CPU in case if your server getting overload.
idena_install.sh
(requires root privileges)Please make sure that you have a pure Ubuntu 20.04 installation. To install Idena node using this script, please folow these steps:
apt-get install -y git
installing git packagegit clone https://github.com/ltraveler/idena-runner.git
clone the repositorycd idena-runner
chmod +x idena_install.sh
to make the script executable./idena_install.sh
to run the scriptconfig.json
file which can be changed during the installation process;--profile=shared
to the service file;BlockPinThreshold
, FlipPinThreshold
, AllFlipsLoadingTime
BlockPinThreshold
= 0.3
FlipPinThreshold
= 1
AllFlipsLoadingTime
= 7200000000000
The script is creating a service daemon called idena. Which starts on the boot.
service idena_$username status
- to check the statusservice idena_$username restart
- to restart the serviceservice idena_$username stop
- to stop the serviceservice idena_$username start
- to start the service*where $username is required instance username
Since version 0.3.0 the script could be run in silence mode (aka push installation).
All or part of the answers could be sent via flags and relevant arguments in the command line.
Available flags:
-u
or --username
- username
-p
or --password
- password in case of using -u
without -p
the password would be the same as username
-s
or --shared
- shared node installation
-v
or --version
- idena-go node client version or latest to download the latest one
-b
or --blockpinthreshold
- Block Pin Threshold if not set but -f
and/or -l
have been applied, the script will use the default recommended value [0.3
]
-f
or --flippinthreshold
- Flip Pin Threshold if not set but -b
and/or -l
have been applied, the script will use the default recommended value [1
]
-l
or --allflipsloadingtime
- All Flips Loading Time if not set but -b
and/or -f
have been applied, the script will use the default recommended value [7200000000000
]
-r
or --rpcport
- RPC Port aka HTTP Port
-i
or --ipfsport
- IPFS Port
-k
or --privatekey
- IDENA Private Key aka nodekey
-a
or --apikey
- IDENA Node API Key
-d
or --updatefreq
- Update frequency in CRON expression format
Apart from -s
or --shared
the rest of the flags need an argument inside โโ (apostrophe)
For example:
./idena_install.sh -u 'ratel' -p 'ratel' -s -v 'latest' -b '0.3' -f '1' -l '7200000000000' -r '9189' -i '41283' -k '6e17f7490f7922f3224d41769ce5ed2a01030de69d77163a291a77e8280aad3' -a '33e32cd86ecfb3179e50208428541a1e' -d '0 0 * * *'
/home/idena_instance_username/idena-go/datadir/keystore/nodekey
)/home/idena_instance_username/idena-go/datadir/api.key
)service idena_$username stop
- to stop the updated instance.service idena_$username start
- to start the updated instance.service idena_username stop
stopping idena user instance;pkill -u username
killing all processes related to the user;deluser --remove-home username
removing related to idena-go instance user and all his files and folders;rm /etc/cron.d/idena_update_username
removing cron idena-go update related task;rm /etc/systemd/system/idena_username.service
removing idena daemon service related to the instance that we are uninstalling;systemctl disable idena_username
disabling idena daemon service related to the instance that we are uninstallingsystemctl daemon-reload
and systemctl reset-failed
updating systemctl changes that we have made in the previous step;ufw show added | grep "IDENA Instance for user $username" | awk '{ gsub("ufw","ufw delete",$0); system($0)}'
do not forget to replace $username
to the real name of deleted user;sudo visudo
you have to find and delete the line related to the deleted user at the end of the file;nano /etc/ssh/sshd_config
- you have to delete username from DenyUsers group;sudo sshd -t
- to be sure that your latest changes of sshd_config file is correct;sudo service sshd restart
- to restart sshd daemon.0xf041640788910fc89a211cd5bcbf518f4f14d831
- All donations are welcomed and appreciated;@ltrvlr
ltraveler@protonmail.com
@ltrvlr
For more detailed information about idena-go client please check the official idena-go github repository.