Skip to content

Commit 4e6c18e

Browse files
committed
refactor: use functional options pattern to apply skvs option
Signed-off-by: chenchanglew <lewchenchang@gmail.com>
1 parent dca2e20 commit 4e6c18e

File tree

4 files changed

+14
-39
lines changed

4 files changed

+14
-39
lines changed

ecc_go/chaincode/enclave_go/skvs_stub_interface.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,22 +62,18 @@ func (s *SkvsStubInterface) InitSKVS() error {
6262
}
6363
}
6464

65-
logger.Warningf("SKVS Init finish, allDataOld: %s, allDataNew: %s", s.allDataOld, s.allDataNew)
6665
return nil
6766
}
6867

6968
func (s *SkvsStubInterface) GetState(key string) ([]byte, error) {
70-
logger.Warningf("Calling Get State (Start), key: %s, alldataOld: %s", key, s.allDataOld)
7169
value, found := s.allDataOld[key]
7270
if !found {
7371
return nil, errors.New("skvs allDataOld key not found")
7472
}
75-
logger.Warningf("Calling Get State (End), key: %s, value: %x", key, value)
7673
return value, nil
7774
}
7875

7976
func (s *SkvsStubInterface) PutState(key string, value []byte) error {
80-
logger.Warningf("Calling Put State (Start), key: %s, value: %x, alldata: %s", key, value, s.allDataNew)
8177

8278
s.allDataNew[key] = value
8379
byteAllData, err := json.Marshal(s.allDataNew)
@@ -88,7 +84,6 @@ func (s *SkvsStubInterface) PutState(key string, value []byte) error {
8884
if err != nil {
8985
return err
9086
}
91-
logger.Warningf("Calling Put State (End), put encValue: %x", encValue)
9287

9388
return s.PutPublicState(s.key, encValue)
9489
}

ecc_go/chaincode/private.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,24 @@ import (
1414
"github.com/hyperledger/fabric-private-chaincode/internal/endorsement"
1515
)
1616

17+
type BuildOption func(*chaincode.EnclaveChaincode, shim.Chaincode)
18+
1719
// NewPrivateChaincode creates a new chaincode! This is for go support only!!!
18-
func NewPrivateChaincode(cc shim.Chaincode) *chaincode.EnclaveChaincode {
20+
func NewPrivateChaincode(cc shim.Chaincode, options ...BuildOption) *chaincode.EnclaveChaincode {
1921
ecc := &chaincode.EnclaveChaincode{
20-
Enclave: enclave_go.NewEnclaveStub(cc),
22+
Enclave: enclave_go.NewSkvsStub(cc),
2123
Validator: endorsement.NewValidator(),
2224
Extractor: &chaincode.ExtractorImpl{},
2325
Ercc: &ercc.StubImpl{},
2426
}
25-
27+
for _, o := range options {
28+
o(ecc, cc)
29+
}
2630
return ecc
2731
}
32+
33+
func WithSKVS() BuildOption {
34+
return func(ecc *chaincode.EnclaveChaincode, cc shim.Chaincode) {
35+
ecc.Enclave = enclave_go.NewSkvsStub(cc)
36+
}
37+
}

ecc_go/chaincode/singleKVS.go

Lines changed: 0 additions & 29 deletions
This file was deleted.

samples/chaincode/secret-keeper-go/cmd/skvs/main.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ func main() {
2323

2424
// create chaincode
2525
secretChaincode, _ := contractapi.NewChaincode(&chaincode.SecretKeeper{})
26-
// chaincode := fpc.NewPrivateChaincode(secretChaincode)
27-
skvsChaincode := fpc.NewSkvsChaincode(secretChaincode)
26+
skvsChaincode := fpc.NewPrivateChaincode(secretChaincode, fpc.WithSKVS())
2827

2928
// start chaincode as a service
3029
server := &shim.ChaincodeServer{

0 commit comments

Comments
 (0)