fabric-samples/off_chain_data/application-go/getAllAssets.go
Stanislav Jakuschevskij f6858cc7e1
Add second batch of pull request rework
- switch to ClientConnInterface
- use command type alias for map of commands
- add error return to command functions and handle in app.go
- inline formatJSON function in getAllAssets.go
- replace most panics with error returns
- remove error wrapping in listen.go and further down the line
- use strconv.ParseUint instead of ParseFloat
- use WithCancelCause in transact.go to grab and propagate error from
  go routine
- unmarshal and return []Asset in atb.GetAllAssets
- switch to rand package
- remove dependency to protobuf reflect package
- switch to sync.OnceValues for caching parser
- fixed typo in events sample connect.go

Signed-off-by: Stanislav Jakuschevskij <stas@two-giants.com>
2025-02-24 13:14:48 +01:00

35 lines
738 B
Go

package main
import (
"encoding/json"
"fmt"
atb "offchaindata/contract"
"github.com/hyperledger/fabric-gateway/pkg/client"
"google.golang.org/grpc"
)
func getAllAssets(clientConnection grpc.ClientConnInterface) error {
id, options := newConnectOptions(clientConnection)
gateway, err := client.Connect(id, options...)
if err != nil {
return err
}
defer gateway.Close()
contract := gateway.GetNetwork(channelName).GetContract(chaincodeName)
smartContract := atb.NewAssetTransferBasic(contract)
assets, err := smartContract.GetAllAssets()
if err != nil {
return err
}
assetsJSONformatted, err := json.MarshalIndent(assets, "", " ")
if err != nil {
return err
}
fmt.Println(assetsJSONformatted)
return nil
}