Hashing Systems is a development studio focused on helping the Hedera ecosystem. We're excited to share more details about our newest release – Composer.
Composer is Hashing System’s browser extension, currently available for Google Chrome (Firefox support coming soon). Composer lets you build and quickly test on your Hedera-based applications without leaving your browser, removing friction and providing a drastically improved developer experience. This should be a very familiar experience for Ethereum developers and help make development on Hedera faster and easier.
Composer can now be used alongside the Hash.js and Assist.js frameworks, in order to act as a bridge between your user’s browsers and the Hedera network.
Hedera Wallet -> Hash.js -> Composer Extension -> Hedera
The new Hedera development stack
From our experience, there are very common, yet subtle differences for developers that are migrating from other ecosystems, and we’ve tried to abstract most of this away with these libraries. In doing so, we’ve provided some very simple, yet core functionality we think that developers will all find beneficial - such as sending cryptocurrency, or triggering smart contracts. For instance, most developers will need to ensure smart contracts utilize a valid HEX encoded ID format, and will additionally need to check users hbar balances ensure they have funds to cover a transaction.
Here are some basic examples of commonly used functionality provided in these libraries:
enable() - this allows websites to view the current account and enable triggers.
triggerSmartContract() - creates and sign transactions
triggerCheckBalance() - allows you to make hbar transactions.
ethAddressToAccountId(string) - converts from Solidity addresses to Hedera Account IDs
accountIdToEthAddress(string) - converts from Hedera Account IDs to Solidity addresses
triggerCheckBalance(string optional) - if no string added, returns current account
Again we’ve provided this via CDN for anyone who wishes to easily be able to use it in their applications. We’ll cover this library in future articles.
A look at using Composer
To give a sense of how this process will work for end users, setting up the mobile Hedera Wallet is how they can begin to interact with the platform. Remember though: your keys, your money.
To begin, users will have to transfer their keys by typing out your mnemonics (often a 22 or 24 word phrase) or pasting your account’s private key into the extension. It’s also worth noting that this currently doesn’t work with Java SDK-generated private keys yet, so you’ll have to use the Hedera Wallet or other HBAR-compatible mobile wallets.
The extension will then safely encrypt your keys on your computer only and allow dapps to request transactions.
From a developer’s perspective, Hash.js makes this an easy process by providing standardized messaging functionality for the chrome extension. All that a developer really needs to do is instantiate `window.hash` and begin to make calls, which will then prompt the user to sign.
So what’s next?
Composer is just getting started, and we have created many open source demos for developers to use. However, we think that the toolkit provided and the ease of integrating into your existing web applications make this stack a no-brainer for developing on Hedera.
All in all, we feel like we have added a lot of much needed functionality to the community, but ultimately we need you to test it. We’ve tried many open source contracts, e.g. CryptoKitties, ForkDelta, etc., but realize the possibilities are endless.
Want to create new kitties? Want to transfer some tokens? You can today with Composer. Let us know what you think on twitter @hashingsystems! If you want to work with our team email us, firstname.lastname@example.org or our company chat found on hashingsystems.com!
Stay tuned for the next few weeks when we’ll make the smart contract deployments easier than ever.