Skip to content

KEVM support hangs when waiting for contract deploy transaction from ethers.js #864

@jeapostrophe

Description

@jeapostrophe

When I connect to david.kevm.dev-mantis.iohkdev.io:8546 and run the sequence ethers.js sequence:

const factory = new ethers.ContractFactory(....);
const contract = await factory.deploy(...., { value });
const receipt = await contract.deployTransaction.wait();

I get a deploy transaction that shows up in https://david.kevm.dev-mantis.iohkdev.io/transaction/, but the receipt never returns. If I wait about 5 minutes, then the transaction is no longer listed in the explorer.

--

I made a reproduction script: https://github.com/reach-sh/reach-lang/blob/master/examples/tut-7/check-cardano.sh

You should be able to run it like:

git clone https://github.com/reach-sh/reach-lang
cd reach-lang
(cd js && make build) # Only once, if you want extra debug messages
cd examples/tut-7
./check-cardano.sh alice

This script uses Docker to initialize a VM with all the right things installed, so you shouldn't need any extra setup.

You will then need to answer the questions as follows:

Are you Alice?
y
Starting Rock, Paper, Scissors! as Alice
Would you like to create an account? (only possible on devnet)
n
What is your account secret?
[.........]
Do you want to deploy the contract? (y/n)
y

For your account secret, if you merge input-output-hk/mallet#21 then you'll be able to print out the private key from Mallet. It will print it out as <Buffer aa bb cc ... zz> you will want to input it as 0xaabbcc...zz. I made a burner account that you can play with if you want: 0x77bdf880f3d7efb6d53fc33d7ca97747d687330270e46662385aa0ef15cb1a06

If when you debug, you don't want to connect to the live Mantis KEVM instance, then you'll want to change the ETH_NODE_URI variable in the script to something else. However, since it inside a Docker image, localhost won't work. If you wanted to use a localhost, then you would use host.docker.internal (and make sure the server is listening to 0.0.0.0, not localhost.)

Please contact me for any more information. I'd be happy to do some live debugging.

Metadata

Metadata

Assignees

Labels

KEVMKEVM branch related

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions