Merge pull request 'chore: update readmes and building process' (#28) from chore-update-readmes-and-building-process into master

Reviewed-on: https://codeberg.org/anoncontributorxmr/mysu/pulls/28
This commit is contained in:
anoncontributorxmr 2024-10-05 13:38:51 +00:00
commit ad17107176
9 changed files with 81 additions and 1531 deletions

View file

@ -1,27 +1,49 @@
# Mysu
A no-bullshit, pure Monero wallet suitable for both newcomers and experienced users.
Originally forked from the Monerujo codebase, it has been entirely rewritten on the Java side into Kotlin.
The monerujo.cpp C++ file still exists but has been updated/modified.
A no-bullshit, pure Monero wallet suitable for both newcomers and experienced users.
Originally forked from the Monerujo codebase, it has been entirely rewritten on the Java side into Kotlin.
The monerujo.cpp C++ file still exists but has been updated/modified.
Project was initially started by pokkst, and is now maintained by anoncontributorxmr.
### QUICKSTART
- Download the APK for the most current release [here](http://4hsesnr6mjb4qrflgf5gezjaszzoqnnisin7ywzbsv6pgcxysiaq.b32.i2p/pokkst/mysu/releases) and install it
## QUICKSTART
Note: there are no production releases of mysu available yet. Only proceed if you would like to use a beta/testing release.
- Download the most current release [here](https://codeberg.org/anoncontributorxmr/mysu/actions) (click on the latest green action for `master` branch and look for "apks" artifact there). Unzip the archive and install the APK.
- Run the app, enter a passphrase (optional, depending on seed type), recovery seed (optional), and restore height (optional) to create a wallet.
- See the [FAQ](doc/FAQ.md)
### Disclaimer
Be sure to back up your wallet recovery phrase (and seed offset/passphrase, if you set one. Mysu enforces seed offsets/passphrases for Polyseed wallets). We are NOT responsible for lost or stolen funds.
## Disclaimer
Be sure to back up your wallet recovery phrase (and seed offset/passphrase, if you set one.
Mysu enforces seed offsets/passphrases for Polyseed wallets).
We are NOT responsible for lost or stolen funds.
### Notable Features
## Notable Features
- Tor and I2P support (no built-in daemons though)
- Coin control (UTXO management)
- Seed passphrases/offsets
- Polyseed
### HOW TO BUILD
## HOW TO BUILD
See [the instructions](doc/BUILDING-external-libs.md)
See [the instructions](doc/BUILDING-external-libs.md)
Then, fire up Android Studio and build the APK.
Then, fire up Android Studio and build the APK.
## Donations
### Donations
- Address: 87BqQYkugEzh6Tuyotm2uc3DzJzKM6MuZaC161e6u1TsQxxPmXVPHpdNRyK47JY4d1hhbe25YVz4e9vTXCLDxvHkRXEAeBC
### pokkst
pokkst is the original author of mysu.
XMR address: `87BqQYkugEzh6Tuyotm2uc3DzJzKM6MuZaC161e6u1TsQxxPmXVPHpdNRyK47JY4d1hhbe25YVz4e9vTXCLDxvHkRXEAeBC`
### anoncontributorxmr
anoncontributorxmr is the current maintainer of mysu.
XMR address: `48KqWkaWd8KcJKkakWfknJEo16scc8YkycfKpb8JYchiKJfukY1ompX9eQ9n3CfEBU1ADGj3P5FLAb731J2UghQt142LwHQ`
#### Expenses (excluding developer time)
Maintaining mysu incurs some costs, so please consider donating to the address above.
- Build server for CI/CD: 10 EUR / month

View file

@ -1,26 +1,13 @@
# External lib build
# Build external libraries (monero)
## Requirements:
1. Docker
1. Git, Make and Podman: `sudo pacman -S base-devel git podman`
2. `sudo apt install make automake libtinfo5`
3. Huge amount of RAM and free disk space
2. 8+ GiB of RAM and 20+ GiB of free disk space available
## Building:
1. Clone the Monero repo required for this app to function. A specific fork for UTXO management is hosted here: https://codeberg.org/anoncontributorxmr/monero
Clone a specific branch, and shorten I2P download time with `git clone -b v0.18.3.4-mysu --single-branch --depth 1 https://codeberg.org/anoncontributorxmr/monero`
1. Clone mysu repo including submodules: `git clone --recurse-submodules https://codeberg.org/anoncontributorxmr/mysu.git`
2. Change current directory to the monero repo: `cd monero`
3. Update submodules: `git submodule update --init --force`.
4. Then go into the mysu repo folder, then external-libs. Here you need to create symbol link to `monero` folder:
Linux: `ln -s ~/monero ~/mysu/external-libs/monero`
Windows: `mklink /D "C:\Users\<USERNAME>\mysu\external-libs\monero" "C:\Users\<USERNAME>\monero"`
5. Start Docker and then run `sudo make` (with podman sudo is not necessary) in `external-libs` folder. It will fail at end on Windows, but if `wallet2_api.h` exists in `include` folder, the build was successful.
2. Run `make` in `external-libs` directory

View file

@ -1,5 +1,5 @@
/arm64-v8a
/armeabi-v7a
/x86
/x86_64
VERSION
arm64-v8a
armeabi-v7a
x86
x86_64
include/

View file

@ -1,54 +1,50 @@
FLAVOUR = monero
NPROC=16
all: arm64-v8a armeabi-v7a x86_64 include/wallet2_api.h VERSION
debug: arm64-v8a armeabi-v7a include/wallet2_api.h VERSION
all: arm64-v8a armeabi-v7a x86_64 include/wallet2_api.h
debug: arm64-v8a armeabi-v7a include/wallet2_api.h
arm64-v8a: $(FLAVOUR) android64.Dockerfile
arm64-v8a: monero android64.Containerfile
-rm -rf arm64-v8a
-docker container rm $(FLAVOUR)-android-arm64 -f
docker build -f android64.Dockerfile -t $(FLAVOUR)-android-arm64 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-arm64 $(FLAVOUR)-android-arm64 bash
-podman container rm monero-android-arm64 -f
podman build -f android64.Containerfile -t monero-android-arm64 monero --build-arg NPROC=$(NPROC)
podman create -it --name monero-android-arm64 monero-android-arm64 bash
mkdir arm64-v8a
docker cp $(FLAVOUR)-android-arm64:/opt/android/prefix/lib/. arm64-v8a/
docker cp $(FLAVOUR)-android-arm64:/src/build/release/lib/. arm64-v8a/$(FLAVOUR)
podman cp monero-android-arm64:/opt/android/prefix/lib/. arm64-v8a/
podman cp monero-android-arm64:/src/build/release/lib/. arm64-v8a/monero
armeabi-v7a: $(FLAVOUR) android32.Dockerfile
armeabi-v7a: monero android32.Containerfile
-rm -rf armeabi-v7a
-docker container rm $(FLAVOUR)-android-arm32 -f
docker build -f android32.Dockerfile -t $(FLAVOUR)-android-arm32 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-arm32 $(FLAVOUR)-android-arm32 bash
-podman container rm monero-android-arm32 -f
podman build -f android32.Containerfile -t monero-android-arm32 monero --build-arg NPROC=$(NPROC)
podman create -it --name monero-android-arm32 monero-android-arm32 bash
mkdir armeabi-v7a
docker cp $(FLAVOUR)-android-arm32:/opt/android/prefix/lib/. armeabi-v7a
docker cp $(FLAVOUR)-android-arm32:/src/build/release/lib/. armeabi-v7a/$(FLAVOUR)
podman cp monero-android-arm32:/opt/android/prefix/lib/. armeabi-v7a
podman cp monero-android-arm32:/src/build/release/lib/. armeabi-v7a/monero
x86_64: $(FLAVOUR) android64_x86.Dockerfile
x86_64: monero android64_x86.Containerfile
-rm -rf x86_64
-docker container rm $(FLAVOUR)-android-x86_64 -f
docker build -f android64_x86.Dockerfile -t $(FLAVOUR)-android-x86_64 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-x86_64 $(FLAVOUR)-android-x86_64 bash
-podman container rm monero-android-x86_64 -f
podman build -f android64_x86.Containerfile -t monero-android-x86_64 monero --build-arg NPROC=$(NPROC)
podman create -it --name monero-android-x86_64 monero-android-x86_64 bash
mkdir x86_64
docker cp $(FLAVOUR)-android-x86_64:/opt/android/prefix/lib/. x86_64
docker cp $(FLAVOUR)-android-x86_64:/src/build/release/lib/. x86_64/$(FLAVOUR)
podman cp monero-android-x86_64:/opt/android/prefix/lib/. x86_64
podman cp monero-android-x86_64:/src/build/release/lib/. x86_64/monero
x86: $(FLAVOUR) android32_x86.Dockerfile
x86: monero android32_x86.Containerfile
-rm -rf x86
-docker container rm $(FLAVOUR)-android-x86 -f
docker build -f android32_x86.Dockerfile -t $(FLAVOUR)-android-x86 $(FLAVOUR) --build-arg NPROC=$(NPROC)
docker create -it --name $(FLAVOUR)-android-x86 $(FLAVOUR)-android-x86 bash
-podman container rm monero-android-x86 -f
podman build -f android32_x86.Containerfile -t monero-android-x86 monero --build-arg NPROC=$(NPROC)
podman create -it --name monero-android-x86 monero-android-x86 bash
mkdir x86
docker cp $(FLAVOUR)-android-x86:/opt/android/prefix/lib/. x86
docker cp $(FLAVOUR)-android-x86:/src/build/release/lib/. x86/$(FLAVOUR)
podman cp monero-android-x86:/opt/android/prefix/lib/. x86
podman cp monero-android-x86:/src/build/release/lib/. x86/monero
include/wallet2_api.h: $(FLAVOUR) include $(FLAVOUR)/src/wallet/api/wallet2_api.h
cp $(FLAVOUR)/src/wallet/api/wallet2_api.h include/wallet2_api.h
include/wallet2_api.h: monero include monero/src/wallet/api/wallet2_api.h
cp monero/src/wallet/api/wallet2_api.h include/wallet2_api.h
include:
mkdir include
VERSION:
echo MONERUJO_$(FLAVOUR) `git -C . branch | grep "^\*" | sed 's/^..//'` with $(FLAVOUR) `git -C $(FLAVOUR) branch | grep "^\*" | sed 's/^..//'` > VERSION
clean:
-rm -rf arm64-v8a
-rm -rf armeabi-v7a
@ -58,17 +54,13 @@ clean:
-rm -f VERSION
distclean: clean
-docker container rm $(FLAVOUR)-android-arm64 -f
-docker container rm $(FLAVOUR)-android-arm32 -f
-docker container rm $(FLAVOUR)-android-x86_64 -f
-docker container rm $(FLAVOUR)-android-x86 -f
-docker image rm $(FLAVOUR)-android-arm64 -f
-docker image rm $(FLAVOUR)-android-arm32 -f
-docker image rm $(FLAVOUR)-android-x86_64 -f
-docker image rm $(FLAVOUR)-android-x86 -f
-rm $(FLAVOUR)
$(FLAVOUR):
$(error Please ln -s $(FLAVOUR))
-podman container rm monero-android-arm64 -f
-podman container rm monero-android-arm32 -f
-podman container rm monero-android-x86_64 -f
-podman container rm monero-android-x86 -f
-podman image rm monero-android-arm64 -f
-podman image rm monero-android-arm32 -f
-podman image rm monero-android-x86_64 -f
-podman image rm monero-android-x86 -f
.PHONY: all clean distclean

File diff suppressed because it is too large Load diff