-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Release 2.4.0e https://www.jelurida.com/ardor/downloads sha256 checksums: ba1643baff9795e308250cd41d9f70e5e32559c13d64436911519e8d69b564bc ardor-client-2.4.0e.zip 1917a0bb701183191eac720a087795cec3139211e0897394ab2596a51fb9296b ardor-client-2.4.0e.sh The exe package must have a digital signature by "Jelurida Swiss SA". Change log: This experimental release is a mandatory upgrade for the Ardor 2.0 testnet. It can also be used on mainnet. A testnet hardfork has been scheduled for block 9800000, expected on March 20, 2022. The new features to be enabled at the hardfork on testnet are Per-Transaction Type Asset Control, and Asset Trade Royalties. Per-transaction type asset control. When setting up asset control, it is now possible to specify different phasing requirements for different transaction types. The setPhasingAssetControl API now accepts a multivalue transactionType parameter specifying the types to which the asset control will be applied (or removed, if voting model is NONE). Possible values are: ASSET_TRANSFER, ASSET_DELETE, ASK_ORDER_PLACEMENT, BID_ORDER_PLACEMENT, ASK_ORDER_CANCELLATION, BID_ORDER_CANCELLATION, DIVIDEND_PAYMENT, ASSET_PROPERTY_SET, ASSET_PROPERTY_DELETE, SET_ASSET_CONTROL. If no types are specified, by default the asset control is applied to the following types: ASSET_TRANSFER, ASSET_DELETE, ASK_ORDER_PLACEMENT, BID_ORDER_PLACEMENT, DIVIDEND_PAYMENT, consistent with the original asset control implementation. Setting control for some transaction type removes any previous control for that specific transaction type. At any time, there is at most one control per transaction type, while the same control can apply to multiple transaction types. The asset control can still be set only by the asset issuer, and the initial setting, when no transaction types have been set under control yet, still requires that the asset issuer holds all asset shares. Once asset control has been set for at least one transaction types, it is not required that the issuer holds all shares, but the SET_ASSET_CONTROL transaction type itself could be restricted by specifying asset control phasing requirements for it. An API change was necessary, the getPhasingAssetControl API now returns an array of controls objects instead of a single controlParams. Asset trade royalties. The asset issuer can now receive royalties, calculated as a fixed percentage from each trade of the asset, which is subtracted from the amount (in child chain coins) that the asset seller receives and gets added automatically to the asset issuer account. Setting or changing the royalties percentage can be done only be the asset issuer and requires that he owns all shares of the asset. The asset issuer can also disable royalties by setting the percentage to 0, and disabling does not require ownership of all shares. The new setAssetTradeRoyalties API is used to configure royalties, with the percentage specified in royaltiesPercentage parameter. The maximum allowed is 50%. For open API public nodes, the default API result size limits and database query timeouts can now be bypassed for hosts as configured in the new nxt.unlimitedBotHosts property. The default is to ignore the limits for localhost, set to * to allow all hosts, but be aware of potential DoS issues. The MPG child chain will be disabled on testnet at this hardfork, and on mainnet at the mainnet hardfork which is to be scheduled with the next release. MPG balances and transaction history will be preserved for now, but no more transactions of any type will be possible with MPG tokens. A shell script contrib/ardor-ramdisk.sh has been added, for running Ardor with the database stored in memory on tmpfs, backed up and restored to/from persistent storage under contrib/ramdisk-backups. Run the script with no arguments for more help. Bugfixes in Contract Manager, Transaction voucher processing, and others. Added support for READ_ONLY mode of the ContractRunner. Added support for Ledger Speculos emulator, use the nxt.ledger.speculosHostname and nxt.ledger.speculosPort parameters to configure. Updated Jetty to version 9.4.45. -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEvs/qm2srO/+g27NEDPnHRy2AuLkFAmIzGEUACgkQDPnHRy2A uLm1yhAAg2wUr9C4olQj/d1WBr+ANwsLJHHjgE1ZzUQTHKt+3eBA1cci79SP/Q6G yksgzONpKhp+CDFFkd+acyedyAVOBjCv0B47nBKDxKFJr3Jvvaf7DznROVtI/NNV jGdpShZ/Iw+rRh6rfTvcY5PDpcQGvwftP8pQYtLPTBP6KxFr/Uuqri4BkPczQ7fc 7kTdA/yZj3w9zRGaR2/kGc9Kn/KjZPPZNMTsJ25ya/ZqYfEa+PLSzkFdlG2RJhfh nHo2nExz6pGezb/6VEs3myf0xXqXkNztlBQu5QKAAcRcN+XBTyg+kKLRQFs55h7v sHNbl1AwGQQcdMkYdfu+bqiOqF+WhkJSh5g7LXzKKjSEWK3bplRSDGZoMsd8KhLs lhi7QAIGqpBd33WMdZm8l1qouvz4Z1zamHs+50JuJftw0fgazXr9vv7WEtLR9DQQ wiuCGWrLtQOM++8yJJXl39VoOA9Cagz73P+z4nukN0pX7QwsVOsJE/xvLft5TJpy 3sAtpfaszXBwlo5YxnK+RRQ/1fV574ksP+bRA9MC1XmAMGIw1VNViW/qW7lmxD/9 gll9yOGpGM+RmmAzrbahxZ2icdsgeGyQZSK2BiYEs1b68/+8D9LHGiLtn0hK9sry Q2yv2dXZallcJK6dKVvIeLFMEQ9mnylzKcslYp/MoxFqb5aLp4Q= =jFn8 -----END PGP SIGNATURE-----
What effect does running Ardor with the database stored in memory have on performance? Would it allow for fast blocks? More TPS? A node can just handle more API calls?
TPS are limited by protocol. Faster API calls for sure, also faster db download. Apart from that, having the db in memory appears useful when the storage device is a memory card on raspberry pi and similar devices. Even if you have to allocate a swap partition, it still seems faster than writing every new block to the memory card.