Mwixnet TESTING by community

Testing is required for MWIXnet’s implementation of the Mimblewimble CoinSwap proposal in order to review, detect issues, and improve performance. That is a community effort, any participation help about instructing ,testing is needed & gladly welcomed.

First of all we need test coins. Do we have testnet coins any to send to testers ? _ @Mattczt , @navie

6 Likes

Any instructions how to run it and test?

5 Likes

In the link are some instructions, not sure yet what needs to be tested.
Perhaps connecting multiple mixnodes? Probably we should try submitting multiple trx’s around the same time
Any suggestions for useful tests to run @Yeastplume?

2 Likes

It’s not quite easy for newbies to know what to test, the processes, expected result…

Whoever gets it work can share their experiences and tips and tricks for testing.

Also monitor KeyBase, discussion on mwixnwt there. @ardocrat is already testing.
keybase://chat/grincoin#general/61595

1 Like

Hi, John Davies is in control of a testnet wallet, he sais he would distribute coins if required. I think you can reach him on telegram.

3 Likes

Awesome initiative :+1:.
I will see if I can setup one or two mixnode and do some testing :person_in_lotus_position: :computer: .

1 Like

I tried running:

mwixnet init-config

After compiling with
cargo build release
I get the error
mwixnet command not found
No errors with the compilation, only some warnings about package not being supported in the future. Did anyone else get this error? Does it mean compilation did not work?

1 Like

@grinmonk
I tried just now to compile on Ubuntu 22.04, I get the error:
error[E0460]: found possibly newer version of crate core which num_traits depends on
Perhaps it means my version of rust is too new.
Tried fixing with cargo update, did not work.
Tried fixing by creating a rust-toolchain file specifying an older version for rust, now got a new error:
found possibly newer version of crate core which cfg_if depends on
Maybe meaning that now the rust version I specify is too old :sweat_smile:

Solution
Problem turned out to be the default rust version on Ubuntu using rustup solved the issue:

curl https://sh.rustup.rs -sSf | sh
source "$HOME/.cargo/env"

Now I got a new error:
failed to resolve: could not find write in core & could not find ‘fmt’ in core

@ardocrat did you encounter any trouble when compiling mwixnet?

2 Likes

Continuing the error party now while compiling on Windows:

   --> C:\Users\anynomous\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ntapi-0.3.6\src\ntexapi.rs:2785:52
     |
2785 |         *tick_count.QuadPart_mut() = read_volatile(&(*USER_SHARED_DATA).u.TickCountQuad);
     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
     = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
     = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)

error[E0793]: reference to packed field is unaligned
    --> C:\Users\anynomous\.cargo\registry\src\index.crates.io-6f17d22bba15001f\ntapi-0.3.6\src\ntexapi.rs:2809:25
     |
2809 |         ((read_volatile(&(*USER_SHARED_DATA).u.TickCountQuad)
     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: failed to run custom build command for croaring-sys v0.4.6
error: could not compile ntapi (lib) due to 2 previous errors
For now I am unable to get this to work on Windows, will update if I find a solution.

Check your toolchain/target with rust -vV

I had problem only with croaring, it was fixed at beta.3, so it needs to update packages at Cargo.toml from main crypto crates:

Then some code at files accordingly update.

Possibly you will have problems with chrono package as well, it’s cause grin_wallet_util used in project locked at 5.1.0-alpha.1, so only manual update or version specification at Cargo.toml helps.

3 Likes

If @scilio is not aware, we can make PR to update packages to actual versions :slight_smile:

1 Like

That would probably be best, if community members encounter compilation errors it might discourage them and stop them from running tests.

1 Like

With the two changes you suggested, I still get errors:
croaring/roaring.h:39:10: fatal error: ‘stdlib.h’ file not found
CRoaring/roaring.h:39:10: fatal error: ‘stdlib.h’ file not found, err: true

error[E0793]: reference to packed field is unaligned
error: could not compile ntapi (lib) due to 2 previous errors

This is getting to much in errors discussion on the forum. I think I better discuss it with you on KeyBase until a solution is found.
@grinmonk Can you check if you can get it to work with the proposed changes from @ardocrat?

This is a bit high level for me, but I tried :sweat_smile:
I get the errors because of chronos, like what @ardocrat mentioned:

if timestamp > chrono::NaiveDate::MAX.and_hms(0, 0, 0).timestamp()
|| timestamp < chrono::NaiveDate::MIN.and_hms(0, 0, 0).timestamp()

Now what?

Problem is old version was locked at Cargo.lock file, I simply removed it to update all versions accordingly.

I have created PR with last updated libs here: build: update grin libs by ardocrat · Pull Request #21 · mimblewimble/mwixnet · GitHub

NOTE:
This kind of grin dependency { git = "https://github.com/mimblewimble/grin-wallet", branch = "master" } will be updated to specific version after beta.5 release which will include croaring fix to avoid a lock of old version like it happened with grin-wallet dependency before.

4 Likes

Update:
keybase://chat/grincoin#dev/24808

1 Like