In the second alpha release of Hedera Services v0.13.0, we have redesigned scheduled transactions. The new design gives collaborating nodes a well-defined workflow if they happen to schedule identical transactions, even if they are using different gRPC client libraries (for example, Go and JavaScript). The new design also reduces the number of signatures required to submit a valid ScheduleSign
transaction in many common use cases.
The final release of v0.13.0 will include a notable deprecation in the protobuf that defines the contents of system files 0.0.101
and 0.0.102
(known as the "address book" and "node details" files, respectively). Instead of the ipAddress
, portno
, memo
fields, we will supply a more complete set of node metadata via a new (repeatable) ServiceEndpoint
message. Please track issue #750 for details. The deprecated fields will be maintained to allow old address books to be parsed.
In a minor point, Services now rejects any protobuf string
field whose UTF-8 encoding includes the zero-byte character; that is, Unicode code point 0, NUL
. Databases (for example, PostgreSQL) commonly reserve this character as a delimiter in their internal formats, so allowing it to occur in entity fields can make life harder for Mirror Node operators.
To simplify tasks for network admins, we have also streamlined the signing requirements for updates to system accounts, and introduced a Docker-based utility called "yahcli" for admin actions such as updating system files.
Enhancements
- Redesign scheduled transactions #1177
- When updating a system account's key, if the account's signature is waived, also waive signing with new key #1148
- Basic implementation of yahcli, e.g. #1176
Protobuf deprecations
- Three
NodeAddress
fields, to be replaced by a richerServiceEndpoint
message #750
Bug fixes
- Re-institute policy of exporting account balances every 15 minutes since the epoch #1142
Contributors
We'd like to thank all the contributors who worked on this release!