fabric-samples/off_chain_data/application-go/app.go
Stanislav Jakuschevskij fd1a1fc38b
Add first batch of pull request rework
- update Application section in README
- remove param name in app.go
- add error checks in processor/block.go
- move vars from model to transact logic
- move newAsset to transact
- use ID for well-known initialisms
- move randomelement, randomnint and differentelement to transact
- remove AssertDefined
- blockTxIdsJoinedByComma: use standard library to join elements
- return nil, instead of []byte{}
- remove go routine in listen.go
- move cache to parser
- inline processor in listen.go
- move store to main package
- move util to main package
- fixed failing cache issue
- fixed staticcheck issues
- removed cache function, implemented caching in the structs and methods

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

62 lines
1.1 KiB
Go

/*
* Copyright 2024 IBM All Rights Reserved.
*
* SPDX-License-Identifier: Apache-2.0
*/
package main
import (
"errors"
"fmt"
"os"
"strings"
"google.golang.org/grpc"
)
var allCommands = map[string]func(*grpc.ClientConn){
"getAllAssets": getAllAssets,
"transact": transact,
"listen": listen,
}
func main() {
commands := os.Args[1:]
if len(commands) == 0 {
printUsage()
panic(errors.New("missing command"))
}
for _, name := range commands {
if _, exists := allCommands[name]; !exists {
printUsage()
panic(fmt.Errorf("unknown command: %s", name))
}
fmt.Println("command:", name)
}
client := newGrpcConnection()
defer client.Close()
for _, name := range commands {
command := allCommands[name]
command(client)
}
}
func printUsage() {
fmt.Println("Arguments: <command1> [<command2> ...]")
fmt.Println("Available commands:", availableCommands())
}
func availableCommands() string {
result := make([]string, len(allCommands))
i := 0
for command := range allCommands {
result[i] = command
i++
}
return strings.Join(result, ", ")
}