Skip to content

Commit 163aa63

Browse files
Document the yarn prerequisite and refresh mobile README for v0.4.0
A clean clone could not be built: bdk-rn resolves uniffi-bindgen-react-native from a git source whose prepare step shells out to yarn build, so npm ci fails on a workstation without yarn. Hosted CI images ship yarn, so the existing workflow stayed green and hid the gap. Both READMEs now call this out before the install step, along with the JDK 17 and Git requirements. The mobile README still carried the 0.3.0 heading and none of the 0.4.0 work, so it now lists BIP21 payment requests, MAX sends and the transaction detail screen, documents the preview variant used to install a mainnet build beside an existing one, and states that a missing signing variable silently produces an unsigned build and that the keystore must be backed up outside the repo.
1 parent dd396f8 commit 163aa63

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ The tested ARM64 APK is published under [GitHub Releases](https://github.com/tev
2929

3030
## Validation
3131

32+
Requires Node.js 22.11+, JDK 17, the Android SDK and Git. Yarn must be installed before the first install: `bdk-rn` pulls `uniffi-bindgen-react-native` from a git source whose prepare step shells out to `yarn build`, so `npm ci` fails without it. Hosted CI images ship yarn already, which is why this only bites on a fresh workstation.
33+
3234
```bash
35+
npm install -g yarn # or: corepack enable
3336
cd mobile
3437
npm ci
3538
npx tsc --noEmit

mobile/README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BTC Wallet Mobile 0.3.0
1+
# BTC Wallet Mobile 0.4.0
22

33
React Native ve resmi [BDK-RN 1.0](https://github.com/bitcoindevkit/bdk-rn) tabanlı, non-custodial Bitcoin cüzdanı. Android projesi birbirinden ayrı testnet ve mainnet uygulama kimlikleri üretir.
44

@@ -12,14 +12,27 @@ React Native ve resmi [BDK-RN 1.0](https://github.com/bitcoindevkit/bdk-rn) taba
1212
- Tam sayı tabanlı BTC/SAT gösterimi ve işlem hesaplarından ayrı yaklaşık USD değeri
1313
- Mempool.space/Blockstream fallback, mainnet genesis doğrulaması ve özel HTTPS Esplora desteği
1414
- Alma adresi türetme indeksi, kullanılmamış adres sayacı ve 20 adreslik güvenlik sınırı
15+
- QR kodlu BIP21 ödeme isteği; panodan gelen URI'de bilinmeyen `req-` parametresi, tekrar eden anahtar ve aralık dışı tutar reddedilir
16+
- Tüm bakiyeyi gönderme (MAX); gerçek tutar tahmin yerine tamamlanmış PSBT çıktılarından okunur
17+
- İşlem ayrıntı ekranı: yerel tutarlar, ücret, zaman damgası, kopyalanabilir txid; blok gezgini sorgusu açık kullanıcı eylemidir
1518
- RBF, ücret sınırları, tam alıcı adresi ve son dört karakter onayı
1619
- Ekran görüntüsü, overlay/tapjacking, Android yedekleme ve cleartext trafik korumaları
1720

1821
## Geliştirme
1922

20-
Android gereksinimleri: Node.js 22.11+, JDK 17 ve Android SDK. iOS bağımlılık çözümü ayrıca Ruby 3.1+ gerektirir.
23+
Android gereksinimleri: Node.js 22.11+, JDK 17, Android SDK ve Git. iOS bağımlılık çözümü ayrıca Ruby 3.1+ gerektirir.
24+
25+
Kuruluma başlamadan önce **yarn'ı kurun**. `bdk-rn`, `uniffi-bindgen-react-native` paketini git kaynağından çeker ve o paketin hazırlık adımı `yarn build` çalıştırır; yarn bulunamazsa `npm ci` şu hatayla durur:
26+
27+
```
28+
'yarn' is not recognized as an internal or external command
29+
npm error command failed: cmd.exe /d /s /c yarn build
30+
```
31+
32+
GitHub Actions imajlarında yarn hazır geldiği için CI bu durumu yakalamaz — temiz bir geliştirme makinesinde adım atlanmamalıdır.
2133

2234
```bash
35+
npm install -g yarn # veya: corepack enable
2336
npm ci
2437
npx tsc --noEmit
2538
npm run lint
@@ -48,6 +61,14 @@ cd android
4861

4962
Üretim APK'sı `android/app/build/outputs/apk/mainnet/app-mainnet.apk` altında oluşur. Release varyantı Metro kullanmaz; JavaScript paketi APK içine gömülür.
5063

64+
Dört değişkenden biri eksikse `hasReleaseSigning` false olur ve varyant imzasız derlenir. Keystore dosyası bilerek sürüm kontrolünün dışındadır; **repo dışında yedekleyin**, çünkü anahtar kaybedilirse aynı uygulama kimliğine güncelleme yayınlanamaz.
65+
66+
`preview` varyantı, `com.btcwalletmobile.previewmainnet` kimliğiyle mainnet derlemesini mevcut kurulumun yanına kurmayı sağlar; doğrulama sırasında kullanıcı verisini silmeye gerek kalmaz.
67+
68+
```powershell
69+
.\gradlew.bat assemblePreview
70+
```
71+
5172
## Güvenlik sınırları
5273

5374
- Uygulama sunucusuz ve non-custodial'dır; Esplora özel anahtarla imza atamaz fakat sorgulanan adresleri/IP'yi gözlemleyebilir veya eksik veri sunabilir.

0 commit comments

Comments
 (0)