- improved documentation
- reduced functional test boilerplate thanks to a wrapper function
- clarified logs, and demoted logs that disturbed people
- clarified the results displayed by some client commands
- added the possibility of adding an existing private key to the wallet
- removed all compilation warnings
- bootstrap servers are now tried in random order to avoid overloading the 1st one
- prevent operations from being propagated to nodes that are aware of it (according to the local node's vision)
- operations inside blocks are now added to the operation pool
- the node_sign_message endpoint was added to the API and allows signing arbitrary messages using the node's private key
- the node's ID (public key) is now displayed in the logs on startup, but also available in the network_info client command (and matching API command)
- added command-specific help in the client. Now you can type "help network_info" to get the help on network_info
- now, the list of nodes you are actively connected to is available in the "peers" command, together with the remote node ID (public key) and connection direction (in or out)
- a new command "testnet_rewards_program" was added to the client and allows you to prove you're the owner of a node ID, a staking address, and a discord identifier
- the staking_keys file was removed from git to avoid overwriting yours
- when launching the client with "cargo run --release" (without specifying a wallet), "wallet.dat" will be used by default, making all commands available
- all currency values are now wrapped into an "Amount" structure, ensuring safe decimal arithmetic and consistent display of amounts of coins
- added the config parameter network.target_bootstrap_connections limiting the number of connections from/to bootstrap nodes
- added the config parameter network.max_out_bootstrap_connection_attempts to limit the number of simultaneous outgoing connection attempts towards bootstrap nodes
- added warnings telling the user to avoid sharing their private keys every time they are displayed
- added the end_timestamp config parameter to self-destruct expired nodes when an episode ends
- stakers that miss a high percentage of their block productions during cycle C will cause an implicit roll_sell of all their rolls at the beginning of cycle C+3
- a versioning system was added to avoid bootstrapping/connecting to nodes running incompatible versions of the protocol
- per-cycle final block production statistics and miss rates were added to staker info
- node desync is now detected in about 1 minute, and auto-resync is attempted
- adjusted various config values
- simplified bootstrap initiation for easier deployment
- various bug and usability fixes + optimizations
Full Changelog: TEST.1.0...TEST.1.1