We are releasing a new version of our Pollen testnet v0.4.0. With this version, we removed the value Tangle, introduced the approval switch, Markers and so much more. The full list of changes include:
- Remove the value Tangle
- Add approval switch
- Add Markers integration
- Add new message booker
- Add new ledger state
- Add new opinion former
- Add new Tip manager
- Add new flow unit tests
- Add remote spammer tool
- Add sendTransaction timestamp validity check
- Add clock Since method
- Add docs actions
- Add Tangle width debug tool option
- Update client-lib
- Update wallet
- Update web-API
- Update Grafana dashboard to show MPS for entire data-flow
- Update to latest hive.go
- Refactor integration tests
- Refactor transaction validity check
- Refactor cli-wallet
- Refactor sendTransactionByJson API
- Refactor inclusion state
- Refactor TransactionConfirmed event
- Refactor transaction visualization in the local dashboard
- Refactor scheduler
- Refactor snapshot script
- Fix clock time usage
- Fix wrong handler in the MessageInvalidEvent
- Decrease cache time
As for the previous release, this version bump resets the network as well as the Tangle, and all the balances and tokenized assets. Moreover a new GUI Pollen wallet version has been released here.
This release marks an important step towards Nectar as it introduces the new and simplified data-flow, core of our Coordicide solution. We have simplified the protocol by removing the Value Tangle and merged its logic directly into the Message Tangle. This makes it easier to deal with message orphanage and thanks to the introduction of the approval switch, data messages inclusion is independent from the transaction outcome.
Now, each component can be seen as a black-box, and the interaction among them happens via events. Precisely, the flow starts from either the gossip or the MessageFactory and then, the Parser will take care of validating the structure of the messages. The Storage component stores the messages as well as their metadata into the DB, and creates the Tangle structure. The solidifier makes sure to request all of the missing messages, and ensures that the Tangle grows monotonically in terms of message timestamps.
The Scheduler schedules messages that then go into the Booker and are booked. If a message contains a transaction as its payload, then the Booker runs a sequence of checks (e.g. signature validity, balance validity, double spend) and books the transaction into the corresponsive reality. The OpinionFormer determines the message and payload opinion with FCoB and runs the voting via FPC (statements) if necessary. Finally, depending on the outcome of the messages’ opinion and its past-cone like status, liked messages are added to the Weak or Strong Tip set, respectively.
Moreover, as the interest from the Academia is steadily increasing, we refactored a good portion of the entire codebase to make it more readable as well as easier to modify and use it for simulation and analysis.
These changes as well as new optimizations such as the markers integration and the efficient past/future cone membership checks, allow us to progress with the Mana integration into our prototype. We will soon introduce Mana and set a key step towards Nectar. It will enable the implementation of the missing component such as the approval weight for message finality and the congestion control.
We would like to thank our entire community for their help and support. In particular we are really proud of our X-Team GoShimmer that is helping us with the documentation template and with bug-hunting.
As always, we welcome your comments and questions either here on Medium or in the #tanglemath channel on our Discord. You can also join in the #goshimmer-discussion on Discord.