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 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
Improved testnet and mainchain swapping functions
Charted data and integrated a graphic icon to appear each time a transaction occurs
Mandarin language version completed
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
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
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.
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.)
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.
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.
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).
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.
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.
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.
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).
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.
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.