Skip to content
This repository has been archived by the owner on Feb 26, 2024. It is now read-only.

Zero balance in funded wallets #4404

Open
Kevin-Mok opened this issue May 13, 2023 · 12 comments
Open

Zero balance in funded wallets #4404

Kevin-Mok opened this issue May 13, 2023 · 12 comments

Comments

@Kevin-Mok
Copy link

Kevin-Mok commented May 13, 2023

When I launch Ganache with ganache --wallet.accounts 0xe8ee08a685d093206043f7274958f3a51944ce0b49393d20fd9fed2d0585077b,50000000000000000000, I see:

ganache v7.8.0 (@ganache/cli: 0.9.0, @ganache/core: 0.9.0)
Starting RPC server

Available Accounts
==================
(0) 0x4f2D6eB43A905aE40D1921188ae41d213660Cb40 (50 ETH)

Private Keys
==================
(0) 
0xe8ee08a685d093206043f7274958f3a51944ce0b49393d20fd9fed2d0585077b

But when I do web3.eth.getBalance(0x4f2D6eB43A905aE40D1921188ae41d213660Cb40) in my code, this returns 0, and I cannot send any transactions. Why is this happening? You can run my code here on the balance branch.

@Kevin-Mok
Copy link
Author

I'm actually using:

const privateKey = "0xe8ee08a685d093206043f7274958f3a51944ce0b49393d20fd9fed2d0585077b";
const account = web3.eth.accounts.privateKeyToAccount(privateKey);
const balance = await web3.eth.getBalance(account.address);

@jehtee
Copy link

jehtee commented May 17, 2023

I am having what seems to be the same problem. I airdrop test tokens to an account. I can query for those tokens in console and they show. But my test script that queries all 10 accounts for their test token balances all show 0 tokens.

Ganache > Contracts tab show this error:

⚠ Your Truffle Project can no longer be found. Did you delete or move it? Update the location or restart Ganache.

Even though the location is correct.

@davidmurdoch
Copy link
Member

@Kevin-Mok that branch works for me:

ganache output:

~/code/test/ganache-tx (balance) $ ganache --wallet.accounts   0xe8ee08a685d093206043f7274958f3a51944ce0b49393d20fd9fed2d0585077b,50000000000000000000 
ganache v7.8.0 (@ganache/cli: 0.9.0, @ganache/core: 0.9.0)
Starting RPC server

Available Accounts
==================
(0) 0x4f2D6eB43A905aE40D1921188ae41d213660Cb40 (50 ETH)

Private Keys
==================
(0) 0xe8ee08a685d093206043f7274958f3a51944ce0b49393d20fd9fed2d0585077b

# ... skipped for brevity

RPC Listening on 127.0.0.1:8545
eth_getTransactionCount
eth_getBalance
eth_sendRawTransaction

  Transaction: 0xb0daad64327105d82c3ea8aba95011fccbe41fb4522033bdbfea86ab51a1e819
  Gas usage: 21000
  Block number: 1
  Block time: Wed May 17 2023 12:09:18 GMT-0400 (Eastern Daylight Time)

eth_getTransactionReceipt

code ouput:

~/code/test/ganache-tx (balance) $ node index.js 
0x4f2D6eB43A905aE40D1921188ae41d213660Cb40
50000000000000000000
Creating transaction...
Signing transaction...
Serializing transaction...
Sending transaction...
tx transactionHash: 0xb0daad64327105d82c3ea8aba95011fccbe41fb4522033bdbfea86ab51a1e819

@jehtee, your issue seems to be for Ganache UI.

@nagualdev
Copy link

I have the same problem, launching ganache as follows:

ganache-cli --fork https://eth-mainnet.alchemyapi.io/v2/<my_key> --networkId 1 --db c:/tmp/ganache-db/ --mnemonic "scare hope major aspect clock input dial anchor whale catalog bachelor nice"

When calling eth_getBalance(), ganache allways returns 0.

@davidmurdoch
Copy link
Member

@nagualdev if the db exists new accounts aren't refunded. #1030 is that your issue?

@nagualdev
Copy link

@davidmurdoch when I launch it, I can see the list of accounts with their balances (100ETH) in the console.
However if I invoke eth_getBalance() using web3 library for any of these accounts, it allways returns 0.

@davidmurdoch
Copy link
Member

@nagualdev I believe that's related to the bug in #1030. If the start up mnemonic/seed/accounts have changed since the DB was created it lies to you about their account balance on start up. It's a very annoying bug and I'm sorry it exists :-(

@SvenMeyer
Copy link

SvenMeyer commented May 25, 2023

I have the same problem with Ganache GUI.

  • Downloaded latest Ganache GUI Appimage ganache-2.7.1-linux-x86_64.AppImage
  • start
  • change Mnemonic
  • save & restart
  • although ACCOUNT & KEYS / ACCOUNT DEFAULT BALANCE is set to 100 all accounts have 0 balance

I am pretty sure that worked 2 years ago ;-)

UPDATE
Workaround : Do not use the Quickstart but instead create a new workspace, provide a mnemonic of your choice, then start

@davidmurdoch
Copy link
Member

@SvenMeyer can you open an issue on Ganache UI for this? What you are describing is a slightly different bug.

@BarneyChambers
Copy link

I am having a similar issue on ganache-cli. It seems like my wallets are funded until I run any transaction, then all the funded wallets lose their 100ETH

@marcello33
Copy link

Similar issue here.

I launch it with

ganache \
  --chain.hardfork istanbul \
  --miner.blockTime 1 \
  --database.dbPath $DATA_DIR \
  --wallet.accounts  "0x9c08ba1e42bfdd34a017a4bcbf4c92b60e7a497f27534fdb1ac4272c5231d973, 1000000000000000000000"  "0x10efc825120aedaa0d7ba3d77a6ec068b63c1893e38f995ee528410a67f8e7a0, 1000000000000000000000"  "0x70529f30cf0444a66590625f13e4138ef67a754fd53a58defebfb38f638d5780, 1000000000000000000000"  \
  --miner.blockGasLimit 8000000 \
  --miner.defaultGasPrice 0x1 \
  --chain.allowUnlimitedContractSize true \
  --server.port 9545 \
  --server.host 0.0.0.0

Initial output looks correct

Dec 06 16:10:35 ip-10-0-0-181 systemd[1]: Started ganache.
Dec 06 16:10:35 ip-10-0-0-181 bash[29664]: + DATA_DIR=/home/ubuntu/matic-cli/devnet/data/ganache-db
Dec 06 16:10:35 ip-10-0-0-181 bash[29664]: + ganache --chain.hardfork istanbul --miner.blockTime 1 --database.dbPath /home/ubuntu/matic-cli/devnet/data/ganache-db --wallet.accounts '0x9c08ba1e42bfdd34a017a4bcbf4c92b60e7a497f27>
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ganache v7.9.1 (@ganache/cli: 0.10.1, @ganache/core: 0.10.1)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Starting RPC server
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Available Accounts
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (0) 0xaE7bF1d17021F959c238aC3029cF4019d3128944 (1000 ETH)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (1) 0xaBf299c699EEcBE1ecc08d25a1836CB677fED93F (1000 ETH)
Dec 06 16:10:35 ip-10-0-0-181 systemd[1]: Started ganache.
Dec 06 16:10:35 ip-10-0-0-181 bash[29664]: + DATA_DIR=/home/ubuntu/matic-cli/devnet/data/ganache-db
Dec 06 16:10:35 ip-10-0-0-181 bash[29664]: + ganache --chain.hardfork istanbul --miner.blockTime 1 --database.dbPath /home/ubuntu/matic-cli/devnet/data/ganache-db --wallet.accounts '0x9c08ba1e42bfdd34a017a4bcbf4c92b60e7a497f27>
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ganache v7.9.1 (@ganache/cli: 0.10.1, @ganache/core: 0.10.1)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Starting RPC server
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Available Accounts
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (0) 0xaE7bF1d17021F959c238aC3029cF4019d3128944 (1000 ETH)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (1) 0xaBf299c699EEcBE1ecc08d25a1836CB677fED93F (1000 ETH)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (2) 0xCD612A62C144BaFF8F3A76b499Ccf4F78c94bf0D (1000 ETH)
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Private Keys
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (0) 0x9c08ba1e42bfdd34a017a4bcbf4c92b60e7a497f27534fdb1ac4272c5231d973
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (1) 0x10efc825120aedaa0d7ba3d77a6ec068b63c1893e38f995ee528410a67f8e7a0
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: (2) 0x70529f30cf0444a66590625f13e4138ef67a754fd53a58defebfb38f638d5780
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Default Gas Price
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: 1
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: BlockGas Limit
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: 8000000
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Call Gas Limit
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: 50000000
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Chain
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: ==================
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Hardfork: istanbul
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: Id:       1337
Dec 06 16:10:35 ip-10-0-0-181 bash[29665]: RPC Listening on 0.0.0.0:9545

After a while tho, all accounts (except the first one) report a balance of 0 ETH
First account > correct!

curl http://localhost:9545   -X POST   -H "Content-Type: application/json"   --data '{"method":"eth_getBalance","params":["0xaE7bF1d17021F959c238aC3029cF4019d3128944", "latest"],"id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":"0xffffffffffffffffffffffffffffffda784b6386338c4"}

Second account > 0?!

curl http://localhost:9545   -X POST   -H "Content-Type: application/json"   --data '{"method":"eth_getBalance","params":["0xaBf299c699EEcBE1ecc08d25a1836CB677fED93F", "latest"],"id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":"0x0"}

Third account > 0?!

curl http://localhost:9545   -X POST   -H "Content-Type: application/json"   --data '{"method":"eth_getBalance","params":["0xCD612A62C144BaFF8F3A76b499Ccf4F78c94bf0D", "latest"],"id":1,"jsonrpc":"2.0"}'
{"id":1,"jsonrpc":"2.0","result":"0x0"}

Is this guys something you'll be fixing?
Is there a version (even old one) not affected by this issue?

Thanks

@davidmurdoch
Copy link
Member

@marcello33 Looks like you have a db but changed mnemonics and other start up params. This doesn't work. See: #756

But no, Consensys doesn't maintain Ganache anymore (no one does) and won't be fixing it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants