[LINUX] Versuchen Sie, Ihre eigene CorDapp zu erstellen. (Bis zur Schaffung von Staaten)

Artikelübersicht

Ich habe meine eigene CorDapp gemäß Cordas offizieller Dokumentation erstellt. In diesem Artikel werde ich bis zur Erstellung von Zuständen beschreiben.

Offizielle Dokumentation

https://docs.corda.net/_static/corda-developer-site.pdf (Hauptsächlich implementiert gemäß Kapitel 5 "Erste Schritte mit der Entwicklung von CorDapps" und Kapitel 6 "SCHLÜSSELKONZEPTE".)

Zustandsübersicht

  1. Was sind "Staaten"? Zustände sind Objekte, in denen "Fakten im Hauptbuch" aufgezeichnet werden. Status werden aktualisiert, wenn sich der Status ändert (der Betrag bewegt sich, der Eigentümer ändert sich usw.). Darüber hinaus hat jeder an der Corda-Plattform teilnehmende Knoten seine eigenen Status. Es hat einen Tresorraum zur Aufbewahrung.

  2. Reihenfolge der Aktualisierung der "Zustände" Weil "Zustands" -Situationen unveränderlich sind (Objekte, deren Zustand nach der Erstellung nicht geändert werden kann) Es kann nicht direkt aktualisiert werden. Erstellen Sie stattdessen eine neue Version von Status, die die neuen Status darstellt. Markieren Sie vorhandene Zustände als Geschichte. Die Geschichte der Zustände wird im Tresor jedes Knotens gesammelt.

Umsetzung von Staaten

Code CorDapp gemäß dem offiziellen Dokument "5.2.2 Schritt zwei: Erstellen von Zuständen". Die Programmiersprache ist übrigens Kotlin.

CarState.kt


package com.template.states
import com.template.contracts.CarContract
import com.template.contracts.TemplateContract
import net.corda.core.contracts.BelongsToContract
import net.corda.core.contracts.ContractState
import net.corda.core.contracts.UniqueIdentifier
import net.corda.core.identity.AbstractParty
import net.corda.core.identity.Party
// *********
// * State *
// *********
@BelongsToContract(CarContract::class)
data class CarState( ※1
val owningBank: Party, ※2
val holdingDealer: Party,
val manufacturer: Party,
val vin: String,
val licensePlateNumber: String,
val make: String,
val model: String,
val dealershipLocation: String,
val linearId: UniqueIdentifier ※3
) : ContractState { ※1
override val participants: List<AbstractParty> = listOf(owningBank, holdingDealer, manufacturer) ※4
}

Unten ist ein Hinweis von "*" in der Quelle.

Am Ende

Das nächste Mal habe ich vor, wieder Verträge zu erstellen.

Recommended Posts

Versuchen Sie, Ihre eigene CorDapp zu erstellen. (Bis zur Schaffung von Staaten)
Versuchen Sie, k-NN selbst zu implementieren
Bis Sie Ihren eigenen Dolmetscher selbst hosten
Bis Sie Ihre eigene Python-Bibliothek installieren
Versuchen Sie, Ihr eigenes AWS-SDK mit bash zu erstellen
Linux C / C ++ Erstellen Sie Ihre eigene Bibliothekserstellungsumgebung
Versuchen Sie, Ihr eigenes Intro-Quiz mit Python zu verbessern
Versuchen Sie, die LED in Ihren eigenen PC einzubauen (leicht)