Gibt es eine deterministische Möglichkeit, Zeitstempel in der Transaktionsfunktion zu erhalten, ähnlich stub.GetTxTimestamp(), die in der Go-Version von Fabric's Chaincode verwendet werden kann.Zeitstempel auf deterministische Weise in Hyperledger Composer-Transaktionen abrufen
2
A
Antwort
1
Nur um ein Beispiel zu teilen, die mit basic-sample-network
Netzwerk funktioniert:
asset SampleAsset identified by assetId {
o String assetId
--> SampleParticipant owner
o String value
o DateTime timestamp
}
In der Skriptdatei:
In der Modelldatei (lib/org.acme.sample.cto
) I erweitert SampleAsset
Definition jede genannte neue Eigenschaft timestamp
vom Typ DateTime
hinzugefügt (lib/logic.js
), die onSampleTransaction
-Funktion, um SampleAsset timestamp
mit dem Zeitstempel der aktuellen Transaktion zu aktualisieren:
function onSampleTransaction(sampleTransaction) {
sampleTransaction.asset.value = sampleTransaction.newValue;
sampleTransaction.asset.timestamp = sampleTransaction.timestamp;
return getAssetRegistry('org.acme.sample.SampleAsset')
.then(function (assetRegistry) {
return assetRegistry.update(sampleTransaction.asset);
});
}
1
Alle Transaktionen haben eine Systemeigenschaft namens timestamp
, so dass Sie myTransaction.timestamp
verwenden können.
0
wir nicht die proto des Anbieters Ordner ...
Verwandte Themen
- 1. Deterministische Ausführungszeit auf x86-64
- 2. beste Art und Weise individueller Zeitstempel
- 3. Abrufen created_at Zeitstempel von pgsql
- 4. Hosting hyperledger VM auf ubuntu
- 5. Aktuellen Zeitstempel in AppEngine/Go abrufen
- 6. UTC-UNIX-Zeitstempel in Lua abrufen
- 7. Posterior Predictive Check auf Deterministische Variable PyMC3
- 8. Deterministische topologische Reihenfolge in Scala-Diagramm
- 9. Composite Key-Funktionen in Hyperledger
- 10. Hyperledger Stoff V1.0
- 11. Hyperledger Konsens
- 12. Hyperledger - Datenbankindex
- 13. Zeitstempel Linie auf einen Excel-lesbaren Zeitstempel
- 14. Hyperledger-Datenspeicher
- 15. Letzte Zeitstempel einer Datei mit ADB abrufen
- 16. eine nicht deterministische Turingmaschine
- 17. Wie konnte ich eindeutige IDs in Hyperledger erhalten
- 18. Zeitstempel für Fotos mit Drive API abrufen
- 19. Wie kann ich einen .jar-Zeitstempel abrufen?
- 20. Unix-Zeitstempel abrufen Azure App Insights
- 21. angularfire Abrufen von Daten Zeitstempel zu Timestamp
- 22. Wert des Daten-Zeitstempel-Attributs abrufen
- 23. Timeout-Fehler in Hyperledger Composer
- 24. So erstellen Sie deterministische Guides
- 25. C# + COM Interop, deterministische Freigabe
- 26. Nicht-deterministische Objektreferenzfehler in PHP 5.3.X
- 27. kann nicht Hyperledger Java chaincode über Github
- 28. Deterministische Entsorgung von ThreadStatic-Objekten
- 29. Deterministische AES-CTR in Java BouncyCastle?
- 30. Zeitstempel auf Sofort in Java
Vielen Dank für die Antwort, Dan verwenden können! Hier ist das Beispiel, das für basic-sample-network funktioniert (vorausgesetzt, Asset "SampleAsset" hat die Eigenschaft "timestamp", die wir mit der folgenden Transaktion "SampleTransaction" aktualisieren wollen): 'function onSampleTransaction (sampleTransaction) { sampleTransaction. asset.value = sampleTransaction.newValue; \t sampleTransaction.asset.timestamp = sampleTransaction.timestamp; Rückgabe getAssetRegistry ('org.acme.sample.SampleAsset') . Dann (Funktion (AssetRegistry) { Rückgabe AssetRegistry.update (sampleTransaction.asset); }); } ' –
https://github.com/hyperledger-archives/fabric/issues/1832 wir können das Proto aus dem Lieferantenordner nicht verwenden ... –