Skip to content

Releases: AntelopeIO/leap

Leap v3.1.0-rc4

17 Aug 14:53
579d3f6
Compare
Choose a tag to compare
Leap v3.1.0-rc4 Pre-release
Pre-release

This is a RELEASE CANDIDATE for version 3.1.0. The latest STABLE release is v2.0.14.

This release contains several bug fixes, one small parameter update, and several changes to support the migration to the AntelopeIO organization. Please note that this release references changes committed in the EOS Network Foundation mandel repo.

Leap v3.1.0-rc4 Release Notes

Bug fixes and parameter adjustments

Reduce excessive logging of P2P handshake messages

PRs

  • (mandel#791) [3.1] Reduce net_plugin handshake messages in case of unavailable blocks


In testing, it was discovered that when a node's full block log was not available that net plugin would unnecessarily send a handshake message for each unavailable block requested. Instead, the node will now disconnect from the peer with benign_other and move on to a different peer to sync from. This mirrors the existing pattern for blk_send_branch when a block is not available.

Increase default transaction-retry-max-expiration-sec from 90 to 120

PRs

  • (mandel#809) [3.1] Increase default transaction-retry-max-expiration-sec from 90 to 120


It was requested by the community to make a small parameter update to adjust the default transaction-retry-max-expiration-sec to be aligned with the default values in eosio-core SDK when no expiration is specified.

Add missing file package to list of installable packages for pinned builds

PRs

  • (mandel#807) [3.1] Added file package to the list of installable packages


There was a minor omission in the installation scripts resulting in an error when file package was not listed as an installable package.

Building, compatibility, and upgrading

New build procedure

The shell scripts previously recommended for building the software have been removed in favor of a build process entirely driven by CMake. Those wishing to build from source are now responsible for installing the necessary dependencies. The list of dependencies and the recommended build procedure are in the README.md file. Instructions are also included for efficiently running the tests.

Ubuntu 18.04, 20.04, and 22.04 are the only build platforms that are supported. Other distributions, compilers, and platforms are known to work. Your mileage may vary.

Activating protocol features

The instructions below walk through how to activate the protocol features introduced in the 3.0 and 3.1 releases on a new Antelope blockchain, e.g. a new local test blockchain. Step 3 does not include the other protocol features introduced in prior releases that you can also activate; simply add additional cleos calls to activate them by the appropriate digest in a suitable order.

If activating the new protocol features on an existing blockchain, you will likely be able to jump ahead to step 3.

  1. Activate special protocol feature: PREACTIVATE_FEATURE

All protocol features require a special protocol feature called PREACTIVATE_FEATURE. If this has not already been activated, then first activate it by running:

curl --request POST \
    --url http://<RPC_ENDPOINT_IP_PORT>/v1/producer/schedule_protocol_feature_activations \
    -d '{"protocol_features_to_activate": ["0ec7e080177b2c02b278d5088611686b49d739925a92d9bfcacd7fc6b74053bd"]}'
  1. Install eosio.boot system contract

Activating other protocol features requires a privileged contract to call the appropriate host function to pre-activate the protocol feature. If the contract deployed on the eosio account already has an activate action, you will likely be able to skip this step and just use that action in the next step.

If you do not have any contract deployed on the eosio account, as would be the case for a new blockchain, then you are recommended to deploy the system smart contract eosio.boot to the eosio account. To do this, run:

./cleos set contract eosio <EOS_SYSTEM_CONTRACTS_DIRECTORY>/contracts/eosio.boot/ eosio.boot.wasm eosio.boot.abi
  1. Activate remaining protocol features

Call the activate action on the contract deployed on the eosio account with a protocol feature's digest as an input to activate that protocol feature. Repeat this in the appropriate order for as many protocol features you wish to activate.

To get the a list of the digests of protocol features, run

curl -X POST http://<RPC_ENDPOINT_IP_PORT>/v1/producer/get_supported_protocol_features | jq .

and then look for feature_digest field for each protocol feature.

New protocol features introduced in versions 3.0 and 3.1 do not have dependencies on other protocol features or each other. You can use any order to activate them. For example:

# ACTION_RETURN_VALUE
./cleos push action eosio activate '["c3a6138c5061cf291310887c0b5c71fcaffeab90d5deb50d3b9e687cead45071"]' -p eosio

# CONFIGURABLE_WASM_LIMITS2
./cleos push action eosio activate '["d528b9f6e9693f45ed277af93474fd473ce7d831dae2180cca35d907bd10cb40"]' -p eosio

# BLOCKCHAIN_PARAMETERS
./cleos push action eosio activate '["5443fcf88330c586bc0e5f3dee10e7f63c76c00249c87fe4fbf7f38c082006b4"]' -p eosio

# GET_CODE_HASH
./cleos push action eosio activate '["bcd2a26394b36614fd4894241d3c451ab0f6fd110958c3423073621a70826e99"]' -p eosio

# CRYPTO_PRIMITIVES
./cleos push action eosio activate '["6bcb40a24e49c26d0a60513b6aeb8551d264e4717f306b81a37a5afb3b47cedc"]' -p eosio

# GET_BLOCK_NUM
./cleos push action eosio activate '["35c2186cc36f7bb4aeaf4487b36e57039ccf45a9136aa856a5d569ecca55ef2b"]' -p eosio

Deprecations, removals, and dropped support

Dropped support

Ubuntu 16.04, Centos, and macOS

The only officially supported platforms are Ubuntu 18.04, 20.04 and 22.04. All others have been removed from binary package support and/or code level changes.

Developers using cleos, nodeos, etc. should look at DUNE which supports Windows 10 and 11, macOS, and any Linux that supports Docker.

Further details on changes since last release

Contributors

Special thanks to the contributors that submitted patches for this release:

Full list of changes since last release

PRs

  • (mandel#791) [3.1] Reduce net_plugin handshake messages in case of unavailable blocks
  • (mandel#807) [3.1] Added file package to the list of installable packages
  • (mandel#809) [3.1] Increase default transaction-retry-max-expiration-sec from 90 to 120
  • (2) Remove mandel and https://github.com/eosnetworkfoundation references in leap
  • (4) bump wasm-spec-tests to latest antelope-main
  • (5) Remove leap from deep-mind version logging; bump eos-vm and wasm-spec-tests versions
  • (7) bump abieos to latest antelope-3.1
  • (8) Migrate CI to ENF runners & new platform framework
  • (9) fix package CONFLICTS
  • (10) Update appbase submodule
  • (12) change art to 🅻🅴🅰:parking:
  • (11) [3.1] Antelope rename changes


Full Changelog: f63346e...v3.1.0-rc4