README (2829B)
1 Installing LibEuFin 2 =================== 3 4 Although different versions of Java may support this project, 5 the following steps were verified with Java 17.0.6. 6 7 The following dependencies (names match Debian packages) should 8 be available before trying the installation: 9 10 - make 11 - python3-venv 12 - openjdk-17-jre-headless 13 14 Run the following steps to install LibEuFin: 15 16 $ ./bootstrap 17 $ ./configure --prefix=$PFX 18 $ make install 19 20 If the previous step succeeded, libeufin-nexus and a command line 21 client (libeufin-cli) should be found under $PFX/bin. Additionally, 22 the libeufin-bank command used for testing should be found under 23 $PFX/bin as well. 24 25 Running tests 26 ============= 27 28 Tests need a PostgreSQL database called "libeufincheck". 29 If the database setup is correct and LibEuFin is installed, 30 the following command runs all the test cases: 31 32 $ make check 33 34 Launching LibEuFin 35 ================== 36 37 Launch Nexus: 38 39 $ libeufin-nexus serve --with-db=jdbc:postgres://localhost:5433/$DB_NAME?user=foo&password=bar 40 41 More instructions about configuring and setting Libeufin 42 are available at this link: 43 44 https://docs.taler.net/libeufin/nexus-tutorial.html 45 46 Exporting a dist-file 47 ===================== 48 49 $ ./bootstrap 50 $ make dist 51 52 The TGZ file should be found at: build/distributions/libeufin-$VERSION-sources.tar.gz 53 54 The program version comes from `git describe --tags --always --abbrev=8` at 55 build time. The source archive includes this value in a root `.version` file, 56 which Gradle uses when Git metadata is unavailable. Git takes precedence over 57 any existing `.version` in a checkout. A source tree without either Git metadata 58 or a nonempty single-line `.version` cannot be built. No build fetches Git tags 59 or history; an untagged shallow checkout reports its abbreviated commit hash. 60 61 Exporting an archive with the three executables 62 =============================================== 63 64 Such archive contains the compiled Bank and Nexus, 65 and the CLI script. 66 67 $ ./bootstrap # Needed to silence 'GNU make' 68 $ make exec-arch 69 70 Alternatively, the same archive is produced by: 71 72 $ ./gradlew execArch 73 74 The archive should be found at: build/distributions/libeufin-$VERSION.zip 75 76 After extracting the compressed files, run the three 77 executable found under the "bin/" folder. 78 79 User interface 80 ============== 81 82 The LibEuFin Bank WebUI is built separately from the 83 `libeufin-bank-webui` package in taler-typescript-core: 84 https://git.taler.net/taler-typescript-core.git/tree/packages/libeufin-bank-webui 85 86 The `libeufin-bank` Debian package depends on `libeufin-bank-webui` and 87 serves its installed files from `$PREFIX/share/libeufin-bank-webui/`. 88 When those files are unavailable, the bank serves a small fallback page 89 with installation guidance. 90 91 Note: the UI is an independent Web app that could even be served 92 from a different host than the one running the backend.