chore: update readmes and building process

This commit is contained in:
- 2024-10-05 13:41:09 +02:00
parent 24658e252a
commit 79ccc9198e
9 changed files with 81 additions and 1531 deletions

View file

@ -1,27 +1,49 @@
# Mysu # Mysu
A no-bullshit, pure Monero wallet suitable for both newcomers and experienced users. 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. 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. 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 ## QUICKSTART
- Download the APK for the most current release [here](http://4hsesnr6mjb4qrflgf5gezjaszzoqnnisin7ywzbsv6pgcxysiaq.b32.i2p/pokkst/mysu/releases) and install it
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. - 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) - See the [FAQ](doc/FAQ.md)
### Disclaimer ## 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. 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) - Tor and I2P support (no built-in daemons though)
- Coin control (UTXO management) - Coin control (UTXO management)
- Seed passphrases/offsets - Seed passphrases/offsets
- Polyseed - 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 ### pokkst
- Address: 87BqQYkugEzh6Tuyotm2uc3DzJzKM6MuZaC161e6u1TsQxxPmXVPHpdNRyK47JY4d1hhbe25YVz4e9vTXCLDxvHkRXEAeBC
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: ## Requirements:
1. Docker 1. Git, Make and Podman: `sudo pacman -S base-devel git podman`
2. `sudo apt install make automake libtinfo5` 2. 8+ GiB of RAM and 20+ GiB of free disk space available
3. Huge amount of RAM and free disk space
## Building: ## 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 1. Clone mysu repo including submodules: `git clone --recurse-submodules https://codeberg.org/anoncontributorxmr/mysu.git`
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`
2. Change current directory to the monero repo: `cd monero` 2. Run `make` in `external-libs` directory
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.

View file

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

View file

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

File diff suppressed because it is too large Load diff