Meta issue with assorted tasks related to hived.
This is a collection of buzzwords that are related to [potential] work in hived, improvements, optimizations, new functionality, testing tools or code safety changes. There is no particular order to them other than in case one point depends on completion of a different point, the latter is earlier on the list. Some are easy and quick to implement, some are hard and require a lot of work, testing and possibly even new APIs and front end tools, some are unknown and need to start from research, discussion and design. The list is not complete - some tasks have separate issues already, there are also tasks that have separate issues that are not on this list.
Here is the simple list, each point is then extended in the comments:
-
chain object cleanup
[code safety] - encapsulation, reordering of members for better alignment, elimination of generic constructor -
tiny asset calculations
[code safety] - replacing storing of assets onasset
withtiny_asset<>
wherever applicable, followed by replacing calculations in the same way -
tiny asset in vop definition
[code safety, AH size] - replaceasset
withtiny_asset<>
in definition of virtual operations where possible -
consolidation of payout related vops
[AH size] - turn all comment payout vops into optional subcontent of a single vopcomment_payout_update
-
balance object
[code safety] - all places that hold balance need to do so through special object -
block log alternatives
[disk size] - block log code separation (done) and implementation of various block log representations (some done) -
comment archive
[RAM consumption] - add mechanism to store archived comments separately from new ones, behind interface, and implement different ways of storing -
account archive
[RAM consumption] - add mechanism to store account data behind interface -
pool allocators
[RAM consumption, performance] - add pool allocators for all state objects, state index nodes and possibly also undo sessions -
optimize multi index nodes
[RAM consumption] - replace boost multi index with implementation that uses pool object ids instead of pointers -
squash_and_reopen undo session
[performance] - allow for reuse of squashed undo session (possibly also reuse undone session) -
consensus state provider
[enhancement] - separate 'lite' version of hived node that can be embedded in other applications, most notably in HAF apps -
automatic processing coincidence
[safety] - eliminate known problem where it is possible to (on purpose or by accident) build up automatic processing events to happen in single block -
automatic processing stamps
[safety, enhancement, discussion] - introduce merkle root for selected automatic operations, separate from current merkle root and present those operations in AH with no vops -
postponed transfers
[enhancement, discussion] - introduce extension to recurrent transfers to allow single transfer at future date -
problem of Y2037
[safety] - fix problem with epoch time -
RC scaling
[safety] - add scaling to RC pools related to size of blocks (with extra control for witnesses) -
RC consensus
[safety] - add RC to consensus -
iceberg
[testing] - implement iceberg tool for automatic creation of transactions building environment for selected range of mainnet blocks -
mock-peer
[testing] - implement mock-peer tool to act as one or the whole network of peers for node under test -
RC-fee equivalence
[enhancement] - allow paying a fee instead of using RC -
RC pools
[enhancement] - allow preauthorization of spending of RC for someone else's transactions -
custom authority
[enhancement] - allow preauthorization of executing transactions in the name of specified account -
script engine
[enhancement] - allow writing scripts to be used during authorization process -
free floating balances
[enhancement] - allow storing balances on "keys" instead of accounts -
bitcoin keys
[enhancement] - allow use of advanced bitcoin signature schemes -
DHF bonds
[enhancement, discussion] - introduce HBD bonds emitted by DHF for the purpose of its funding -
SMT storage
[enhancement, discussion] - allow allocating NAI for SMT, issuing/burning and transferring it, possibly also limit orders paired with HIVE and/or HBD -
SMT staking
[enhancement, discussion] - allow for stakable SMTs, including power up/down and voting for posts with SMT rewards -
council
[enhancement, discussion] - allow for dynamic votable authority voted with staked SMTs
Edited by Bartek Wrona