Files

124 lines
4.2 KiB
Markdown
Raw Permalink Normal View History

2020-05-24 20:07:52 +02:00
This is the repository of Flowee Pay.
Flowee Pay is a payment solution, also often called wallet, that allows
users to pay and receive Bitcoin Cash in a simple application with little
2022-07-21 13:17:29 +02:00
to no external parties or (indexing) servers it needs to depend on.
2020-05-24 20:07:52 +02:00
The only really required dependent is the peer to peer network, and thus
the Internet.
We use QML for the user interface, which allows fast turnaround for
skinning and a very strong model/view separation. The goal here is to have
multiple user interfaces for the one codebase. For instance you can have
2020-10-23 20:41:18 +02:00
a very different user experience and set of features on desktop than on
Android. You can simply "skin" an existing GUI and change it to have your
companies logo (we want you to do that! Just please use a different name
for the app you ship then!)
2020-05-24 20:07:52 +02:00
The goal of having a Free Software product like Flowee Pay is that average
users can use the community client and when companies that want to bundle a
wallet with their product (for instance to do some token thingy) they are
more than welcome to provide their own skinning instead of the ones that
are included in this repo.
Any companies or groups doing this are going to help increase the quality
of the main free software product and thus this benefits all.
BUILDING
2020-10-23 20:41:18 +02:00
Flowee Pay uses libraries from Flowee, you need to
2024-10-22 00:03:53 +02:00
either install the main flowee-libs package via your package manager
2020-10-23 20:41:18 +02:00
or compile it before you compile Pay.
2022-08-19 14:56:36 +02:00
For ubuntu getting the latest is a matter of calling:
2022-11-07 14:31:38 +01:00
``` sh
2022-08-19 14:56:36 +02:00
sudo add-apt-repository ppa:flowee/ppa
sudo apt update
sudo apt install flowee-libs
```
2020-05-24 20:07:52 +02:00
2022-11-07 14:31:38 +01:00
Additionally you will want to have some development packages installed;
2020-05-24 20:07:52 +02:00
2022-11-07 14:31:38 +01:00
``` sh
sudo apt install build-essential libboost-all-dev libssl-dev cmake \
2024-02-04 15:53:03 +01:00
libzxing-dev qdbus-qt6 qt6-l10n-tools, libqt6shadertools6-dev \
libqt6svg6-dev qt6-base-dev qt6-declarative-dev qt6-tools-dev
2020-08-11 22:42:16 +02:00
```
2022-11-07 14:31:38 +01:00
2024-02-04 15:53:03 +01:00
If you use the older Ubuntu Jammy (2022-04), you need to also install
`libgl-dev` since that was missing fromt the Qt packages back then.
After installing that succesfully, you can compile Flowee Pay by fetching
the sources and in the source tree run this sequence:
2022-11-07 14:31:38 +01:00
``` sh
2020-08-11 22:42:16 +02:00
mkdir build
cd build
cmake ..
2021-11-21 11:16:07 +01:00
make install
2020-08-11 22:42:16 +02:00
```
2020-05-24 20:07:52 +02:00
2024-02-04 15:53:03 +01:00
Running Flowee Pay requires Qt Quick, which on debian based Linux distro's
have been packaged to a painful number of tiny packages and as such you
will need these too:
``` sh
sudo apt install \
qml6-module-qtquick qml6-module-qtqml-workerscript \
qml6-module-qtquick-controls qml6-module-qtquick-dialogs \
qml6-module-qtquick-layouts qml6-module-qtquick-shapes \
qml6-module-qtquick-templates qml6-module-qtquick-window \
```
2022-11-07 14:31:38 +01:00
### Manually compiling flowee-libs:
2022-07-21 13:17:29 +02:00
2022-11-07 14:31:38 +01:00
We depend on the libraries shipped in 'theHub' git repo, also from Flowee.
If you compile that yourself, you need to make sure you `make install` it.
The Flowee Pay buildsystem may not find this if the install directory is not the
same as the packaged. In that case you may want to replace the cmake call
above with this slightly more complex one:
2020-05-24 20:07:52 +02:00
2022-11-07 14:31:38 +01:00
``` sh
cmake -DCMAKE_PREFIX_PATH=/path/to/the/thehub-installed-dir ..
```
2020-05-24 20:07:52 +02:00
2022-07-21 13:17:29 +02:00
## DEVS
2021-01-28 08:37:44 +01:00
2022-07-21 13:17:29 +02:00
Want to start Hacking, getting to know QML as well? Here is a video playlist of 5 short
videos explaining the tech [youtube](https://www.youtube.com/playlist?list=PL6CJYn40gN6h3usMQY3BSZJs08isz3jqa)
2021-01-28 08:37:44 +01:00
2021-11-21 11:16:07 +01:00
To develop on the app, especially if you will work on the QML, we suggest the
following workflow:
```
mkdir build
cd build
cmake -Dlocal_qml=ON -DCMAKE_INSTALL_PREFIX=`pwd` ..
make install
```
The executables will be in `pay/build/bin/` and by adding the `local_qml`
2022-11-07 14:31:38 +01:00
cmake option the build will bake in the path to your QML files. On
2022-07-21 13:17:29 +02:00
your local harddrive. This allows you to change the QML files and simply
2021-11-21 11:16:07 +01:00
restart the app without recompile.
2022-07-21 13:17:29 +02:00
For development you can run either **pay** or **pay_mobile**, depending on which
2021-11-21 11:16:07 +01:00
front-end you are working on.
To develop on the app we suggest starting one of those app with these
options:
`bin/pay --offline --testnet4`
2022-07-21 18:24:14 +02:00
# Links
2022-12-21 16:18:59 +01:00
* Learn more about QML? Here is a great place to start; https://www.kdab.com/top-100-qml-resources-kdab/
2025-09-05 12:22:21 +02:00
* Upstream: https://bitcoincashcode.org/Flowee/pay
2022-07-21 18:24:14 +02:00
* Website: https://flowee.org
* Twitter: https://twitter.com/floweethehub
* Telegram: https://t.me/Flowee_org