پخپله یې کمپایل کړئ
د Rand Wallet هر پیرودونکی پروګرام له یوې عامې زېرمې، randprotocol/clients، څخه د GPL-3.0-only جواز لاندې جوړېږي. خپاره شوي ډاونلوډونه یوازې د همدې پاڼې په کمانډونو جوړېږي، نو تاسو کولای شئ همدا بستې په خپل ماشین جوړې کړئ. نسخه 0.8.0 د v0.8.0 ټګ ده.
څه نصب کړئ
یوازې هغه قطارونه چې د غوښتل شوي پیرودونکي پروګرام لپاره دي. د هر پیرودونکي پروګرام لومړی جوړښت ثبوت جوړوونکی کمپایلوي او څو دقیقې نیسي؛ له هغه وروسته بیا جوړول چټک وي.
1. سرچینه ترلاسه کړئ
زېرمه د هغې د یوې فرعي ماډیول سره کلون کړئ، چې بشپړ نوډ دی او کوډ یې د والټ کریپټوګرافي ده. د خپرونې ټګ چیکاوټ کړئ ترڅو دقیقاً هغه څه جوړ کړئ چې خپاره شوي، یا د وروستي حالت لپاره په main پاتې شئ. GitHub حساب یا SSH کیلي ته اړتیا نشته.
git clone --recurse-submodules https://github.com/randprotocol/clients.git
cd clients
git checkout v0.8.0 && git submodule update --init # خپرونه، نه main له git پرته: rand-wallet-0.8.0-source.tar.gz له خپرونې څخه ډاونلوډ او خلاص کړئ. فرعي ماډیول په کې شامل دی، چې د GitHub خپل “Source code” آرشیفونه یې پرېږدي.
2. هسته وازمویئ (اختیاري)
هسته د Rust هغه کتابتون دی چې هر پیرودونکی پروګرام یې رانغاړي. د هغې ازموینې یو ریښتینی ثبوت جوړوي او د چین د خپل تاییدوونکي په مرسته یې تاییدوي، چې له لومړي کمپایل وروسته شاوخوا یوه دقیقه نیسي.
cd core && cargo test --release && cd .. 3. ډیسکټاپ: Linux، Windows، macOS
یو سکرېپټ د هغه عامل سیستم بستې جوړوي چې پرې چلېږي، د هغو نومونو لاندې چې خپرونې یې کاروي. په Linux کې: AppImage، .deb، .rpm او په .tar.gz کې خالص باینري. په Windows کې، له Git Bash څخه: .msi او -setup.exe. په macOS کې: .dmg. هر پلاتفورم یوازې خپلې بستې جوړوي.
cargo install tauri-cli --version "^2" --locked # یو ځل
scripts/release/build-desktop.sh # → dist/release/v<version>/
scripts/release/build-desktop.sh --target x86_64-apple-darwin # د Intel .dmg، له Apple-silicon Mac څخه
cd desktop/src-tauri && cargo tauri dev # یا یې یوازې وچلوئ، له بسته کولو پرته لومړی جوړښت ثبوت جوړوونکی کمپایلوي او څو دقیقې نیسي.
4. د Chrome او Firefox توسیعونه
هسته WebAssembly ته کمپایلېږي، بیا د هر براوزر د بسته کولو سکرېپټ فایلونه dist/ ته کاپي کوي او zip کوي یې. هېڅ bundler او minifier نشته: د WebAssembly ماډیول پرته، هغه فایلونه چې تاسو یې باروئ همغه د زېرمې فایلونه دي.
core/scripts/build-wasm.sh # → extension/shared/core/
chrome/pack.sh # → dist/chrome/ او dist/rand-wallet-chrome-<version>.zip
firefox/pack.sh # → dist/firefox/ او dist/rand-wallet-firefox-<version>.zip Chrome: chrome://extensions → Developer mode → Load unpacked → dist/chrome. Firefox: about:debugging → This Firefox → Load Temporary Add-on… → dist/firefox/manifest.json.
5. Android
هسته د arm64 او x86_64 لپاره د اصلي کتابتون په توګه جوړېږي، بیا Gradle اپلیکېشن د هغې شاوخوا جوړوي. د debug جوړښت په هر تلیفون یا ایمولېټر نصبېږي؛ د release جوړښت په هغې کیلي لاسلیک کېږي چې تاسو یې پخپله جوړوئ.
نور د دې په اړه Android.
core/scripts/build-android.sh # → android/app/src/main/jniLibs/
cd android
echo "sdk.dir=$HOME/Android/Sdk" > local.properties # هر چېرې چې ستاسو SDK وي
./gradlew assembleDebug # → app/build/outputs/apk/debug/app-debug.apk
adb install -r app/build/outputs/apk/debug/app-debug.apk 6. iOS
هسته د وسیلې او سمولېټر لپاره د XCFramework په توګه جوړېږي، او اپلیکېشن یوه عادي Xcode پروژه ده. په خپل iPhone یې چلول دې ته اړتیا لري چې ستاسو Apple ID په Xcode → Settings → Accounts کې وي او ستاسو ټیم د Signing & Capabilities لاندې غوره شوی وي.
نور د دې په اړه iOS.
core/scripts/build-ios.sh # → ios/Frameworks/RandWalletCore.xcframework
open ios/RandWallet.xcodeproj # سمولېټر یا خپله وسیله وټاکئ، بیا Run 7. ځایي ویب والټ
همدا والټ د براوزر په یوه ټب کې، چې تاسو ته یې یو کوچنی سرور وړاندې کوي چې یوازې په 127.0.0.1 اورېدنه کوي.
نور د دې په اړه Web.
web/wallet/serve.sh # جوړوي، بیا http://127.0.0.1:8787/ وړاندې کوي 8. ازموینې وچلوئ
ګډ انٹرفېس، ویب والټ او توسیع یوه JavaScript ازموینیزه ټولګه لري؛ ډیسکټاپ اپلیکېشن او Android اپلیکېشن خپلې ځانګړې لري.
npm ci --prefix ui
node --test "ui/test/**/*.test.mjs" "web/wallet/test/**/*.test.mjs" "extension/test/*.test.mjs"
( cd desktop/src-tauri && cargo test )
( cd android && ./gradlew testDebugUnitTest ) خپاره شوي فایلونه څنګه جوړېږي
د خپرونې په ټګ، د GitHub چلوونکي همدا سکرېپټونه چلوي: ډیسکټاپ اپلیکېشن په macOS، Windows او Linux کې، د توسیع دواړه zip فایلونه، او د سرچینې آرشیف، چې د SHA256SUMS سره خپرونې ته نښلول کېږي. کاري بهیر .github/workflows/release.yml دی، او یو Jenkinsfile همدا پایپ لاین بل ځای چلوي. د Android بسته د یو ساتونکي په ماشین جوړېږي او لاسلیک کېږي، ځکه چې د هغې د لاسلیک کیلي په هېڅ CI کې نشته.
او څه نه وايي
هغه ډاونلوډ چې له خپل SHA-256 سره سمون ولري، همغه فایل دی چې خپور شوی. جوړښتونه لا تر اوسه بټ په بټ بیا تولیدېدونکي نه دي، نو ستاسو خپل جوړښت به د خپاره شوي په څېر ورته سم ونلري، او سمون لرونکی سم د دې ثبوت نه دی چې فایل له کومې سرچینې راغلی. که پوښتنه دا وي، ځواب همدا پاڼه ده: جوړ یې کړئ، او هغه وچلوئ چې تاسو جوړ کړی.