EOSIO / eos

An open source smart contract platform
https://developers.eos.io/manuals/eos
MIT License
11.27k stars 3.6k forks source link

wallet always empty #5405

Closed ldupisani closed 5 years ago

ldupisani commented 6 years ago

Same as this issue:

https://github.com/EOSIO/eos/issues/2989

But none of the solutions presented worked for me:

Following this tutorial:

https://eosio-nodeos.readme.io/docs/docker-quickstart

adding: --wallet-url http://localhost:8888

to the alias also didn't work either

I just ended up getting:

Error 3110002: Missing Wallet API Plugin Ensure that you have eosio::wallet_api_plugin added to your node's configuration! Otherwise specify your wallet location with --wallet-url argument! Error Details: Wallet is not available

Also, opening and unlocking wallets didn't make any difference.

I was hoping it was the list function, but trying to write keys to unlocked wallets also failed.

ksngits commented 6 years ago

Yes, I am facing the same issue and none of the suggestions working.

I am able to unlock using the password and still i am unable to list the wallets

k5trismegistus commented 6 years ago

Same situation... I can create and unlock wallet, but cleos wallet list returns empty list and cleos wallet lock raises Error 3120002: Nonexistent wallet...

k5trismegistus commented 6 years ago

I managed to work.

First, use v1.1.5 image

> docker pull eosio/eos-dev:v1.1.5

and run contaier with this (specify plugin eosio::wallet_api_plugin and eosio::wallet_plugin)

docker run --rm --name eosio -it -p 8888:8888 -p 9876:9876 -v /tmp/work:/work -v /tmp/eosio/data:/mnt/dev/data -v /tmp/eosio/config:/mnt/dev/config eosio/eos-dev:v1.1.5  /bin/bash -c "nodeos -e -p eosio --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin  -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=0.0.0.0:8888 --access-control-allow-origin=* --contracts-console --http-validate-host=false"

then, create alias as this

alias cleos='docker exec -it eosio /opt/eosio/bin/cleos -u http://localhost:8888 --wallet-url http://localhost:8888'

Now, cleos wallet list returns created wallet!

> cleos wallet list
Wallets:
[
  "default *"
]
zachalam commented 6 years ago

I am fairly certain that either: a) something is wrong with the 'alias' for cleos provided in the documentation (available here: https://developers.eos.io/eosio-nodeos/docs/docker-quickstart). b) keosd should not be "re-launching" before each cleos command.

Here is the alias provided in the quickstart, and it's results:

alias cleos='docker exec -it eosio /opt/eosio/bin/cleos -u http://localhost:8888'
root@eos:~# cleos wallet create
"/opt/eosio/bin/keosd" launched
Error 3120001: Wallet already exists
Try to use different wallet name.
root@eos:~# cleos wallet list
"/opt/eosio/bin/keosd" launched
Wallets:
[]

For those in need of a temporary solution, you can SSH into the running docker container and access the wallet list completely fine using cleos.

docker exec -it eosio /bin/bash
root@436f779f7d52:/# cleos wallet list
Wallets:
[
  "default *"
]

If anyone has a solution for the docker quickstart, please share!

sensay-nelson commented 6 years ago

I have found with a fresh start of kleosd, the wallet needs to be "opened" before it will be listed as available for unlock.

$ cleos wallet list
Wallets:
[]

$ cleos wallet open
Opened: default

$ cleos wallet list
Wallets:
[
  "default"
]
andriantolie commented 5 years ago

The document has changed a lot since this issue is posted. Please take a look at the newest document https://developers.eos.io/eosio-nodeos/docs/docker-quickstart