Cardano SL 1.3.0
Cardano SL 1.3.0
Features
Cardano wallet API v1 for the exchanges
A subset of endpoints from the Cardano wallet API, used by cryptocurrency exchanges, was moved to the new Cardano REST API v1. The remaining endpoints will move from v0 to v1 in the next release. Cryptocurrency exchanges are encouraged to move to API v1 because the old API is now regarded as deprecated and will be removed in future versions (CBR-101).
Subscription status added to node information
The endpoint that provides information about the node (/api/v1/node-info
) has been expanded to include information about the node subscription status, which can be used to check if the Cardano node is connected to the network or not.
Improved error message for missing charset in API calls
The generic message returned from Cardano node endpoint calls when the charset was not specified is replaced with a more descriptive error message to help users of the API troubleshoot the problem.
Support for sending raw data on the network
It is now possible to send raw, CBOR serialized data to the network using the diffusion layer. Previously, the data had to be serialized before sending it to the network, which slowed things down.
Specifications and documentation
Formal specification for new wallet backend
The formal specification of a wallet for Cardano (or any UTXO-based cryptocurrency) is available here: https://cardanodocs.com/technical/formal-specification-for-a-cardano-wallet/.
Bug fixes and improvements
Faster sending and receiving of blocks
Sending and receiving blocks on the network now works better. First, deserialization performance has been improved by optimizing memory use. Next, blocks are now downloaded concurrently without batching. Finally, block traversal is optimized by the introduction of 'forward links', which removes the need for header retrieval and serialization.
Optimised block storage
Block storage is now optimized by consolidating block and undo data in a single file. This change reduces disk use and improves performance when reading and writing blocks. In later Cardano versions, block storage will be improved even more, so this is only an interim solution.
High (and recurrent) I/O traffic in wallet reduced
I/O spikes in traffic were being caused by large logs being flushed. This issue has been fixed.
Failure to reconnect to the network
Improper handling of DNS failures would sometimes cause the Cardano node to fail to reconnect to the network after an internet connection was interrupted and would need to be restarted. This issue has been fixed.
Time error between user’s computer and the network
The endpoint (/api/settings/time/difference
) for calculating the time difference between a user’s computer and Cardano network was returning an incorrect value in some cases. This was because the calculation was not properly handling the time needed to request the current time from NTP servers and to get the response. As a result, some Daedalus users were prevented from using their wallet because Daedalus cannot be used if there is a time difference of more than 15 seconds. This issue has been fixed.