Friday, February 17, 2023

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

Moved wallet-related functionality (commands kept intact)

Removed wallet sub-package from multiversx_sdk_cli, since all the wallet-related functions are now defined in multiversx_sdk_wallet. Thus, from now on, mxpy relies on multiversx_sdk_wallet to implement it's functionality for managing wallets and signing transactions.

Let's state this again: multiversx_sdk_cli should not be used as a Python library anymore, but only as a CLI tool - under the nickname mxpy. That is, you should not import multiversx_sdk_cli in other Python tools, packages or scripts. Import multiversx_sdk_core, multiversx_sdk_wallet and multiversx_sdk_network_providers, instead.

Experimental, partial support for Windows

BASH shell required, though (at least for installation).

Users can now use the mxpy-up facility to install mxpy in Windows, outside of WSL. However, Windows support is experimental and partial at the moment. Contract builds aren't available yet (due to a few issues related to the Rust installation) - they will be in a future version, however. Transaction creation / broadcasting and wallet utilities are available.

Allow one to alternate between Rust installations

Allow one to specify the desired resolution strategy for some dependencies: rust, go and wasm_opt.

Available resolution strategies are:

  • SDK - resolve dependency from ~/multiversx-sdk
  • host - resolve dependency as already installed on the host machine (e.g. which {dependency} should output a valid path).

Example in ~/multiversx-sdk/mxpy.json config:

"dependencies.rust.resolution": "SDK",

Example for switching the resolution strategy using the CLI:

mxpy config set "dependencies.rust.resolution" "host"

PATH not altered by default anymore by mxpy-up

In mxpy-up, we do not alter the PATH variable by default anymore; that is, we do not alter .profile, .zshrc or .bash_profile automatically anymore. The user has to explicitly demand this (during the installation script).

Complete list of PRs

  • Remove wallet.pem and use wallet package #194
  • Completely removed the internal wallet package #197
  • Replace internal wallet.keyfile with wallet package #196
  • Adjust installation of wasm-opt (do not rely on nodejs) #207
  • Implement different dependencies resolution strategies: "host" vs. "sdk" #210
  • Remove local testnet scope. It caused bugs in the past, without being very useful #206
  • Add message signing (for Ledger as well) #221
  • Do not use a global "testnet.toml" anymore #224
  • mxpy-up improvements. mxpy not auto-registered to PATH anymore. Partial support for Windows. #225
  • Use pyproject.toml instead of #228
  • Do not list, do not use C templates anymore #229
  • Fix getting the version #230

Github Release link.

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