Mainnet Upgrade to Protocol Revision 4 scheduled for April 30, 2020 at block 335,872 DUNE network Follow Apr 23 · 3 min read

We are very happy to announce an upcoming upgrade of the Mainnet network of Dune, 3 months after the previous one: the upgrade to revision 4 of the protocol is scheduled for April 30, 2020, at level 335,872.

All nodes must have been upgraded to a commit downloaded from the mainnet branch of Gitlab no earlier than April 22, 2020. The git tag protocol-5.4.1 has been created to mark the revision commit, i.e. revision 4 of protocol 5 ( protocol-5.4.1 fixes a minor bug in protocol-5.4 where RPCs on old blocks would fail).

Nodes that will not have been updated will automatically stop validating blocks afterwards. In such a case, after upgrading their nodes, admins should use:

dune-admin-client unmark all invalid blocks

to restart validating blocks.

This new revision has already been tested on the Testnet for two weeks. It includes more than 500 new commits since last upgrade in January.

This upgrade will introduce the following new features, mostly tuned for

DApps developers:

Node features:

* local block explorer at RPC server root

* improvements and bug fixes on Love

* keep twice more blocks in Full mode, for bakers to be able to compute rewards with 7 cycles of data

* some new RPCs ( /dune/config , /chains/main/blocks/head/dune/build_operation , etc.)

* constant max_operation_data_length increased to 49152

* inclusion of some Tezos features ( dune-codec executable, external validator)

* local block explorer at RPC server root * improvements and bug fixes on Love * keep twice more blocks in Full mode, for bakers to be able to compute rewards with 7 cycles of data * some new RPCs ( , , etc.) * constant increased to 49152 * inclusion of some Tezos features ( executable, external validator) Client features:

* substitutions in contract sources at origination time (if you have an alias for key bob and contract alice in your wallet, ${pkh:bob} , ${contract:alice} and ${key:bob} can be used in contrat sources)

* backup old keys when overriding them with -f

* new ix helper tool for developers (https://dune.network/docs/dune-node-next/user/using-ix-helper.html) to manage multiple networks and nodes on the same computer

* new global option --subst file.in for commands to perform substitutions during injections.

For example, origination results can be obtained using the following file.in :

block_hash: ${block_hash}

confirmations: ${confirmations}

consumed_gas: ${consumed_gas}

storage_size_diff: ${storage_size_diff}

paid_storage_size_diff: ${paid_storage_size_diff}

operation_hash: ${operation_hash}

contract: ${contract}

fee: ${fee}

exit_code: ${exit_code}

timing: ${timing}ms

leading to the following file :

block_hash: BLC3rhezXd8qEJ5UpuJGMV35ez71CbGH59MDMuc2QSLeSStTs3r

confirmations: 0

consumed_gas: 10998

storage_size_diff: 40

paid_storage_size_diff: 297

operation_hash: op8RebzjvLJCXmUosjioe9dpzUt55aKQ4topz4KFYse8YAwf3a8

contract: KT1CvM6xJVpkC7av76UMrEsqkM1vKnXKLJNN

fee: 1379

exit_code: 0

timing: 701ms

Baker features:

* all baker versions are now included in one executable: dune-baker-all for bakers, dune-endorser-all for endorsers and dune-accuser-all for accusers, no need to start multiple baker versions anymore.

* new --lazy mode: only generate a block if there is an operation in the mempool. This option should only be used with a sandbox node, to avoid creating too many blocks during development.

* all baker versions are now included in one executable: for bakers, for endorsers and for accusers, no need to start multiple baker versions anymore. * new mode: only generate a block if there is an operation in the mempool. This option should only be used with a sandbox node, to avoid creating too many blocks during development. Love VM features:

* improved views: can be recursive, can be called with several arguments, can be called by the parent contract as an ordinary function

* new RPCs to call contract functions and view on arbitrary data

* support for collect call

* record and “or” pattern matching

* better typing error messages

* various fixes

In the next months, we will continue to improve the accessibility of Dune’s smart contract platform. Work on the inclusion of Solidity and associated tools has already started, to ease adoption of Dune by Ethereum developers.

Connect with us:

Discord: https://discord.gg/JBUGqFg

Telegram: https://t.me/dune_network

Medium: https://medium.com/dune-network

Twitter: https://twitter.com/dune_network

Reddit: https://www.reddit.com/r/dune_network/

Gitlab: https://gitlab.com/dune-network

Website: https://dune.network

Email: contact@dune.network