GNodeGt

Python class corresponding to the GridWorks type g.node.gt.002 (VersionedTypeName).

class gridworks.types.GNodeGt(*, GNodeId, Alias, Status, Role, GNodeRegistryAddr, PrevAlias=None, GpsPointId=None, OwnershipDeedId=None, OwnershipDeedValidatorAddr=None, OwnerAddr=None, DaemonAddr=None, TradingRightsId=None, ScadaAlgoAddr=None, ScadaCertId=None, ComponentId=None, DisplayName=None, TypeName='g.node.gt', Version='002')

Used to send and receive updates about GNodes.

GNodes are the building blocks of Gridworks. They have slowly-changing state that must be kept in sync across a distributed system. Therefore, they require a global registry to act as Single Source of Truth (SSoT). This class is used for that SSoT to share information with actors about their GNodes, and the GNodes that they will observe and communicate with. [More info](https://gridworks.readthedocs.io/en/latest/g-node.html).

Parameters:
  • GNodeId (str) –

  • Alias (str) –

  • Status (GNodeStatus) –

  • Role (GNodeRole) –

  • GNodeRegistryAddr (str) –

  • PrevAlias (str | None) –

  • GpsPointId (str | None) –

  • OwnershipDeedId (int | None) –

  • OwnershipDeedValidatorAddr (str | None) –

  • OwnerAddr (str | None) –

  • DaemonAddr (str | None) –

  • TradingRightsId (int | None) –

  • ScadaAlgoAddr (str | None) –

  • ScadaCertId (int | None) –

  • ComponentId (str | None) –

  • DisplayName (str | None) –

  • TypeName (Literal['g.node.gt']) –

  • Version (str) –

GNodeId:
  • Description: Immutable identifier for GNode

  • Format: UuidCanonicalTextual

Alias:
  • Description: Structured mutable identifier for GNode. The GNode Aliases are used for organizing how actors in Gridworks communicate. Together, they also encode the known topology of the electric grid.

  • Format: LeftRightDot

Status:
  • Description: Lifecycle indicator

Role:
  • Description: Role within Gridworks

GNodeRegistryAddr:
  • Description: Algorand address for GNodeRegistry. For actors in a Gridworks world, the GNodeRegistry is the Single Source of Truth for existence and updates to GNodes.

  • Format: AlgoAddressStringFormat

PrevAlias:
  • Description: Previous GNodeAlias. As the topology of the grid updates, GNodeAliases will change to reflect that. This may happen a handful of times over the life of a GNode.

  • Format: LeftRightDot

GpsPointId:
  • Description: Lat/lon of GNode. Some GNodes, in particular those acting as avatars for physical devices that are part of or are attached to the electric grid, have physical locations. These locations are used to help validate the grid topology.

  • Format: UuidCanonicalTextual

OwnershipDeedId:
  • Description: Algorand Id of ASA Deed. The Id of the TaDeed Algorand Standard Asset if the GNode is a TerminalAsset.

OwnershipDeedValidatorAddr:
  • Description: Algorand address of Validator. Deeds are issued by the GNodeFactory, in partnership with third party Validators.

  • Format: AlgoAddressStringFormat

OwnerAddr:
  • Description: Algorand address of the deed owner

  • Format: AlgoAddressStringFormat

DaemonAddr:
  • Description: Algorand address of the daemon app. Some GNodes have Daemon applications associated to them to handle blockchain operations.

  • Format: AlgoAddressStringFormat

TradingRightsId:
  • Description: Algorand Id of ASA TradingRights. The Id of the TradingRights Algorand Standard Asset.

ScadaAlgoAddr:
  • Description:

  • Format: AlgoAddressStringFormat

ScadaCertId:
  • Description:

ComponentId:
  • Description: Unique identifier for GNode’s Component. Used if a GNode is an avatar for a physical device. The serial number of a device is different from its make/model. The ComponentId captures the specific instance of the device.

  • Format: UuidCanonicalTextual

DisplayName:
  • Description: Display Name

class gridworks.types.g_node_gt.check_is_uuid_canonical_textual(v)

UuidCanonicalTextual format: A string of hex words separated by hyphens of length 8-4-4-4-12.

Raises:

ValueError – if not UuidCanonicalTextual format

Parameters:

v (str) –

class gridworks.types.g_node_gt.check_is_left_right_dot(v)

LeftRightDot format: Lowercase alphanumeric words separated by periods, most significant word (on the left) starting with an alphabet character.

Raises:

ValueError – if not LeftRightDot format

Parameters:

v (str) –

class gridworks.types.g_node_gt.check_is_algo_address_string_format(v)

AlgoAddressStringFormat format: The public key of a private/public Ed25519 key pair, transformed into an Algorand address, by adding a 4-byte checksum to the end of the public key and then encoding in base32.

Raises:

ValueError – if not AlgoAddressStringFormat format

Parameters:

v (str) –

class gridworks.types.GNodeGt_Maker(g_node_id, alias, status, role, g_node_registry_addr, prev_alias, gps_point_id, ownership_deed_id, ownership_deed_validator_addr, owner_addr, daemon_addr, trading_rights_id, scada_algo_addr, scada_cert_id, component_id, display_name)
Parameters:
  • g_node_id (str) –

  • alias (str) –

  • status (GNodeStatus) –

  • role (GNodeRole) –

  • g_node_registry_addr (str) –

  • prev_alias (str | None) –

  • gps_point_id (str | None) –

  • ownership_deed_id (int | None) –

  • ownership_deed_validator_addr (str | None) –

  • owner_addr (str | None) –

  • daemon_addr (str | None) –

  • trading_rights_id (int | None) –

  • scada_algo_addr (str | None) –

  • scada_cert_id (int | None) –

  • component_id (str | None) –

  • display_name (str | None) –

classmethod tuple_to_type(tuple)

Given a Python class object, returns the serialized JSON type object

Parameters:

tuple (GNodeGt) –

Return type:

str

classmethod type_to_tuple(t)

Given a serialized JSON type object, returns the Python class object

Parameters:

t (str) –

Return type:

GNodeGt