Hcash weekly development update 12.07.2018-18.07.2018

The following is a weekly progress report from the HCASH development team, and is divided in two parts: ongoing work and completed work.

Our GitHub code can be found here: github.com/HcashOrg

Please note: code is being uploaded to GitHub progressively; if you find that something from this document is missing from a repository, please check back periodically.


Completed work:

HyperCash/HC

Hcd

Completed the redesign and implementation of Hcd production reduction algorithm

Based on an arithmetic and geometric algorithm, a new algorithm was designed that ensures the amount of mineable blocks will gradually decrease to 0 over a 99 year period.

The new interface getstraightpubkey is used to export public keys of normal and quantum addresses

Added support enabling quantum addresses to purchase tickets, vote and withdraw

HcGUI

Improved testnet and mainchain swapping functions

Charted data and integrated a graphic icon to appear each time a transaction occurs

Mandarin language version completed

HcWiki

Establishment of documentation library

Getting started documentation — documentation detailing an introduction to the blockchain, HC related structures and usage information

Wallet overview, Cli and Gui wallet usage information

Proof of stake mining overview, introduction on how to vote and information regarding how to participate in HC voting

Proof-of-Work Mining overview, HC mining related information and PoW/PoS revenue ratio model documentation

FAQ information

Added information regarding advanced features including data structures, related algorithms, etc.

Research information: see documentation

Added information regarding contributing users

HcTestnet PoS mining pool

User registration and login functionality added

Full network and current PoS mining pool information queries added

Address using Cli wallet and Gui wallet using an apiKey used to participate in mining pools for voting

Search functionality to view individual voting details added

HcExplorer

Online testing and interface design

Explorer and hcd matching interface added

Code fixed and reorganised to improve system stability

Added lite mode support for information querying regarding nodes, blocks, transactions and addresses. Added web and API support for lite mode.

HyperExchange/HX

HX wallet

Senator account functions (proposals, transactions between hot and cold multi-signature wallets, withdrawal confirmations, asset settlement prices, multi-signature private key management, change of multi-signature addresses, etc.)

HX IDE

The functionality for C#, Java, TypeScript of IDE to be compiled;

Registration of HX account, importation of private key, transactions; registration and invocation of contracts;

Completed the switch between HyperExchange test chain and formal chain;

Completed the configuration properties of the IDE and complete the selection of startup items by modifying the configuration;

Complete IDE functionality update.

HyperExchange

Citizens’ mining rewards need to include transaction fees: current transaction fees are placed directly in the transaction fee pool; however, they now need to be processed and directly assigned to Citizens and their pledge accounts.

The design of the access process for ETH: Since ETH is not built on the UTXO model, the way the token is connected to HX is different from that of Bitcoin. The process needs to be designed separately, including how to implement multi-signature contracts. The minimisation of the number of interactions with the ETH main chain needs to be considered.

Ongoing work:

HyperCash/HC

Hcd

Add multi-signature support for quantum signatures, add OP_CHECKMULTISIG support for BLISS signature verification .

Fix cumulative errors caused by recursive calculations, since 3 or 4 decimal places are inconsistent with expected results.

Fix occasional inconsistencies in quantum address prefixes (Ta/Tb Sa/Sb).

Hcwallet

Support quantum addresses for participation in multi-signature address structure, multi-signature transfer and redemption script.

Optimise query functions for accounts, since original quantum accounts were not cached.

HcGUI

Fix failed transactions that display ‘pending’ status. These transactions are classified as failed transactions and should not be accounted for in statistics.

Overview of balance, ticket and transaction statistics and changes in real-time.

HcExplorer

New page design and implementation.

Pg mode: utilise PostgreSQL to support increased user traffic, and provide faster access speeds.

Hc Testnet PoS mining pool

New page design and implementation.

HyperExchange/HX

HX wallet

Add dividend-related functions (All users with more than 1000 HX will receive dividends on a regular basis, and will need to claim these dividends themselves. Dividends come from withdrawal fees and contract processing fees).

HX IDE

Add automatic initialisation feature to the HyperExchange chain when it is loading without a wallet running.

Optimise data conversion and access issues when IDE switches between different chains and different tokens.

Formulate data structure for the upcoming single-step debugging function and the implementation thereof.

HyperExchange

ETH multi-signature contract drafting: assets on the HyperExchange chain require ‘dependent multi-signature addresses’ while the ETH multi-signature function is implemented via contracts. When the transactions in ETH are realised by the contract, Senator’s signature will also be verified by the contract.

HyperExchange cross-chain withdrawal fees and contract processing fees are to be allocated to eligible HX accounts; the withdrawals of cross-chain assets from HyperExchange require processing fees, which will be saved to a transaction fee pool, similar to how assets are withdrawn using contracts.

Complete the parameter implementation for the HyperExchange chain: some parameters in the HyperExchange chain are hard coded and need to be extracted to global_property, to allow HyperExchange to makes change via proposal.


We are grateful for the immense effort made by all contributors. Each contributor and community member is vital to the technical development of HCASH.