February 2020 development update: HCS live on mainnet
Feb 13, 2020
by Donald Thibeau
Product Manager at Hedera Hashgraph

Since the announcement of Hedera Consensus Service (HCS) in mid-2019, the Hedera engineering team has been heavily focused on building and deploying this service to get it into the hands of application developers.

HCS entered early access on the Hedera testnet on December 16th, 2019, as we onboarded members from the AdsDax and Acoer (formerly Certara) team to begin testing. By January 28th, 2020 early access was in full swing and we’d received 56 requests to join and on-boarded over ten members of the Hedera developer community, working alongside them for further testing and product feedback. Collaboration with them prompted bug fixes and clarification of remittances and fees, as well as performance and scalability testing that you can read more about in our HCS announcement blog post.

On February 4th, the HCS mirror node gRPC API for testnet was opened to the public — this allows anyone to utilize HCS in conjunction with a Hedera-managed mirror node, on the testnet, without having to sign up for early access or have their IPs whitelisted. Members of the Hedera mirror node API / explorer community also updated their APIs to support HCS in beta on the testnet — both Kabuto (testnet & mainnet) and DragonGlass (testnet & mainnet) support HCS.

On February 10th, 2020, the mainnet was upgraded to RC4, making HCS (beta) publicly available on both the testnet and mainnet. This release also included an upgrade to mirror node v.0.5.4, updated SDKs and fees to support new HCS API calls.

The release notes for Hedera Services Code RC4 (including Mirror Node v0.5.4) can be found below. You can always view the most recent release notes for RC4 and every version thereafter in the official documentation.

To learn more about Hedera Consensus Service’s availability on mainnet, please check out the product announcement blog posting, found here: http://hedera.com/blog/hedera-consensus-service-live-on-the-mainnet

Hedera Services Code (0.4.0)

  • Say hello to the Hedera Consensus Service! This release is the first to include HCS, allowing verifiable timestamping and ordering of application messages.
  • Network pricing has been updated to include HCS transactions and queries
  • Network throttle for HCS set to 500 tps for submitting messages, and 100 tps for each of the other HCS operations.
  • Improved end to end testing.
  • General code clean up and refactoring.
  • ContractCall - TransactionReceipt response to ContractCall no longer includes the contractID called
  • CryptoUpdate - TransactionReceipt response to CryptoUpdate no longer includes the accountID updated
  • CryptoTransfer – CryptoTransfer transactions resulting in INSUFFICIENT_ACCOUNT_BALANCE error no longer list Transfers in the TransactionRecord transferList that were not applied

Mirror Node (0.5.4)

  • Now supports all HCS functionality including a streaming gRPC API for message topic subscription.
  • Changed how the mirror node verifies mainnet consensus. Mirror node now waits for at least third of node signatures rather than greater than two thirds to verify consensus.
  • Added new mainnet nodes to the mirror node address book.
  • Throttled to 500 submit message tps.
  • Please see the Mirror Node releases page for the full list of changes: https://github.com/hashgraph/hedera-mirror-node/releases
  • We occasionally may encounter a situation where an additional 15-20 second delay in message round trip time is experienced and subscriber connections are dropped. No messages are lost, and the consensus time is not affected. Clients are encouraged to reconnect. This issue will be fixed in a subsequent release of the Hedera mirror node. Some third-party mirror nodes should not be affected by this issue. We also don't expect it to impact the exchanges using the REST end point for the mirror node.

SDKs

  • Java SDK has been updated to support the Hedera Consensus Service
  • JavaScript/Typescript SDK has reached version 1.0.0, supporting all four mainnet services.
  • JavaScript/Typescript SDK supports both running in the browser (with Envoy Proxy) and in Node.
  • Go SDK now supports all four mainnet services.
  • .NET community SDK now supports all four mainnet services

Fees

  • Transfer list within transaction records now shows only a single net amount in or out for each account, reflecting both transfers and any fees paid. Please see https://docs.hedera.com/hedera/networks/mainnet/fees/transaction-records for more information
  • Fixed bug in fee schedule that had resulted in fees for ContractCallLocal, ContractGetBytecode, and getVersion queries being undercharged by ~33%

SDK Extension Components

  • The Hedera SDK Extension Components (SXC) is an open sourced set of pre-built components that aim to provide additional functionality over and above HCS to make it easier and quicker to develop applications, particularly if they require secure communications between participants.
  • Components use the Hedera Java SDK to communicate with the Hedera Consensus Service.
  • Learn more: https://github.com/hashgraph/hedera-hcs-sxc