====== The Demo System ====== The current demo system is based on an installers built for a 5 node network. {{:XimixNodeInstaller-20140511.jar|Demo System (11/05/2014)}} {{:XimixConsoleInstaller-20140511.jar|Demo System Console (11/05/2014)}} ===== Install and run Ximix Nodes ===== The jar files above are executable jar files. To install the system, download the jar and run ''java -jar ximixnodeinstaller-20140511.jar'' and follow the prompts. Please note you will need to have Java 1.7 installed on your system and as the application makes use of the Java Cryptography Extension you will also need to have the unlimited strength policy files for the JCE installed. You can find them at the bottom of the [[https://www.oracle.com/technetwork/java/javase/downloads/index.html|Java SE Downloads page]]. The installer creates a bin directory which includes a single run command. To start one of the demo nodes up type ''start.sh/start.bat node1'' or the name of node you want to start. The node will be started in the background and the PID of the node will be stored in the node's home directory ("install directory"/ximix/node1/node1.pid) in the example given. ==== Running an Installer Executable Jar ==== To run the installer executable jar file type the following from a command prompt, you will need to know the location of the XimixNodeInstaller.jar. To install: java -jar /ximixnodeinstaller-xxx.jar. For example: java -jar /Users/mw/crypto-workshop/ximix/repo/ximix/build/installers/XimixNodeInstaller.jar You will be prompted for the installation directory. Enter Install Directory [/private/tmp/ximix] >/tmp/ximix/ Confirm Install to '/private/tmp/ximix' Yes or [No] >y The installer will unpack the nodes into the "Install Directory". Unpacking: ./ximix/bin/start.bat Unpacking: ./ximix/bin/start.sh Unpacking: ./ximix/bin/stop.sh Unpacking: ./ximix/libs/bcpkix-jdk15on-151b06.jar Unpacking: ./ximix/libs/bcprov-jdk15on-151b06.jar Unpacking: ./ximix/libs/jpbc-api-1.2.1.jar Unpacking: ./ximix/libs/jpbc-crypto-1.2.1.jar Unpacking: ./ximix/libs/jpbc-pbc-1.2.1.jar Unpacking: ./ximix/libs/jpbc-plaf-1.2.1.jar Unpacking: ./ximix/libs/mapdb-0.9.5.jar Unpacking: ./ximix/libs/ximix-client-0.9.jar Unpacking: ./ximix/libs/ximix-common-0.9.jar Unpacking: ./ximix/libs/ximix-node-0.9.jar Unpacking: ./ximix/node1/conf/mixnet.xml Unpacking: ./ximix/node1/conf/node.xml Unpacking: ./ximix/node2/conf/mixnet.xml Unpacking: ./ximix/node2/conf/node.xml Unpacking: ./ximix/node3/conf/mixnet.xml Unpacking: ./ximix/node3/conf/node.xml Unpacking: ./ximix/node4/conf/mixnet.xml Unpacking: ./ximix/node4/conf/node.xml Unpacking: ./ximix/node5/conf/mixnet.xml Unpacking: ./ximix/node5/conf/node.xml Setting posix file permissions on 'ximix/bin/start.sh' to 'rwxr-xr-x' Setting posix file permissions on 'ximix/bin/stop.sh' to 'rwxr-xr-x' Finished.. Congratulations installation is completed. ==== Running a Ximix Node ==== To run a ximix node cd into the "ximix" directory created by the installer. cd /tmp/ximix/ximix To run a node: ./bin/start.sh node1 mw$ Starting node 'A', listening on port: 11000 On a unix system if you wish to start multiple nodes you can keep issuing the start command but you must change the 'nodex' part for example: ./bin/start.sh node1 ./bin/start.sh node2 ./bin/start.sh node3 .. and so on. ==== Shutting down a Ximix node ==== On a unix host the stop.sh script is used to shutdown a ximix node, for example: ./bin/stop.sh node1 Sending kill -15 to node1 (5130) Stopped node node1 ===== Install and run the console ===== The installer for the console can be run by using the following command. java -jar XimixConsoleInstaller.jar When the installer runs it will ask you for an installation location the following applies to both unix and windows operating systems. mw$ java -jar XimixConsoleInstaller.jar Enter Install Directory [/tmp/ximix] > Confirm Install to '/tmp/ximix' Yes or [No] >yes Unpacking: ./ximix-console/bin/start.bat Unpacking: ./ximix-console/bin/start.sh Unpacking: ./ximix-console/bin/stop.sh Unpacking: ./ximix-console/conf/console.xml Unpacking: ./ximix-console/conf/mixnet.xml Unpacking: ./ximix-console/libs/bcprov-jdk15on-150b03.jar Unpacking: ./ximix-console/libs/bcprov-jdk15on-150b10.jar Unpacking: ./ximix-console/libs/jackson-annotations-2.2.0.jar Unpacking: ./ximix-console/libs/jackson-core-2.2.0.jar Unpacking: ./ximix-console/libs/jackson-databind-2.2.0.jar Unpacking: ./ximix-console/libs/javax.servlet-3.0.0.v201112011016.jar Unpacking: ./ximix-console/libs/jetty-http-9.0.4.v20130625.jar Unpacking: ./ximix-console/libs/jetty-io-9.0.4.v20130625.jar Unpacking: ./ximix-console/libs/jetty-server-9.0.4.v20130625.jar Unpacking: ./ximix-console/libs/jetty-util-9.0.4.v20130625.jar Unpacking: ./ximix-console/libs/ximix-client-0.9.jar Unpacking: ./ximix-console/libs/ximix-common-0.9.jar Unpacking: ./ximix-console/libs/ximix-console-0.9.jar Unpacking: ./ximix-console/libs/ximix-node-0.9.jar Setting posix file permissions on 'ximix-console/bin/start.sh' to 'rwxr-xr-x' Setting posix file permissions on 'ximix-console/bin/stop.sh' to 'rwxr-xr-x' Finished.. ===== Running the console (UNIX / LINUX) ===== To run the console cd into the 'ximix-console' directory as created by the installer and run './bin/start.sh' and you should see output similar to: ./bin/start.sh mw$ 2013-08-01 20:46:59.465:INFO:oejs.Server:main: jetty-9.0.4.v20130625 2013-08-01 20:46:59.481:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.ContextHandler@5f9a5d3d{/api,null,AVAILABLE} 2013-08-01 20:46:59.494:INFO:oejs.ServerConnector:main: Started ServerConnector@211b3c6a{HTTP/1.1}{0.0.0.0:1887} ===== Stopping the console (Unix / Linux) ===== To stop the console run the 'stop.sh' script in './bin/stop.sh'. ./bin/stop.sh Sending kill -15 to Console (5160) Stopped node ===== Running the console (Windows) ===== To run the console on a windows host, cd into the "ximix-console" directory as created by the installer and run: bin\start.bat conf\mixnet.xml conf\console.xml ===== Access the console ===== To access the console use your web browser with the following url: (Note, you will need to start some nodes before the console will display any information.) http://127.0.0.1:1887 [[http://127.0.0.1:1887|External Link]]