Skip to content

Kotlin, Android va Java

Kotlin SDK JVM va Android dasturlari uchun andoza mijoz to'plami hisoblanadi. U Iroha omborida kotlin/ ostida yashaydi va platforma bo'yicha bo'linadi, shuning uchun portativ kod Android bog'liqliklarini egallashmaydi.

Modullar

ArtefaktTipFoydalanish
org.hyperledger.iroha.sdk:core-jvmJARPure Kotlin/JVM Norito, ma'lumotlar modeli, kripto, muomala, Torii va protokol kodi
org.hyperledger.iroha.sdk:client-androidAARAndroid kalit do'kon, qurilma telemetriyasi va JNI tomonidan qo'llab-quvvatlanadigan mijoz integratsiyalari
org.hyperledger.iroha.sdk:offline-wallet-androidAARAndroid client-android asosida offline-wallet transport va integratsiyalari

Artefaktlar hali Maven Centralda e'lon qilinmagan. ularni o'rnatilgan Iroha manbai tahlilidan lokal ravishda yaratish va nashr etish:

bash
cd kotlin
./gradlew publishToMavenLocal

Keyin ilova uchun kerak boʻlgan artefaktni tanlang:

kotlin
repositories {
    mavenLocal()
}

dependencies {
    implementation("org.hyperledger.iroha.sdk:core-jvm:0.1.0")
    // Android client features:
    // implementation("org.hyperledger.iroha.sdk:client-android:0.1.0")
    // Android offline-wallet features:
    // implementation("org.hyperledger.iroha.sdk:offline-wallet-android:0.1.0")
}

core-jvm hech qanday Android bog'liqliklarni o'z ichiga olmaydi. Android mijozi va kalit saqlash kodini client-android da saqlang va Android faqat oflayn-wallet va JNI oqimlari uchun offline-wallet-androiddan foydalaning.

Kotlin va Java moslashuvi

Umumiy API birinchi bo'lib Kotlin hisoblanadi va Java interopini JVM chaqiruvchilarga kerak bo'lgan joyda taqdim etadi. Tegishli java/ implementatsiyasida teng o'zgarishlar aks ettiriladi. Yangi Android integratsiyalari yuqoridagi Kotlin artefaktlar bilan boshlanishi kerak.

Hammasi Kotlin modullar qo'llash JDK 8 API tuzilgan vaqtda moslashuvchanlik -Xjdk-release=8, Garchi qurilmalar zanjirining oʻzi foydalansa ham JDK 21. Foydalanmang JDK 9+ APIs yo'nalishi SDK kod.

Qurish va sinovdan o'tkazish

O'tkazilishi mumkin bo'lgan JVM sinovlarini bajaring:

bash
cd kotlin
./gradlew :core-jvm:test --console=plain

Android asbob-uskunalarini yaratish:

bash
./gradlew :client-android:assembleRelease \
  :offline-wallet-android:assembleRelease --quiet

Joriy qamrov

Kotlin SDK ga quyidagilar kiradi:

  • Norito kodlash va dekodlash
  • Kanonik hisobvaraq va aktivlar manzilini boshqarish
  • Transaksiyalarni tuzish, imzolash va offline konvertlar
  • Torii HTTP, WebSocket va SSE mijozlari
  • ko'p imzo, obunalik, SoraFS, Nexus va Connect modellari
  • Android tugmaxona va qurilma telemetriyasi integratsiyalari
  • Android offline QR, yaqin va NFC transportlari

Modulga mos APIs va aniq qurilish buyruqlari uchun Kotlin SDK README-ni ko'ring.