Wednesday, June 14, 2023
API
Protocol
WASM
Tooling

Release: mx-sdk-py-cli - v7.0.0

Improvements of "mxpy testnet". Re-brand to "localnet"

In this release, there is a significant change that affects backwards compatibility, specifically related to the new configuration schema. Here's an illustration of the localnet.toml file, which demonstrates the option of choosing between remote or local software resolution.

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

Other significant changes:

  • refactoring, partial re-design;
  • allow one to use pre-built binaries of node, seednode, and proxy.
  • allow one to configure round duration, epoch duration etc.

Re-branding

In regards to the rebranding, from now on:

  • mxpy testnet <-> mxpy localnet;
  • testnet.toml <-> localnet.toml.

Commands

  • New command: creates, builds, configures a localnet (without starting it, though) - this calls new, prerequisites, build, and config in one go.

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • New command: creates a localnet.toml configuration file.

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • Clean command stays the same:

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • Fetch repositories and other dependencies:

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • New command: will build the software:

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • Copying of files & folders & patching the config files (NO BUILD):

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

  • Start the network (can be stopped at any time by killing the mxpy process):

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

Remove project argument from contract deploy and contract upgrade

The --project argument from the contract deploy and contract upgrade commands has been removed.
They created confusion because when it was used, if the contract wasn't previously built it would build the contract first, then load the bytecode. If the contract was built, it wouldn't rebuild it, it would just load the existing bytecode.

Consider using a newer version of "wasm-opt", by default

Newer versions of rustc might generate WASM bytecode that isn't properly handled by wasm-opt v105.

E.g.

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

Wasm-op error:

Unknown block type "codeSnippet", specify a component for it in the `components.types` option

Remove command "mxpy account get-transactions"

Removed command mxpy account get-transactions, without a prior deprecation notice (being very exotic, rarely used, and not very helpful). Instead, one can directly query the API using wget or curl.

Remove already-deprecated wallet commands and options

Some commands and command arguments were deprecated in mxpy 6. Now (for mxpy 7), we remove them.

Removed:

  • command mxpy wallet derive. One should now use mxpy wallet convert, instead.
  • arguments --pem, --json, --output-path of command mxpy wallet new. One should now use --format=... and --outfile parameters, instead

Replacement examples:

  • mxpy wallet derive alice.pem --mnemonic is replaced by mxpy wallet convert --in-format=raw-mnemonic --out-format=pem --outfile=alice.pem
  • mxpy wallet new --pem --output-path=alice.pem is replaced by mxpy wallet new --format=pem --outfile=alice.pem

See:

Remove deprecated EEI checks

This is a breaking change. Nevertheless, CI workflows should remain unaffected as the latest versions of mx-sc-actions no longer rely on mxpy.

Github Release link: mxpy V7

Migration support from v6 to v7: migration to v7

We hope that you'll find these changes useful and that they will help you to be even more productive in your development work. As always, we welcome your feedback and suggestions in Discord or Telegram, and we look forward to continuing to enhance mxpy in the future.

Do you need more information?

Explore projects, tokens, and integrations built on MultiversX