2017-08-10 2 views
0

I Erstellen Sie ein Asset namens Datensatz mit den Datensatzdaten als String. Während der Transaktion, wollen wir den Datensatz Daten in Spielplatz während Transaktionsfenster sehen und den Wert ändern. Ich kann ein Beispiel sehen, wo sie den Wert von oldvalue zu neuen Wert ändern.Erhalten Sie alten Wert im Transaktionstestfenster

Aber meine Bedingung Ich möchte die Daten zuerst während der Submit-Transaktion im Spielplatz Test sehen und ändern. Könnten Sie bitte vorschlagen Auch dieselbe Frage, wenn ich den Zustand erhalten möchte, der über enum definiert wird. Bitte legen nahe,

asset Record identified by recordId { 
    o String recordId 
    o String data 
} 

transaction UpdateRecord{ 
--> Record asset 
    o String newData 

} 

/** 
* Update Record 
* @param {org.acme.model.UpdateRecord} updateRecord - the updateRecord transaction 
* @transaction 
*/ 
function UpdateRecord(record) { 
    record.asset.data = record.newData; 
    return getAssetRegistry('org.acme.model.Record') 
     .then(function (assetRegistry) { 
      return assetRegistry.update(record.asset); 
     }); 
} 

Antwort

0

Der Weltstaat DB zu einem beliebigen Zeitpunkt ist, ein up-to-date Blick auf den aktuellen Zustand des Buch - eine Momentaufnahme, wenn Sie mögen. Es wird aktualisiert, sobald die Transaktion genehmigt und dann festgeschrieben wurde (es wird nicht unmittelbar nach dem Aktualisierungsaufruf in Ihrem Transaktionsprozessor in diesem Zustand sein. Wenn Sie also einen Wert (in Ihrem Funktionscode, danach) von dem Weltstatus abrufen, wird dies geschehen immer noch den "alten" Zustand - natürlich. Alle Ausnahmen, die von einer Transaktionsprozessorfunktion ausgelöst werden, führen dazu, dass die gesamte Transaktion rückgängig gemacht wird und keine Änderungen an der Blockchain oder dem Weltstatus verbleiben.

Wenn Sie also eine Transaktion ausführen (add record) durch playground, sollten Sie die Transaktions-ID zurück für die create.zB, fügen Sie Asset. Dann, wenn Sie das Asset mit einer Transaktion (durch Spielplatz, über APIs, durch REST), um Ihren txn-Prozessor, dann einmal zu aktualisieren Wenn Sie fertig sind, erhalten Sie eine andere Transaktions-ID - und die Funktion aktualisiert das ursprüngliche Asset entsprechend Ihrem Code. record data '- ein Vermögenswert in Ihrer Definition, verwenden Sie einfach' Test 'Tab, nachdem Sie zuerst mit Ihrem BN in Spielplatz verbunden und Sie können sehen, die' Historian Record '(die zum Zeitpunkt der Erstellung der Notiz immer noch entwickelt wird) zu sehen Geschichte der Transaktionen, die Sie ausgeführt haben. Um das Detail dieser Transaktion zur Zeit einzusehen, verwenden Sie REST APIS (erstellt für Ihr Unternehmensnetzwerk mit Composer-Rest-Server) oder Systemtransaktions-ID über REST, um die einzelne Transaktion zu sehen, wie in RC

erwähnt
Verwandte Themen