2017-04-27 84 views

回答

1

公正地分享與basic-sample-network網絡工作的例子:

在模型文件(lib/org.acme.sample.cto)我延長SampleAsset定義的任何添加稱爲DateTime類型的timestamp新的屬性:

asset SampleAsset identified by assetId { 
    o String assetId 
    --> SampleParticipant owner 
    o String value 
    o DateTime timestamp 
} 

在腳本文件(lib/logic.js),onSampleTransaction函數用當前事務的時間戳更新SampleAsset的timestamp

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

所有交易都有一個名爲timestamp的系統屬性,因此您可以使用myTransaction.timestamp

+0

非常感謝響應,丹!以下是適用於基本樣本網絡的示例(假設資產「SampleAsset」具有名爲「timestamp」的屬性,我們要使用以下事務「SampleTransaction」更新):function onSampleTransaction(sampleTransaction){sample}。 asset.value = sampleTransaction.newValue; \t sampleTransaction.asset.timestamp = sampleTransaction.timestamp; (函數(assetRegistry){ return assetRegistry.update(sampleTransaction.asset); });返回getAssetRegistry('org.acme.sample.SampleAsset') 。 }' –

+0

https://github.com/hyperledger-archives/fabric/issues/1832我們不能使用供應商文件夾中的proto ... –