github hiero-ledger/hiero-mirror-node v0.153.0

10 hours ago

HIP-1313 High-Volume Entity Creation is now fully delivered with this release. The high_volume_pricing_multiplier field was added to the /api/v1/transactions, /api/v1/transactions/{id}, and /api/v1/accounts/{id} REST APIs. This field shows the multiplier that was applied to the transaction fees if the high volume flag was set in the transaction body. Additionally, a new high_volume_throttle query parameter is added to the fee estimate API to estimate the effects of having a high volume multiplier applied. This parameter is measured in basis points and can be in the range 0 to 10000 where 10000 is equivalent to 100.00%. A high_volume_multiplier was added to the fee estimate response and all other fees in the response are adjusted accordingly.

A large focus of this release was geared towards block node related work. HIP-1193 support was reworked to support the new intermediate cut-over approach of streaming wrapped record blocks (WRBs) from block nodes while falling back to the existing bucket in case of an error. Speaking of WRBs, HIP-1427 saw further refinement with support for sidecar files, amendments/errata, and signature verification. HIP-1137 saw an associated_registered_nodes field added to /api/v1/network/nodes. Finally, a new /api/v1/network/registered-nodes REST API was added. Below is an example response:

 {
    "registered_nodes": [
      {
        "admin_key": {
          "_type": "ProtobufEncoded",
          "key": "421050820e1485acdd59726088e0e4a2130ebbbb70009f640ad95c78dd5a7b38"
        },
        "created_timestamp": "1586567700.453054001",
        "description": "alpha",
        "registered_node_id": 1,
        "service_endpoints": [
          {
            "block_node": {
              "endpoint_apis": ["STATUS", "PUBLISH", "SUBSCRIBE_STREAM"]
            },
            "domain_name": "block1.alpha.com",
            "general_service": null,
            "ip_address": "192.168.1.79",
            "mirror_node": null,
            "port": 40840,
            "requires_tls": true,
            "rpc_relay": null,
            "type": "BLOCK_NODE"
          }
        ],
        "timestamp": {
          "from": "1586567700.453054001",
          "to": null
        }
      }
    ],
    "links": {
      "next": "/api/v1/network/registered-nodes?limit=1&registerednode.id=gt:1"
    }
  }

A new GitHub workflow was added to publish experimental OCI images to our GitHub Container Registry (GHCR). The new docker images are available under the naming format ghcr.io/hiero-ledger/hiero-mirror-node/importer:0.153.0 where importer can be replaced with the different Java module names. Note that not all modules are available in GHCR yet and the ones that are have not been validated for production use. These images are compiled to native code using GraalVM. They include a Software Bill of Materials (SBOM) inside the image that provides a list of software components to help aid in supply chain risk management. The images are deterministic aiding in caching, reproducibility, and auditability. Finally, the new images are also signed using cosign so users can verify the provenance of the artifacts.

Application startup performance was another focus area. The startup time of all modules was reduced from 59 seconds to 15 seconds by optimizing the database ready check and other improvements. Memory consumption of the REST API was reduced by removing log4js in favor of a simple, custom logger. The @hiero-ledger/proto dependency was replaced with @bufbuild/protobuf, further reducing memory.

Enhancements

  • Show block nodes in registered nodes API response (0.153) #13369
  • HIP-1137 Add associated_registered_nodes to /api/v1/network/nodes (0.153) #13367
  • HIP-1427 Support amendments in RecordFileItem #13340
  • chore: [StepSecurity] Apply security best practices #13334
  • Update copy script to use static snapshot by default #13332
  • HIP-1193 Support two-stage cutover #13331
  • Bumped up hedera app version and added support for list of block node endpoint_api #13330
  • Add a workflow to push GHCR native images #13329
  • HIP-1313 add high_volume_pricing_multiplier to REST #13306
  • HIP-1137 Add registered-nodes REST API #13305
  • Add migration scripts for removing duplicated synthetic logs #13303
  • HIP-1427 Support Wrapped Record Block RSA signature verification #13302
  • HIP-1341 Add integration tests for BLS precompiles #13296
  • Bump minimum HAPI version for hooks to 0.73.0 #13295
  • HIP-1427 Support sidecar file in RecordFileItem #13294
  • Remove log4js #13280
  • Harden application start #13273
  • Replace @hiero-ledger/proto with @bufbuild/protobuf #13272
  • HIP-1313 high volume multiplier to fee estimate #13243

Bug Fixes

  • fix(rest-java): pass shard/realm to AppEntityIdFactory in FeeEstimationService (0.153) #13374
  • Fix volume snapshot script #13308
  • Bump hedera-app to v0.73.0-rc.1 and disable simple fees #13304
  • Fix creation of duplicate synthetic events #13248

Dependency Upgrades

  • Bump protobufjs from 7.5.4 to 7.5.5 in /rest (0.153) #13371
  • Bump protobufjs from 7.5.4 to 7.5.5 in /tools/log-downloader (0.153) #13370
  • Bump github.com/jackc/pgx/v5 from 5.6.0 to 5.9.0 in /rosetta #13356
  • Fix dependency check #13355
  • Bump bcprov-jdk18on from 1.83 to 1.84 #13344
  • Bump tomcat from 11.0.20 to 11.0.21 #13328
  • Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.77.0 to 2.77.1 in /pinger in the dependencies group #13325
  • Bump golang.org/x/text from 0.35.0 to 0.36.0 in /tools/bootstrap in the dependencies group #13324
  • Bump parse-duration from 2.1.5 to 2.1.6 in /tools/log-downloader in the dependencies group #13323
  • Bump the dependencies group in /rest with 11 updates #13322
  • Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.77.0 to 2.77.1 in /rosetta in the dependencies group #13321
  • Bump parse-duration from 2.1.5 to 2.1.6 in /rest/monitoring in the dependencies group #13320
  • Bump the dependencies group with 6 updates #13319
  • Bump software.amazon.awssdk:bom from 2.42.28 to 2.42.33 #13318
  • Bump org.gaul:s3proxy from 3.0.0 to 3.1.0 #13317
  • Bump consensusNodeVersion from 0.72.0 to 0.72.1 #13316
  • Bump org.cyclonedx:cyclonedx-gradle-plugin from 3.2.3 to 3.2.4 #13314
  • Bump org.owasp:dependency-check-gradle from 12.2.0 to 12.2.1 #13313
  • Bump Jackson to 2.21.2 and 3.1.1 #13289
  • Bump github.com/hiero-ledger/hiero-sdk-go/v2 from 2.76.0 to 2.77.0 in /pinger in the dependencies group #13286
  • Bump the dependencies group in /rosetta with 2 updates #13285
  • Bump gradle/actions from 6.0.1 to 6.1.0 in the dependencies group #13284
  • Bump software.amazon.awssdk:bom from 2.42.25 to 2.42.28 #13283
  • Bump org.cyclonedx:cyclonedx-gradle-plugin from 3.2.2 to 3.2.3 #13282
  • Bump com.hedera.cryptography:hedera-cryptography-wraps from 3.7.10 to 3.7.11 #13281
  • Bump versions for v0.153.0-SNAPSHOT #13276
  • Bump com.hedera.hashgraph:sdk from 2.68.0 to 2.69.0 #13255

Deployments

  • Prepare staging for 0.153 #13358
  • Prepare performance for 0.153 #13357

Contributors

Thank you to all the contributors who worked on this release:

@ashumahajan
@bilyana-gospodinova
@IvanKavaldzhiev
@jnels124
@martingeorgiev1
@sdimitrov9
@steven-sheehy
@xin-hedera

Don't miss a new hiero-mirror-node release

NewReleases is sending notifications on new releases.