Mirror node v0.8.0 is here! We're made great strides in making the mirror node easier to run and manage. In particular, we added support for requester pays buckets. This will allow anyone to run a mirror node as long as they are willing to pay for the cost to retrieve the data. Currently only Hedera and a few partners have access to the bucket, so enabling this will open up that data to our community. We are still working on a migration of the buckets to this model, so stay tuned.
We also added two new experimental REST APIs to retrieve HCS data. Firstly, we added /api/v1/topic/message/${consensusTimestamp}
to retrieve a topic message by its consensus timestamp. Secondly, we added /api/v1/topic/${topic}/message/${seqNum}
to retrieve a particular topic message by its sequence number from a topic. These APIs are considered alpha and may changed or be removed in the future. We also dramatically increased test coverage for the REST APIs and squashed some bugs in the process.
For our GRPC API, we had to switch from R2DBC to Hibernate to reach the scale and stability that we needed. In doing so, we can now support a lot more concurrent subscribers at a higher throughput. It should also finally put to rest any stability concerns with the GRPC component.
There are a few breaking changes that we had to make. We now no longer write and store record or balance files to the filesystem after they are inserted into the database. If you still need these files, you can set hedera.mirror.parser.balance.keepFiles
and hedera.mirror.parser.record.keepFiles
to true.
Also, we moved the persist properties to be grouped under a new path. That is we moved options like hedera.mirror.parser.record.persistTransactionBytes
to hedera.mirror.parser.record.persist.transactionBytes
. Please update your local configuration accordingly.
Enhancements
- Bump version for v0.8.0 #634
- Add support for Requester Pays S3 buckets #622
- Bump version for v0.8.0-rc1 #620
- Increase rest api integration coverage to match api offerings 2 #617
- Topic message by timestamp REST API #616
- Support REST API retrieval of topic message by topic id and sequence #615
- Topic message by sequence number REST API #614
- Add /topic/message/:consensusTimestamp API #613
- Increase rest api integration coverage to match api offerings #612
- Update copyright to 2020 #607
- Make monitor API configurable in dashboard #606
- REST Integration tests improvements 2 replacement #603
- Remove GRPC monitor #602
- Rename parsed directory and persist properties #601
- Updated integrationDbOps.js with more detailed setup logic #598
- Configuration to delete parsed files #596
- Update RecordFileParser.loadRecordFile() to match design #587
- Make monitoring endpoint configurable in dashboard #584
- Remove GRPC monitor #583
- Switch from R2DBC to Hibernate #544
- REST API integration tests for all parameters #412
- Don't keep parsed files #259
Bug Fixes
- Fix NPE in Downloader #619
- NullPointerException in Downloader #611
- Added logic to fail if all missing messages were not retrieved during a subscription #610
- Switch from R2DBC to Hibernate #597
- Subscribe topic should return error if no missing messages #589
- Stalled clients for historical data at higher page size #558
Contributors
We'd like to thank all the contributors who worked on this release!