CyberWay v2.0.4 Release Notes
Blockchain development team announces the Cyberway v2.0.4 version release. This version includes:
— changes in the network subsystem;
— bugs fixed in ABI serializer;
— new intrinsic action implementation to execute nested transactions;
— amended voting process for validators;
— improved build procedure for a Docker image containing CyberWay.
CHANGES IN THE NETWORK SUBSYSTEM
Changes are made in the network subsystem in order to improve and simplify communication of nodes with each other. Added distribution of IP addresses of known seed nodes over the network. Each node asks for a list of the known seed nodes, when connected to other nodes. These requests are sent periodically. Upon receipt of such a request, the node issues a list of seed nodes to which it is currently connected.
For validators, it is important that the address of their validator node is not accessible to all network. For this purpose, the private-peer
option has been added. Using it, a user can specify IP addresses of nodes that should not be distributed over the network. This option should be used on seed nodes connected to a validator node.
Also added the ability to download the current list of alternative seed nodes from a node that serves the maximum number of clients at the moment (specified by the max-clients
option). In this case, node allows other clients to connect in the so-called "gray mode". These clients can only request the ip addresses of other seed nodes. The number of clients served in gray mode is set by the max-gray-clients
option. Using the max-gray-timeout
option a user can set the maximum connection time (in ms) to which the client can connect.
BUGS FIXED IN ABI SERIALIZER
Fixed bugs in the ABI serializer. This allowed the contracts to gain new opportunities for describing data structures. Now you can not only make individual fields optional, but also whole structures. It is also possible to use aliases for options, and asset and symbol as elements of arrays.
NEW INTRINSIC ACTION IMPLEMENTATION TO EXECUTE NESTED TRANSACTIONS
The new intrinsic send_nested
was implemented to execute nested transactions. This intrinsic defined as void send_nested(const char *serialized_transaction, size_t size)
. It available only for privileged contracts and has some restrictions:
- transaction authorities does not checked, so contract should check it;
- only one nested transaction is allowed inside the normal;
- nested transaction is not allowed from nested one;
- context free actions are not allowed in nested transactions.
CHANGES TO VOTING PROCESS FOR VALIDATORS
Changes have been made to support various modes of automatic reset of votes for the validator. Added the ability to detect whether the contract has a certain table with data (this is necessary for the correct transition to the new contract behavior). The update_proxied_traversal
function implements vote deletion when the conditions change by a validator, depending on user's settings.
From now on, operation to automatically recall a vote given to a validator is performed only if a user sets parameters for his vote . By default, auto-recall
is prohibited and is not performed
MODIFICATION TO DOCKER IMAGE BUILD
Improved build procedure for a Docker image containing CyberWay. These changes make it possible to build and test with various versions of contracts and CDTs.
Don't hesitate to join our community via:
Commun:
Telegram:
- CyberWay - https://t.me/cyberway_en (for general questions and inquiries)
- CyberWay Validators - https://t.me/cyberway_validators_en (for questions and inquiries concerning validators of CyberWay platform)
- CyberWay Dev - https://t.me/cyberway_dev (for instant technical feedback from our Dev team)
Twitter:
We'll keep you updated over https://twitter.com/cyberwayio
Best regards, @cyberwaydev team: @andreypf, @marina, @maslenitsa, @muhazokotuha, @zxcat, @annaeq, @anazarov79, @kaynarov, @s-medvedev, @eugin