Hedera Engineering Insights | July 2020
Aug 05, 2020
by Brady Gentile
Product Marketing at Hedera Hashgraph

Hedera just wrapped up hosting its very first monthly “Engineering Insights” webinar, presented by Donald Thibeau, Director of Product Management, and attended by members of the Hedera developer community.

The Engineering Insights series is a monthly virtual event where members of the developer community come together to learn and discuss the latest updates at Hedera. Each event features a presentation from Hedera Engineering and Product leadership about the latest features, functionality, developer updates, and direction of the product roadmap.

In addition to an initial presentation at each webinar’s onset, this virtual event is geared towards community members engaging in informal technical discussion. We encourage members of the Hedera community to take this time to ask relevant questions with technical experts on the Hedera team.

The next Hedera Engineering Insights webinar will take place on Thursday, August 27th, 2020. Everyone with a Hedera Portal profile will receive an email with information on how to register, or follow us on Twitter at @hashgraph.

Recap of Hedera Engineering Insights | July 2020

New monthly release cadence for Hedera software updates

One of the benefits of Hedera is that we're able to ship frequent network updates to improve services and performance, while providing the community with new features.

Moving forward, Hedera will be targeting the first Thursday of every month for updates to the Hedera mainnet services codebase. These codebase updates might be smaller (such as performance improvements & bug fixes) or larger (new services & features).

We’ll ensure that individuals and organizations will have at least two weeks to review and test these features and functionalities on the testnet prior to the code’s deployment on the mainnet. This two week window also ensures the ability for members of the developer community to submit issues, bugs, and feedback to the team.

In addition to the network services software being updated on the public testnet and mainnet, we’ll aim for the open source mirror node software to be updated at least one week prior.

You can find the latest network status for previewnet, testnet, mainnet, and mirror nodes on the Hedera status page: https://status.hedera.com/ or follow us on Twitter at @hederastatus. The release notes to the mainnet can be found in the release notes section of Hedera documentation: https://docs.hedera.com/guides/docs/release-notes/services

Public availability of the Hedera previewnet

The Hedera previewnet is now available for developers to access via the Hedera Portal.

The Previewnet enables developers to access the latest and greatest pre-release features and services within the Hedera codebase. It will be available for members of the community to test and provide feedback, ensuring community members are part of the development process. Updates to the previewnet are going to be automated and, because the code will still be in development, there are no expectations on uptime or functionality on the previewnet.

You can starting using it today by selecting “previewnet” from within the Hedera Portal network dropdown menu. From there, you'll have the option to generate your keys and start building. You can find IPs and node addresses of the network in the Hedera documentation: https://docs.hedera.com/guides/testnet

v0.6 update on testnet (coming August 6th, 2020 to mainnet)

In Hedera Services v0.6.0, we’ve enhanced the Hedera Consensus Service by supporting HCS Topic Fragmentation. We added, into the ConsensusSubmitMessageTransactionBody, an optional field for the current chunk information.

For every chunk, the payer account that is part of the initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1.

The full release notes for v0.6.0 can be found in the Hedera documentation: https://docs.hedera.com/guides/docs/release-notes/services#v-0-6-0

Q&A with members of the community

How does fragmentation help developers? Wouldn't that create more latency?

A Hedera consensus service message is limited in size, but can be defined as anything: A string, a hash of a transaction, a transaction ID, and so on — it can be configurable to the needs of a developer. If a developer is just using a single HCS message, then that’s all they need to use and there would not be a change or degradation in latency.

If a developer would like to submit a larger message using HCS, they can now use multiple messages which are broken down into and then restructured into a single message. It’s flexible but that may come with a change in latency. It’s only suited for specific use cases.

When is Hedera mainnet coming out of beta?

There is no firm date of when the Hedera mainnet will come out of beta, but we do have criteria that needs to be hit before v1. Some of these criteria include uptime of the network, open sourcing, and open review. We’ll continue to share the latest and greatest as we approach v1.

How many people are there on the Hedera Product & Engineering Team?

There’s around 15 folks in Product and 15 in Engineering.

How do you run a Hedera mirror node? Can someone use Microsoft Azure?

The documentation outlines exactly how to get set up running your own mirror node; there is a one-click deploy option in Google Cloud Platform and the option to run your own locally or in a cloud provider of your choice.

When is the next Hedera Wallet update coming?

We’re continually shipping updates to the Hedera Wallet but do not have a specified timeline today on when the next update will be deployed.

How are Hedera Council Members involved in determining the roadmap?

Some larger features or priorities are sent to Hedera by the council if it’s related to their business or what’s seen in the market. But most often, they review and approve the product roadmap — we have meetings, which are similar to board meetings, where they get visibility into what’s being planned and coming down the pipe. They can provide feedback into that.

Are there any new SDK languages coming and when will the Go SDK reach v1?

We have SDKs in Node.js, Java, and Go. We’re excited to see community SDKs, such as the .NET SDK, come to fruition. We currently don’t have a schedule for new SDKs to add but we’re always looking for feedback from the community on language support. We don’t have a date yet for v1 of the Go SDK.

Will testnet and previewnet run the same number of nodes in the same geographies as the mainnet?

The testnet and previewnet will not run the same number of nodes in the same geographies — for the public testnet there are the same number of endpoints, but not necessarily the same number of nodes. The previewnet will only be a subset of data centers, with the objective being preview of the code rather than full decentralization.

Why are there only 12 nodes running but 15 Hedera Council Members?

Hedera’s objective is to have each council member running their own node in an on-premise or public cloud data center. It sometimes takes time for new council members to get up and running. Generally you should see those two numbers converging to the same.

Are the throttles on the Hedera testnet and previewnet the same?

The throttles on the testnet and the previewnet will be the same.

What is the Composer Wallet?

The Composer Wallet was created and is supported by Hashing Systems and the latest information on the Composer wallet can be found here: https://hashingsystems.com/

Why is there downtime on the mainnet when there is a network update and when will this change?

Downtime of the network is there to ensure that every node can update their software simultaneously. It helps ensure the stability and security of the network as a whole. We’re looking forward to features and functionality that will improve on this window and, eventually, not experience any downtime for network updates.

Is the Hedera previewnet supported in the Java SDK?

Currently, the previewnet is running v0.6.0, so it is supported by the Java SDK today. Moving forward, the objective for the previewnet is for testing and the SDKs may not support the latest features, but we will do our best effort to ensure they do.

How important is backward compatibility with Hedera's APIs?

For the Hedera APIs, we want to have backwards compatibility so that application developers and mirror node operators have as little disruption as possible. We will also try to ensure that our SDKs and mirror node software is updated in advance of network updates to correct for any instances where apps might experience disruption otherwise. It’s very important that we keep backwards compatibility available.

Can you explain the version numbering?

Generally, we use semantic versioning — you’ll see 0.0.0 for instance — the first two numbers are major and minor versions; the third number would be related to patches.

What's going on when we see 4,000 transactions per second on the testnet?

Sometimes it’s Hedera, sometimes it’s now — anyone is able to test the scale and performance of their applications. Typically it’s Hedera, a community members, or partner. We’re always excited to see those spikes and expect to see the mainnet as folks move towards production.

Does the testnet and previewnet have the same fees as the mainnet?

Yes — but only on the mainnet will you pay in real hbar cryptocurrency.

What is the timeline on hbar staking?

Staking isn’t available at this time — but it’s on the roadmap. You can read more about it here: https://hedera.com/blog/proxy-staking-on-hedera And also some information on why Hedera doesn’t have slashing, here: https://hedera.com/blog/why-is-there-no-slashing-in-hederas-proof-of-stake

What is the largest challenge when coming up with new features and releasing them?

Generally we have such a forward thinking community, that we always have such a strong backlog of features, ideas, and improvements; it’s just a matter of prioritizing time and resources to deliver. We’re excited when we see some of the bigger services, such as the Hedera Consensus Service, come to fruition because there’s such a demand from users to benefit from that kind of service.

How can a full stack developer get a job at Hedera?

Hedera is looking for curious and passionate individuals who are dedicated to learning and growing with us. We’re committed to building an inclusive team that values ideas over anything else. Check out our careers page at https://www.hedera.com/work

Are chunked and batched transactions synonymous terms?

They are a bit different — batching is thought of as taking multiple transactions and distilling them into a single message. For instance, via hashing a number of different transaction ideas or larger set of data, you can combine them into a single Hedera message. Chunking is taking a large message and breaking it down into multiple smaller messages. Generally, the use cases will differ. What’s nice about the performance of Hedera, you don’t often need to batch transactions, but from a chunking perspective it’s a bit different than batching.

What is the difference between a developer evangelist and a developer advocate?

A Developer Evangelist enables the community to use Hedera technology, present to the community, and communicate our value proposition outwardly. A Developer Advocate, in addition to helping users build on Hedera technology, is the voice of developers inside of Hedera, to help ensure we have proper product requirements based on what they see in the field.

Will Hedera launch DeFi protocols on the network? This is an area that really excites our team — we’re looking to enable different options for tokenization and decentralized finance in the short and long term. If you have a project in the space we’d love to hear about it and learn how we can best support it. Contact us at https://www.hedera.com/contact