Contract Registry Microservice
Goal
Contract-Registry is responsible for
- Storing smart-contracts’ related information;
- Versioning these smart-contracts.
Thus facilitating smart-contracts deployment, decoding of events of transactions associated to these smart-contracts; and to read smart-contract’s states on chain.
Quick-Start
The application can be configured through flags or environment variables, we can run the help run
command line.
go run . help run
Configure Run
Usage:
orchestrate contract-registry run [flags]
Flags:
--abi strings Smart Contract ABIs to register for crafting (expected format <contract>:<abi>:<bytecode>:<deployedBytecode>)
Environment variable: "ABI"
--contract-registry-type string Type of Contract Registry (one of ["postgres" "in-memory"])
Environment variable: "CONTRACT_REGISTRY_TYPE" (default "postgres")
--db-database string Target Database name
Environment variable: "DB_DATABASE" (default "postgres")
--db-host string Database host
Environment variable: "DB_HOST" (default "127.0.0.1")
--db-password string Database User password
Environment variable: "DB_PASSWORD" (default "postgres")
--db-poolsize int Maximum number of connections on database
Environment variable: "DB_POOLSIZE"
--db-port int Database port
Environment variable: "DB_PORT" (default 5432)
--db-user string Database User.
Environment variable: "DB_USER" (default "postgres")
--grpc-hostname string Hostname to expose GRPC services
Environment variable: "GRPC_HOSTNAME"
--grpc-port uint Port to expose GRPC services
Environment variable: "GRPC_PORT" (default 8080)
-h, --help help for run
--rest-hostname string Hostname to expose REST services
Environment variable: "REST_HOSTNAME"
--rest-port uint Port to expose REST services
Environment variable: "REST_PORT" (default 8081)
Configure Migrate
```text Usage: orchestrate contract-registry migrate [flags] orchestrate contract-registry migrate [command]
Available Commands: down Reverts last migration init Initialize database reset Reverts all migrations set-version Set database version up Upgrade database version Print current database version
Flags: –db-database string Target Database name Environment variable: “DB_DATABASE” (default “postgres”) –db-host string Database host Environment variable: “DB_HOST” (default “127.0.0.1”) –db-password string Database User password Environment variable: “DB_PASSWORD” (default “postgres”) –db-poolsize int Maximum number of connections on database Environment variable: “DB_POOLSIZE” –db-port int Database port Environment variable: “DB_PORT” (default 5432) –db-user string Database User. Environment variable: “DB_USER” (default “postgres”) -h, –help help for migrate
Warning
- Default values can be changed by using environment variables.
- Environment variables will be overwritten by Flags values.
Tip
Find more information about the Contract-Registry on the References section of this doc.