-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathblockchain_uml.txt
83 lines (71 loc) · 2.33 KB
/
blockchain_uml.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
@startuml
left to right direction
package rest-api-go/web {
annotation asset-transfer-basic/rest-api-go/web {
+Serve(setups OrgSetup, port string)
+Initialize(setup OrgSetup): *OrgSetup, error
+newGrpcConnection(): *grpc.ClientConn
+newIdentity(): *identity.X509Identity
+newSign(): identity.Sign
-loadCertificate(filename string): *Certificate, error
}
class OrgSetup {
+OrgName: string
+MSPID: string
+CryptoPath: string
+CertPath: string
+KeyPath: string
+TLSCertPath: string
+PeerEndpoint: string
+GatewayPeer: string
+Gateway: Gateway
}
"asset-transfer-basic/rest-api-go/web" ..> OrgSetup : uses >
}
top to bottom direction
package "asset-transfer-basic/chaincode-go/chaincode" {
class LocalModelSmartContract {
+Contract
+CreateLocalModel(ctx, args): error
+ReadLocalModel(ctx, args): *LocalModel, error
+QueryLocalModelsByRound(ctx, args): []*LocalModel, error
+LocalModelExists(ctx, args): bool, error
}
class LocalModel {
+Type: string
+LocalModelHash: string
+NumExamples: uint64
+RootGlobalModelHash: string
+RunID: string
+RoundID: uint64
}
' Dependency - LocalModelSmartContract creates/manages LocalModels
LocalModelSmartContract ..up> LocalModel : manages >
}
package "asset-transfer-private-data/chaincode-go/chaincode" {
class GlobalModelSmartContract {
+Contract
+ReadGlobalModel(ctx, globalModelHash): *GlobalModelAsset, error
+CreateGlobalModel(ctx, args): error
+VerifyLocalModels(ctx, args): error
+GlobalModelExists(ctx, globalModelHash): bool, error
}
class GlobalModelAsset {
+Type: string
+GlobalModelHash: string
+PreviousGlobalModelHash: string
+LocalModelHashes: []string
+ZkpHash: string
+RunID: string
+RoundID: uint64
}
class GlobalModelPrivateDetails {
+GlobalModelHash: string
+AggregatedWeights: []byte
}
' Dependency relationships
GlobalModelSmartContract ..> GlobalModelAsset : manages >
GlobalModelSmartContract ..> GlobalModelPrivateDetails : manages >
GlobalModelSmartContract ..up> LocalModelSmartContract : invokes >
}
@enduml