* Log the right shard number for wallet/getFreeToken
* Don't try to use empty commit bitmap from genesis block
* Fail hard if block reward or finalization fails
* Log the public key if message sig verification fails
* Extract and save chain state from received blocks in order to
eliminate deep tail recursion
* Properly deep copy chain config (previously ChainID was being shared
among chains)
* Eliminate chain use-before-init window in node.New()
* Save genesis epoch shard state in new blockchain database
* Do not check epoch of the received shard state message (temp
workaround – we should introduce the check elsewhere)
* Propose an empty block if no transactions have been received for 10
seconds
* Manage shard chains as first class citizen
* Bring core.BlockChain's read/write semantics cleaner
* Reimplement the block reward in terms of on-chain committee info, not
hardcoded genesis committee.
1. Remove eth rpc code and unnecessary changes from
7a0f18f92b. Import the package instead.
2. Move HmyAPIBackend into core package so it has more access to core.
3. Add API interface for services.
4. Start RPC for all roles, for both HTTP (baseport+10) and WS (baseport+20).
3. Keep implemented APIs but move to internal/hmyapi package.
utilize go:generate to convert the default wallet.ini file
into go constant `defaultWalletIni` defined in
`cmd/client/wallet/generated_ini.go` which will be used when
`.hmy/wallet.ini` doesn't exist under the current filesystem.
ethereum compatible keystore
support passphrase for wallet new/list/import functions
support export keystore using encrypted json format
Signed-off-by: Leo Chen <leo@harmony.one>
each node will communicate in 3 pubsub topics:
* group, exchange the consensus group messages
* client, exchange the client messages, like transactions
* global, exchange global messages, like cross-shard tx, or communicate
with beacon chain (not enabled for now)
Signed-off-by: Leo Chen <leo@harmony.one>
In libp2p context, there is no easy way to detect offline peers, that's
why we have removed the offline peer handling for now.
Signed-off-by: Leo Chen <leo@harmony.one>