Nexus How-To ############ .. contents:: Table of Contents Obtain Nexus ============ Nexus belongs to the LibEuFin project, and can be downloaded via Git: ``$ git clone git://git.taler.net/libeufin`` Note that Kotlin+Gradle should already work on the host system. Install Nexus ============= Navigate into the `libeufin` local repository, and from top-level run: ``$ ./gradlew -Pprefix=$PREFIX nexus:installToPrefix`` In case of success, Nexus can be run with the following command: ``$ libeufin-nexus`` Connect Nexus with a EBICS account ================================== Nexus is a Web service that unifies banking protocols, like EBICS, under one JSON-based abstraction layer. Therefore, "using Nexus" means having a running Nexus service that will receive the requests from another command line program that is as well offered along LibEuFin. Use the following command to *(1) run the nexus service*: .. code-block:: shell $ libeufin-nexus At this point a *(2) superuser account needs to be activated into the system*: .. code-block:: shell $ libeufin-nexus superuser foo # Will interactively ask for password For simplicity, we'll enable the superuser to access the bank account via the EBICS protocol, but a API to create less privileged users is as well offered. Nexus needs now to associate the user to a EBICS subscriber that was activated on the bank. In the terminology, this is called *(3) creating a EBICS connection*. .. code-block:: shell ./libeufin-cli \ connections \ new-ebics-connection \ --connection-name $NEXUS_BANK_CONNECTION_NAME \ --ebics-url $EBICS_BASE_URL \ --host-id $EBICS_HOST_ID \ --partner-id $EBICS_PARTNER_ID \ --ebics-user-id $EBICS_USER_ID \ --nexus-user-id $NEXUS_USER \ --nexus-password $NEXUS_PASSWORD \ $NEXUS_URL If the previous command succeeded, Nexus must communicate all the details to the bank. Therefore, it will *(4) bootstrap the connection*. .. code-block:: shell ./libeufin-cli \ connections \ bootstrap-connection \ --connection-name $NEXUS_BANK_CONNECTION_NAME \ --nexus-user-id $NEXUS_USER \ --nexus-password $NEXUS_PASSWORD \ $NEXUS_URL Request history of transactions =============================== Make a payment ==============