This release implements three Hedera Improvement Proposals (HIPs) and upgrades the mirror node database to the latest version.
HIP-21 describes the need for a free network info query to enable SDKs and other clients to be able to retrieve the current list of nodes. To satisfy this need we added a new NetworkService.getNodes()
streaming gRPC API to get the list of current nodes from the address book network file. By making it a streaming API we avoid the client having to handle paging themselves, while still allowing us to split the large address book into smaller chunks. Since there are two address book files, we provide an option to choose which FileID
to return.
message AddressBookQuery {
.proto.FileID file_id = 1; // The ID of the address book file on the network. Can be either 0.0.101 or 0.0.102.
int32 limit = 2; // The maximum number of node addresses to receive before stopping. If not set or set to zero it will return all node addresses in the database.
}
service NetworkService {
rpc getNodes (AddressBookQuery) returns (stream .proto.NodeAddress);
}
HIP-171 describes the need for returning the payer account in the topic message REST API response. This release does just that while also adding in the topic message chunk information that was present in the gRPC API but missing from the REST API.
{
+ "chunk_info": {
+ "initial_transaction_id": {
+ "account_id": "0.0.1000",
+ "nonce": 0,
+ "scheduled": false,
+ "transaction_valid_start": "1234567890-000000006"
+ },
+ "number": 2,
+ "total": 5
+ },
"consensus_timestamp": "1234567890.000000001",
"topic_id": "0.0.7",
"message": "bWVzc2FnZQ==",
+ "payer_account_id": "0.0.1000",
"running_hash": "cnVubmluZ19oYXNo",
"running_hash_version": 2,
"sequence_number": 1
}
Continuing our support for HIP-32 auto account creation, we added alias support to our accounts REST API. Now when you query /v1/api/accounts/:id
the id
can be either a Hedera entity in the 0.0.x
form or a hex-encoded alias. An account's alias
will now also show up in all of the accounts REST API output.
A lot of testing was done to ensure that PostgreSQL 14 functions correctly with the mirror node and provides as good as or better performance to older versions. We are now in the process of migrating our Hedera managed mirror nodes to PostgreSQL 14. We recommend other mirror node operators consider upgrading to the latest database version at their earliest convenience and have provided upgrade instructions to aid in that process.
Enhancements
- Update topicMessage REST response to use transactionId json format (0.49) #3225
- Add data migration guide to database.md #3175
- Add a get address book nodes gRPC API #3141
- Add initial transaction and payer account id to topic message #3128
- Support custom network in rosetta bdd client #3110
- Support account alias in rest API #3109
- HIP-171 Add topic_message payer_account_id and chunk info #3105
- Bump versions for v0.49.0-SNAPSHOT #3100
- HIP-21 Network info query #3098
- Validate PostgreSQL 14 compatibility #3097
- HIP-171 Add payer account to topic message REST APIs #3050
- Expose alias and add alias filter to /accounts #2964
- Add ConsensusMessageChunkInfo data to the topics REST API response #2178
- Update Docs operations.md to incorporate docker-compose scenario #803
Bug Fixes
- Bump node-fetch to 2.6.7 & fix LoggingFilterTest (0.49) #3220
- Add NetworkService to grpc ingress (0.49) #3188
- Fix 'Null entity ID' error returned by contract result REST api #3140
- Fix transactions REST API regression #3139
- Contract results API Null entity ID error #3138
- Transactions API response is not deterministic with different limit #3137
- Fix OpenAPI bugs related to path parameters #3132
- Fixes after contract API review #3130
Documentation
Dependency Upgrades
- Bump software.amazon.awssdk:bom from 2.17.107 to 2.17.112 #3172
- Bump protobuf-java from 3.19.2 to 3.19.3 #3171
- Bump mathjs from 10.0.2 to 10.1.0 in /hedera-mirror-rest #3170
- Bump aws-sdk from 2.1053.0 to 2.1058.0 in /hedera-mirror-rest #3169
- Bump axios from 0.24.0 to 0.25.0 in /hedera-mirror-rest #3168
- Bump dependency-check-maven from 6.5.1 to 6.5.3 #3166
- Bump
@godaddy
/terminus from 4.9.0 to 4.10.1 in /hedera-mirror-rest #3165 - Bump
@hashgraph
/proto from 2.1.1 to 2.1.2 in /hedera-mirror-rest #3164 - Bump
@hashgraph
/proto from 2.1.1 to 2.1.2 in /hedera-mirror-rest/check-state-proof #3156 - Bump gorm.io/gorm from 1.22.4 to 1.22.5 in /hedera-mirror-rosetta #3154
- Bump github.com/cucumber/godog from 0.12.3 to 0.12.4 in /hedera-mirror-rosetta #3153
- Bump hedera-protobuf-java-api from 0.21.0 to 0.22.0 #3149
- Bump eslint-plugin-jest from 25.3.4 to 25.7.0 in /hedera-mirror-rest #3148
- Bump cucumber.version from 7.2.2 to 7.2.3 #3147
- Bump supertest from 6.1.6 to 6.2.1 in /hedera-mirror-rest #3146
- Bump mathjs from 10.0.2 to 10.1.0 in /hedera-mirror-rest/monitoring/monitor_apis #3144
- Bump qs from 6.10.2 to 6.10.3 in /hedera-mirror-rest #3143
- Bump follow-redirects from 1.14.4 to 1.14.7 #3135
- Bump reporting-plugin from 7.1.1 to 7.2.0 #3126
- Bump protobuf-java from 3.19.1 to 3.19.2 #3125
- Bump software.amazon.awssdk:bom from 2.17.102 to 2.17.107 #3124
- Bump github.com/cucumber/godog from 0.12.2 to 0.12.3 in /hedera-mirror-rosetta #3123
- Bump jest from 27.4.4 to 27.4.7 in /hedera-mirror-rest/check-state-proof #3122
- Bump jest from 27.4.5 to 27.4.7 in /hedera-mirror-rest #3121
- Bump aws-sdk from 2.1048.0 to 2.1053.0 in /hedera-mirror-rest #3119
- Bump testcontainers from 8.1.2 to 8.2.0 in /hedera-mirror-rest #3117
- Bump embedded.testcontainers.version from 2.0.18 to 2.0.19 #3116
- Bump cucumber.version from 7.1.0 to 7.2.2 #3115
- Bump jest from 27.4.5 to 27.4.7 in /hedera-mirror-rest/monitoring/monitor_apis #3114
- Bump jest-circus from 27.4.5 to 27.4.6 in /hedera-mirror-rest #3113
- Bump springdoc-openapi-webflux-ui from 1.6.3 to 1.6.4 #3112
- Bump grpc-java from 1.43.1 to 1.43.2 #3106
Contributors
We'd like to thank all the contributors who worked on this release!