Skip to content

Kotlin, Android და ჯავა

Kotlin SDK არის ჩვეულებრივი კლიენტის სტეიკი JVM და Android პროგრამებისთვის. იგი ცხოვრობს kotlin/ ქვეშ Iroha საცავში და განკუთვნილია პლატფორმაზე, ასე რომ პორტაბილური კოდი არ იღებს დამოკიდებულებებს Android.

მოდულები

არტეფაქტიტიპიგამოყენება
org.hyperledger.iroha.sdk:core-jvmJARწმინდა Kotlin/JVM Norito, მონაცემთა მოდელი, კრიპტო, ტრანზაქცია, Torii და პროტოკოლის კოდი
org.hyperledger.iroha.sdk:client-androidAARAndroid საკვანძო შენახვის, მოწყობილობის ტელემეტრიისა და JNI მხარდაჭერილი კლიენტთა ინტეგრაციის
org.hyperledger.iroha.sdk:offline-wallet-androidAARAndroid ოფლაინ საფულის ტრანსპორტირება და ინტეგრაცია, რომელიც აგებულია client-android

არტეფაქტები ჯერ არ არის გამოქვეყნებული Maven Central. ააშენეთ და გამოაქვეყნეთ ისინი ადგილობრივად ჩაკეტილი Iroha წყარო რევიზიონიდან:

bash
cd kotlin
./gradlew publishToMavenLocal

შემდეგ აირჩიეთ მხოლოდ ის არტეფაქტი, რომელიც თქვენს განაცხადშია საჭირო:

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 არ შეიცავს Android დამოკიდებულებებს. შეინახეთ Android კლიენტის კოდი და საკვანძო შენახვის კოდი client-android და გამოიყენეთ offline-wallet-android მხოლოდ Android-ის ოფლაინ ქაღალდისთვის და JNI ნაკადებისთვის.

Kotlin და Java-ს თავსებადობა

საზოგადოება API არის Kotlin-პირველად და უზრუნველყოფს Java interop სადაც JVM დამრეკველებს ეს სჭირდებათ. თანაბარი ცვლილებები ასახულია შესაბამის java/ განხორციელება. ახალი Android ინტეგრაციები უნდა დაიწყოს: Kotlin ზემოდან არსებული არტეფაქტები.

ყველა Kotlin მოდულები აღსრულება JDK 8 API კომპილიტაციის დროს თავსებადობა -Xjdk-release=8, მიუხედავად იმისა, რომ მშენებლობის ინსტრუმენტების ჯაჭვი თავად იყენებს JDK 21. არ გამოიყენოთ JDK 9+ APIs დაწვრილებით SDK კოდი.

ააშენეთ და შეამოწმეთ

ჩატარდეს პორტატული JVM ტესტები:

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

შექმნა Android არტეფაქტები:

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

ამჟამინდელი მოცულობა

Kotlin SDK მოიცავს:

  • Norito კოდირება და დეკოდირება
  • კანონიკური ანგარიშის და აქტივების მისამართების მართვა
  • ტრანზაქციების შექმნა, ხელმოწერა და ოფლაინ კონვერტები
  • Torii HTTP, WebSocket და SSE კლიენტები
  • მულტიხელმოწერით, აბონენტობით, SoraFS, Nexus და Connect-ის მოდელებით
  • Android საკვანძო შენახვისა და მოწყობილობის ტელემეტრიის ინტეგრაციები
  • Android ოფლაინ QR, ახლომდებარე და NFC ტრანსპორტები

იხილეთ Kotlin SDK README მოდულის სპეციფიკური APIs და ზუსტი მშენებლობის ბრძანებებისათვის.