Dear Iroha Community,
Here are some highlights on our progress over the past two weeks:
- Block commit time is now dynamic based on the view change index. This allows the consensus to operate in the presence of heavy transactions.
- Consensus estimation for time trigger execution has been removed, making use of the guarantees provided by discrete blockchain time.
- The default permission set has been updated.
- Smart contracts now interact with Iroha using a client-like entity. This unifies development experience between smart contracts and HTTP clients.
- From now on, only N last blocks are stored in memory (128 by default), with the rest loaded from the disk on demand. This improves memory usage from 1.6KB/tx or 1.6GB/1mil txs to approximately 280 bytes/tx or 0.26GB/1mil txs.
- The integration tests framework and suite underwent a major overhaul. Iroha is now tested as a black-box, and much faster.
- feat(sumeragi): dynamic commit time based on view change index (#4957)
- feat: remove consensus estimation (#5116)
- refactor!: black-box integration tests (#5124)
- refactor!: remove
max
prefix fromblocks_in_memory
(#5145) - refactor!: rename JsonString to JsonValue (#5143)
- refactor(gossiper): gossip txs at most once (#5079)
- refactor(iroha_torii): spawn a single server task with only one
TcpListener
(#5122) - refactor(permissions): define default permission set (#5075)
- refactor(schema_derive): use a smarter algorithm for auto-generated trait bounds (#5132)
- refactor(schema_derive): use error emitter instead of bailing out early (#5131)
- refactor: add client entity to smart contracts (#5073)
- refactor: increase type safety of block lifecycle (#5140)
- refactor: rename JsonValue to Json (#5154)
- refactor: Use
ConstVec
for instructions inExecutable
(#5096) - fix(block_sync): check that next block has height +1 (#5111)
- fix(docs): fix model macro example in docs (#5149)
- fix(ffi): Add implementation of Niche for
Option<Box<R>>
(#5094) - fix(iroha_config): broken trusted peers check (#5121)
- fix(torii): close ws properly in blocks/events stream (#5101)
- fix: Fix timestamp of genesis block (#5098)
- fix: Leader as transaction ordering service (#4967)
- perf: Directly provide payload to WASM entrypoints (#5113)
- perf: Make kura drop old blocks from memory (#5103)
- perf: Reduce memory usage of
CommittedTransaction
(#5089) - build(wasm_samples): pre-compiled
wasm_samples
(#5123) - ci: use Nextest, remove broken rust-cache, more unit test coverage (#4996)
We would love you to get involved. Please check out good first issues and the contributing guide as starting places.
If you have any questions, feedback, or concerns regarding the updates or any other project-related matters, please feel free to discuss them in our Telegram and Discord chats.
Best regards,
Hyperledger Iroha team