MystenLabs / sui

Sui, a next-generation smart contract platform with high throughput, low latency, and an asset-oriented programming model powered by the Move programming language
https://sui.io
Apache License 2.0
6.13k stars 11.17k forks source link

Network protocol version is ProtocolVersion(44), but the maximum supported version by the binary is 43. Please upgrade the binary #17383

Open NadigerAmit opened 5 months ago

NadigerAmit commented 5 months ago

Steps to Reproduce Issue

When we try to send the transaction on devnet using sui ptb commands:

sui client ptb \ --gas-budget 100000000 \ --assign sender @$MY_ADDRESS \ --move-call $PACKAGE_ID::todo_list::new \ --assign list \ --transfer-objects "[list]" sender

e.g.

  1. Call function .
  2. Use return value and call .

Expected Result

The call should be success and should be able to see the transaction digest, the transaction data, and the transaction effects.

Actual Result

[warn] Client/Server api version mismatch, client api version : 1.23.1, server api version : 1.24.0 thread '2024-04-28T03:14:23.341406Z ERROR telemetry_subscribers: panicked at crates/sui-protocol-config/src/lib.rs:1252:9: Network protocol version is ProtocolVersion(44), but the maximum supported version by the binary is 43. Please upgrade the binary. panic.file="crates/sui-protocol-config/src/lib.rs" panic.line=1252 panic.column=9 main' panicked at crates/sui-protocol-config/src/lib.rs:1252:9: Network protocol version is ProtocolVersion(44), but the maximum supported version by the binary is 43. Please upgrade the binary. note: run with RUST_BACKTRACE=1 environment variable to display a backtrace Aborted

e.g.

returned 41. ## System Information * OS: ubuntu * Compiler: $ sui move --version sui-move 1.23.1-4dbcf81
stefan-mysten commented 5 months ago

@NadigerAmit thanks for flagging this. What network are you trying to use, devnet? If so, you might need to install Sui from source. Let me know and I will help out with how to solve this.

woomike commented 5 months ago

I'm getting the exact same error on Mac OS X and installing via Homebrew. This is on devnet. Would you suggest installing from source as well?

UPDATE: Installed Sui via source and still getting the same error.

stefan-mysten commented 5 months ago

Thanks @woomike. Can you please share the output of sui client envs sui --version

woomike commented 5 months ago

Thanks @woomike. Can you please share the output of sui client envs sui --version

alias: devnet
url: https://fullnode.devnet.sui.io:443

Version: sui 1.23.1-4dbcf81

stefan-mysten commented 5 months ago

Thanks @woomike.

stefan-mysten commented 5 months ago

I am unable to reproduce locally, but could you try this please?

cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui

Then check that the sui --version is different than before (making sure it uses the right binary)

stefan-mysten commented 5 months ago

Actually, I was able to reproduce. Trying now to see what could be a quick workaround.

stefan-mysten commented 5 months ago

@NadigerAmit and @woomike

There are two options: 1) use testnet, unless you need devnet for specific features (e.g., random beacon). 2) if you need devnet, install Sui from devnet branch, cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui and make sure you use that binary which cargo will put here: .cargo/bin/sui.

Let me know if that does not work, and we can go from there.

woomike commented 5 months ago

@NadigerAmit and @woomike

There are two options:

  1. use testnet, unless you need devnet for specific features (e.g., random beacon).
  2. if you need devnet, install Sui from devnet branch, cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui and make sure you use that binary which cargo will put here: .cargo/bin/sui.

Let me know if that does not work, and we can go from there.

Running via cargo install seems to have fixed the issue for me. @stefan-mysten thanks for the quick turn around and help! 🚀

stefan-mysten commented 5 months ago

@woomike My pleasure. It looks like the devnet network had a protocol upgrade, therefore the Sui CLI needs to be compatible with that and it requires the devnet variant to work with the devnet network.

NadigerAmit commented 5 months ago

@stefan-mysten , Thanks. When I try to install via your provided command , I face below issues : Compiling lock_api v0.4.11 error[E0635]: unknown feature stdsimd --> /home/amit/.cargo/registry/src/index.crates.io-6f17d22bba15001f/ahash-0.7.6/src/lib.rs:33:42 | 33 | #![cfg_attr(feature = "stdsimd", feature(stdsimd))] | ^^^^^^^

For more information about this error, try rustc --explain E0635. error: could not compile ahash (lib) due to 1 previous error warning: build failed, waiting for other jobs to finish... error: failed to compile sui v1.24.0 (https://github.com/MystenLabs/sui.git?branch=devnet#550718ef), intermediate artifacts can be found at /tmp/cargo-installTJKck9. To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path.

NadigerAmit commented 5 months ago

My ubuntu version is : amit@DESKTOP-TF687VE:~/OmBlockchain/OmSui$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy

NadigerAmit commented 5 months ago

If i use the local net , I am able to send the transactions but if possible I would like solve the devnet issues also. I am not blocked.

stefan-mysten commented 5 months ago

@NadigerAmit I assume that you're on x86_64, but could you please double confirm?

Never seen this error before, so I am taking a few wild guesses. Can you try to do a rustup update and then again the cargo install command?

NadigerAmit commented 5 months ago

Yes I am on x86_64. do you want me to do the rustup update and cargo install in the sui director where all the binaries are present ?

stefan-mysten commented 5 months ago

rustup update can be done anywhere, and then cargo install you can run it from anywhere.

cybercent commented 5 months ago

Encountered the same error.

Also, installing using cargo raises another error:


cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet sui
    Updating git repository `https://github.com/MystenLabs/sui.git`
  Installing sui v1.25.0 (https://github.com/MystenLabs/sui.git?branch=devnet#b10ea733)
error: failed to select a version for `env_logger`.
    ... required by package `sui-security-watchdog v1.25.0 (/Users/me/.cargo/git/checkouts/sui-6ac459c53b1b685a/b10ea73/crates/sui-security-watchdog)`
versions that meet the requirements `^0.11.3` (locked to 0.11.3) are: 0.11.3

the package `sui-security-watchdog` depends on `env_logger`, with features: `anstream` but `env_logger` does not have these features.
 It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

failed to select a version for `env_logger` which could resolve this conflict```
cybercent commented 5 months ago

rustup update and cargo install worked

stefan-mysten commented 5 months ago

@cybercent glad to hear a rustup update did the trick.