Stanislav Tkach
Stanislav Tkach
Currently `Issue` [transaction](https://github.com/exonum/exonum/blob/master/examples/cryptocurrency-advanced/backend/src/transactions.rs#L71) can be sent by anyone. Its logic should be updated, so that way that this transaction must be signed by the special key stored in the config.
Currently `NodeConfig::listen_address` [field](https://github.com/exonum/exonum/blob/master/exonum/src/node/mod.rs#L319) is non-optional, though it is set to `0.0.0.0` by the "generate-config" [command](https://github.com/exonum/exonum/blob/master/exonum/src/helpers/fabric/details.rs#L353). This special value means "listen to everybody" and can be replaced by `None`.
We have updated (https://github.com/exonum/exonum/pull/596) `test_network_reconnect` test because of the bug in mio (https://github.com/carllerche/mio/issues/776). A separate test for this problem should be added and disabled till the bug is fixed.
`futures` crate should be updated to the `0.2.+` version.
Transactions are no longer stored in the memory pool, so this structure should be renamed.
As proposed in #39, it would be convenient to change functions returning `()`, that contains code like ```rust if some_bad_case { error!("ERROR MESSAGE"); return; } ``` or ```rust let val...
There can be situations when storage becomes partially corrupted and that can remain unnoticed. It can be useful to have tool or special node mode for checking blockchain/database for consistency....
`Propose` can be stored in the `BlockState` instead of transactions (`Vec`) and `ValidatorId`.
We need to automate benchmarks somehow in order to have reliable performance metrics after different changes.
Tests for #173. Currently it isn't trivial to check errors in message processing. Perhaps after #57 it would be easier.