Install Node
What is a node? A node in the IEP network is a special program that ensures the validity of transactions and blocks, this increases the security. Each device running the IEP software is considered a node.
More information on this topic can be found in the whitepaper under point 3.4:
INFINITY ECONOMICS PLATFORM (IEP) WHITE PAPER
Install Node To install a node, you need a server / vServer with SSH access and the following information:
An own IP address An SSH username SSH password If your own operating system is Windows you are working with, you need software to get SSH to your server, for example common softwares like “putty” (download). For Mac, you can use the preinstalled “Terminal” software.
With the software Putty you can log in to your server (show me how) or under Mac in the terminal:
ssh root@"your IP address" or ssh "your username"@"your IP address" Now the message appears, if you really want to establish a connection. This you confirm with “yes” or “y”, depending on the server settings.
If you can not log in directly with the “root” user, log in with another user. After login you change to the “root” user with the following command:
su root Follow these instructions, depending on which operating system is set up on your server:
Installation on Linux Installation on Windows Installation on Mac Installation on Linux First, you need to update your package manager. To do this, enter the following in Putty or Terminal:
apt-get update Now you load the ZIP file core-build on your server.
wget -O core-build-0.2.2.zip https://github.com/InfinityEconomicsPlatform/core-build/archive/0.2.2-openjdk.zip To verify that you have really downloaded the correct file, run this command:
sha256sum core-build-0.2.2.zip As a result, this should be displayed: “aee028f704ccc9e9522e14663266ccd31f7d4a05f9f4426101e4973c85e766b0”.
To unpack the ZIP file you need “unzip”. Run the following commands to install “unzip”:
apt-get install unzip Now unzip the file with:
unzip core-build-0.2.2.zip This takes a little while. Now all files are unpacked and we do not need the ZIP file anymore. Delete these with the command:
rm core-build-0.2.2.zip Now we’ll capture some settings for your node. Execute the following commands one after the other:
cd core-build-0.2.2/core-build-0.2.2/core vim bin/conf/custom.properties
So that your node works correctly, you enter here various attributes. To edit lines in the Vim Editor, first press “i”. The following settings have to be adjusted:
Add at xin.allowedBotHosts = *; added. Add a strong password under xin.adminPassword. Add your IP address under xin.myAddress Insert a route before xin.disabledAPITags = Insert a route before xin.disabledAPIs = Here again to compare:
use this file for workstation specific custom.properties
API
xin.enableAPIServer=true xin.apiServerPort=23457 xin.apiServerSSLPort=23457 xin.allowedBotHosts=*; 127.0.0.1; localhost; [0:0:0:0:0:0:0:1]; xin.apiServerHost=0.0.0.0 xin.adminPassword=A SAFE PASSWORD
xin.disabledAPITags=
xin.disabledAPIs=
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark= xin.defaultPeers=167.99.242.171; 159.89.166.20; 159.89.117.247; 159.89.96.210; 167.99.71.157 xin.wellKnownPeers= xin.knownBlacklistedPeers=185.35.137.7; 185.103.75.217; 185.35.139.101; 185.35.139.102; 185.35.139.103; 185.35.139.104; 185.35.139.105; 46.244.20.41; 208.95.1.177; 199.127.137.169, 185.35.138.132; 185.35.138.136; 185.35.138.137; 185.35.138.139; 185.35.138.140; 185.61.149.40; 185.86.151.44; 185.86.148.134; 185.86.148.142; 185.86.151.18 xin.enablePeerUPnP=false xin.peerServerPort=23456 xin.defaultPeerPort=23456 You can leave the editing by pressing the “ESC” key. Then you save the setting with “:wq”.
The next thing you need Java. You install this again with a separate command:
apt-get install openjdk-8-jdk In order for your node to continue running when you disconnect from the server, you need additional software. You start this with:
screen Now you start your node. To do this, first go to the correct directory:
cd /core/bin And then you start the node with the command:
./core You will now see again how your server (node) starts to work. He will now sync the blockchain. This will take some time. To continue working press “crtl” on your keyboard, then first the “a” key and then “d” you can release the “ctrl” key.
Now write the next command. Make sure that you enter the missing data. These are your IP address as well as your passphrase:
Tip: date=2018-04-06 (example) secretPhrase must be inserted in the quotation marks, you may need to enter them again because the terminal will produce erroneous quotes when copying.
curl -d requestType=markHost -d host=Your IP-Address -d weight=1 -d date=Date YYYY-MM-DD -d secretPhrase='Your Passphrase' http://Your IP-Address:23457/api You will now receive a Hallmark-Code. From this code you only need the numbers and letters: {“hallmark”: “to”, “requestProcessingTime”: 35} Copy this hallmark to the clipboard or into a Word document. We need this hallmark right now into the file “custom.properties”. You will find them like this (maybe you have a different folder structure):
vim /core/bin/conf/custom.properties Now insert the hallmark at the entry “xin.myHallmark =”.
....
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark=YOUR GENERATED HALLMARK ... To exit the editor press “ESC” again and then “:wq” to save. Now we go back to where your node ran earlier to continue working there:
screen -r Restart your node now when the blockchain download is complete. First press “ctrl + c” and then enter the following command for the restart. First, open the directory with “cd” and then execute the file “core”:
cd core/bin ./core Now you need the software Screen again so that the node continues working in the background. Press again “Ctrl” and the key “a” and then “d”. Now you can release “Ctrl” again. You get back to the previous view to execute the next command.
Now to activate forging, execute this command:
vim /core/bin/conf/custom.properties And set the following values.
xin.allowedToForge=SPECIFIC ACCOUNT or * for all xin.maxNumberOfForgers=100 Now you activate forging:
Tip: secretPhrase must be inserted in the quotation marks, you may have to enter them again because the terminal produces incorrect quotation marks when copying.
curl --data "requestType=startForging" --data-urlencode 'secretPhrase=Your Passphrase' http://Your IP-Address:23457/api Now your own node is running. This completes all work. To disconnect, use:
exit Installation on Windows Download and install the following packages.
JAVA 8 (download) Node JS (download) CURL (how do I install curl) Core Build (download) Unzip the downloaded ZIP file into a folder using the Archive Extractor tool. This may take a while, remove the ZIP file once the extraction is completed. Now open the configuration file under “core/bin/conf/custom.properties” using text editor.
So that your node works correctly, you enter here various attributes. The following settings have to be adjusted:
Add at xin.allowedBotHosts = *; added. Add a strong password under xin.adminPassword. Add your IP address under xin.myAddress Insert a route before xin.disabledAPITags = Insert a route before xin.disabledAPIs = Save the file by pressing “ctrl + S” on keyboard. Here again to compare:
use this file for workstation specific custom.properties
API
xin.enableAPIServer=true xin.apiServerPort=23457 xin.apiServerSSLPort=23457 xin.allowedBotHosts=*; 127.0.0.1; localhost; [0:0:0:0:0:0:0:1]; xin.apiServerHost=0.0.0.0 xin.adminPassword=A SAFE PASSWORD
xin.disabledAPITags=
xin.disabledAPIs=
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark= xin.defaultPeers=167.99.242.171; 159.89.166.20; 159.89.117.247; 159.89.96.210; 167.99.71.157 xin.wellKnownPeers= xin.knownBlacklistedPeers=185.35.137.7; 185.103.75.217; 185.35.139.101; 185.35.139.102; 185.35.139.103; 185.35.139.104; 185.35.139.105; 46.244.20.41; 208.95.1.177; 199.127.137.169, 185.35.138.132; 185.35.138.136; 185.35.138.137; 185.35.138.139; 185.35.138.140; 185.61.149.40; 185.86.151.44; 185.86.148.134; 185.86.148.142; 185.86.151.18 xin.enablePeerUPnP=false xin.peerServerPort=23456 xin.defaultPeerPort=23456 Open now the terminal, from under “Start” -> “Program search / all programs” and search “cmd.exe” enter. Now navigate to your folder (show me how) in which you unpacked the core.
Now execute the following commands in CMD prompt, if you are in the folder “core”:
cd bin
core.bat You will now see again how your server (node) starts to work. It will now sync the blockchain. This will take some time.
Now write the next command. Make sure that you enter the missing data. These are your IP address as well as your passphrase:
Tip: date=2018-04-06 (example) secretPhrase must be inserted in the quotation marks, you may need to enter them again because the terminal will produce erroneous quotes when copying.
curl -d requestType=markHost -d host=Your IP-Address -d weight=1 -d date=Date YYYY-MM-DD -d secretPhrase='Your Passphrase' http://Your IP-Address:23457/api You will now receive a Hallmark-Code. From this code you only need the numbers and letters: {“hallmark”: “to”, “requestProcessingTime”: 35} Copy this hallmark to the clipboard or into a Word document. We need this hallmark right now into the file “custom.properties”. You will find them like this (maybe you have a different folder structure): To change the Hallmark property in the “custom.properties” file, open the file using text editor and edit entry “xin.myHallmark =to”.
....
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark=YOUR GENERATED HALLMARK ... Save the file by pressing “ctrl + s”. Restart your node now when the blockchain download is complete. First press “ctrl + c” and then enter the following command for the restart. First open the directory with “cd” and then execute the file “core.bat”:
cd core/bin
core.bat Now to activate forging, again open the “custom.properties” file in text editor and set the following values:
xin.allowedToForge=SPECIFIC ACCOUNT or * for all xin.maxNumberOfForgers=100 Now you activate forging, by running following command in new Command Prompt window:
Tip: secretPhrase must be inserted in the quotation marks, you may have to enter them again because the terminal produces incorrect quotation marks when copying.
curl --data "requestType=startForging" --data-urlencode 'secretPhrase=Your Passphrase' http://Your IP-Address:23457/api Now your own node is running. This completes all work.
Installation on MacOS Download and install the following packages:
JAVA 8 (download) Node JS (download) CURL (how do I install curl) Core Build (download) Unzip the downloaded ZIP file into a folder using the Archive Utility tool. This may take a while, remove the ZIP file once the extraction is completed. Now open the configuration file “custom.properties” under “core/bin/conf/” using text editor or via terminal, by running following command:
cd core/bin/conf
vim custom.properties
So that your node works correctly, you enter here various attitudes. To edit lines in the Vim Editor, first press “i”. The following settings have to be adjusted: Add at xin.allowedBotHosts = *; added. Add a strong password under xin.adminPassword. Add your IP address under xin.myAddress Insert a route before xin.disabledAPITags = Insert a route before xin.disabledAPIs = Here again to compare:
use this file for workstation specific custom.properties
API
xin.enableAPIServer=true xin.apiServerPort=23457 xin.apiServerSSLPort=23457 xin.allowedBotHosts=*; 127.0.0.1; localhost; [0:0:0:0:0:0:0:1]; xin.apiServerHost=0.0.0.0 xin.adminPassword=A SAFE PASSWORD
xin.disabledAPITags=
xin.disabledAPIs=
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark= xin.defaultPeers=167.99.242.171; 159.89.166.20; 159.89.117.247; 159.89.96.210; 167.99.71.157 xin.wellKnownPeers= xin.knownBlacklistedPeers=185.35.137.7; 185.103.75.217; 185.35.139.101; 185.35.139.102; 185.35.139.103; 185.35.139.104; 185.35.139.105; 46.244.20.41; 208.95.1.177; 199.127.137.169, 185.35.138.132; 185.35.138.136; 185.35.138.137; 185.35.138.139; 185.35.138.140; 185.61.149.40; 185.86.151.44; 185.86.148.134; 185.86.148.142; 185.86.151.18 xin.enablePeerUPnP=false xin.peerServerPort=23456 xin.defaultPeerPort=23456 You can leave the editing by pressing the “ESC” key. Then you save the setting with “:wq” and press enter/return key.
Now you start your node. To do this, first go to the correct directory:
cd /core/bin And then you start the node with the command:
./core You will now see again how your server (node) starts to work. He will now sync the blockchain. This will take some time. To continue working press “cmd + t” on your keyboard, to open new tab on the terminal. Now write the next command. Make sure that you enter the missing data. These are your IP address as well as your passphrase:
Tip: date=2018-04-06 (example) secretPhrase must be inserted in the quotation marks, you may need to enter them again because the terminal will produce erroneous quotes when copying.
curl -d requestType=markHost -d host=Your IP-Address -d weight=1 -d date=Date YYYY-MM-DD -d secretPhrase='Your Passphrase' http://Your IP-Address:23457/api You will now receive a Hallmark-Code. From this code you only need the numbers and letters: {“hallmark”: “to”, “requestProcessingTime”: 35} Copy this hallmark to the clipboard or into a Word document. We need this hallmark right now into the file “custom.properties”. You will find them like this (maybe you have a different folder structure):
vim /core/bin/conf/custom.properties Now insert the hallmark at the entry “xin.myHallmark=”.
....
Peer
xin.isOffline=false xin.shareMyAddress=true xin.savePeers=true xin.usePeersDb=true xin.getMorePeers=true xin.myAddress=YOUR IP-ADDRESS xin.myPlatform= xin.myHallmark=YOUR GENERATED HALLMARK ... To exit the editor press “ESC” again and then “:wq” to save. Now we go back to where your node ran earlier to continue working there:
Restart your node now when the blockchain download is complete. First press “ctrl + c” and then enter the following command for the restart. First open the directory with “cd” and then execute the file “core”:
cd core/bin ./core Now you need the go back to the other terminal again, so that the node continues working in the background. Now to activate forging, execute this command:
vim /core/bin/conf/custom.properties And set the following values.
xin.allowedToForge=SPECIFIC ACCOUNT or * for all xin.maxNumberOfForgers=100 Now you activate forging:
Tip: secretPhrase must be inserted in the quotation marks, you may have to enter them again because the terminal produces incorrect quotation marks when copying.
curl --data "requestType=startForging" --data-urlencode 'secretPhrase=Your Passphrase' http://Your IP-Address:23457/api Now your own node is running. This completes all work. You can close Terminal if you want to disconnect.
Update Node To update Node download and unpack a new version over the installation directory and run the new core.
Tip: The core will upgrade the database if necessary. Check the “custom.properties” file (/core/bin/conf) and adjust as needed. Make a backup of your current “custom.properties” file in case you are using non-default settings.
Allow Ledger View Open custom.properties in /core/bin/conf and set:
.... xin.ledgerAccounts=SPECIFIC ACCOUNT or * for all xin.ledgerTrimKeep=30000 .... Restart the node.
Allow Shuffling View Open “custom.properties” in /core/bin/conf and set:
.... xin.maxNumberOfShufflers=30 .... Restart the node.
Allow Funding Monitor Open custom.properties in /core/bin/conf and set:
.... xin.maxNumberOfMonitors=30 .... Restart the node.
Miscellaneous: Curl Installation (Linux) First, you need to update your package manager. To do this, enter the following in Putty or Terminal:
apt-get update Once the package-manager is updated, run following command:
apt-get install curl This will install curl on the system and all the required packages for the library curl.
To get more information about curl, run following command:
curl --help
curl --manual Curl Installation (Windows) Go to curl and download the zip package depending on the Windows version supported. Now do following steps in order to install curl on your system
Extract zip package to a folder Create a new folder in C: directory named curl Go to folder where you have extracted ZIP file “curl-x.xx.xx/src” Copy curl.exe and paste it in C:/curl Now you will need to add the curl path in Windows Environment Variables, using following steps: For Windows 8 and above, search for and then select: System (Control Panel) For Windows 7, from the desktop, right click the Computer icon and choose Properties from the context menu. Click the Advanced system settings link. Click Environment Variables. In the section System Variables, find the PATH environment variable and select it. Click Edit. If the PATH environment variable does not exist, click New. In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. Click OK. Close all remaining windows by clicking OK. Reopen Command prompt window and run curl command, and/or get more information about curl by running following command: curl --help
curl --manual Curl Installation (MacOS) To install curl on MacOS, we need to install Homebrew on the system. To install Homebrew, open terminal by pressing “Command + Space” and type “Terminal” and press enter/return key. Run following command in a Terminal app:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null and press enter/return key. If the screen prompts you to enter a password, please enter your Mac’s user password to continue. When you type the password, it won’t be displayed on the screen, but the system would accept it. So just type your password and press ENTER/RETURN key. Then wait for the command to finish. Run the following command to install curl:
brew install curl This will install curl on the system and all the required packages for the library curl.
To get more information about curl, run following command:
curl --help
curl --manual