ProxyForging->RewardShare massive refactor & more...

Unified terminology from block "generator", "forger", etc. to "minter"

Unified terminology "proxy forger" to "reward share" as it was
incorrect, or at least highly ambiguous, which account had which role.

AccountRepository.findRewardShares() has different arg order!

Account.canMint() now returns true if account has 'founder' flag set.
Added Account.canRewardShare() which returns whether acocunt can create
a reward-share (e.g. level 5+ or founder).

Fixed HSQLDBAssetRepository.getAllAssets() which had incorrect
resultSet column indexes.

Removed old traces of EnableForging transaction.

ACCOUNT_LEVEL and ACCOUNT_FLAGS (genesis-block-only transaction types)
now set target account's last-reference. This is allow later REWARD_SHARE
transactions in genesis block and post-genesis transactions by that account.

REWARD_SHARE transactions are now FREE, but only if minter is also recipient.
If a self-reward-share already exists, then unless share-percent is zero (to
terminate reward-share), any subsequent self-reward-share is invalid.

Updated SysTray i18n properties file.

BlockChain config file requires 'minAccountLevelToRewardShare' and optional
'minAccountLevelToMint'.

Added potential, but currently unused, memory-hard PoW algorithm.

Fixed/removed/disabled some unit tests.
BlockMinter.generateTestingBlock asks Controller to pretend mintingAccount is 'online'.
More testing needed!
This commit is contained in:
catbref
2019-10-29 17:46:55 +00:00
parent 843aad4930
commit 491e79b8e6
80 changed files with 1853 additions and 2044 deletions

View File

@@ -11,9 +11,9 @@ CONNECTIONS = connections
EXIT = Exit
GENERATING_DISABLED = NOT minting
MINTING_DISABLED = NOT minting
GENERATING_ENABLED = \u2714 Minting
MINTING_ENABLED = \u2714 Minting
# Nagging about lack of NTP time sync
NTP_NAG_CAPTION = Computer's clock is inaccurate!

View File

@@ -11,9 +11,9 @@ CONNECTIONS = \u4E2A\u8FDE\u63A5
EXIT = \u9000\u51FA\u8F6F\u4EF6
GENERATING_DISABLED = \u6CA1\u6709\u94F8\u5E01
MINTING_DISABLED = \u6CA1\u6709\u94F8\u5E01
GENERATING_ENABLED = \u2714 \u94F8\u5E01
MINTING_ENABLED = \u2714 \u94F8\u5E01
# Nagging about lack of NTP time sync
NTP_NAG_CAPTION = \u7535\u8111\u7684\u65F6\u949F\u4E0D\u51C6\u786E\uFF01