Eos: when I commit deploy a contract on blockchain, "Error 3030002: signatures do not satisfy declared authorizations" occurs!

Created on 25 Apr 2018  Â·  9Comments  Â·  Source: EOSIO/eos

After I write debug.cpp and debug.hpp, compile debug.cpp to debug.wast by eosiocpp -o ${contract}.wast ${contract}.cpp. when I deploy the debug contract error occur!
Details are as follows:
cleos set contract debug /Users/changlingyi/eos/build/tools/debug/
Reading WAST...
Assembling WASM...
Publishing contract...
Error 3030002: signatures do not satisfy declared authorizations
Ensure that you have the related private keys inside your wallet and you wallet is unlocked.
Error Details:
transaction declares authority '{"actor":"debug","permission":"active"}', but does not have signatures for it.

I have checked that have the related private keys inside your wallet and you wallet is unlocked.
what should I do?give me some suggestion!

Most helpful comment

"permissions" array for "debug" is empty, so it seems you haven't created an account for "debug". Also, you will need to create new wallet / open existing wallet first before importing keys.

  1. Create wallet cleos wallet create (store the password somewhere safe)
  2. If you call cleos wallet keys you should see bios key inside your wallet by default
  3. Since you have bios keys inside your wallet, we can use bios account to create a new account, call cleos create account eosio debug <debug_owner_public_key> <debug_active_public_key>. You can generate new public_key by using cleos create key by the way.
  4. After that, import debug's active key by calling cleos wallet import <debug_active_private_key>
  5. Try to set the contract again!

Hope this helps :)

All 9 comments

Seems like you don't have debug's active key inside your wallet.
Can you check it via
cleos wallet keys
and also
cleos get account debug?

Yeah, you are right!

cleos wallet keys
[]
cleos get account debug
{
"account_name": "debug",
"permissions": []
}
what should I do?
cleos wallet import ActivePrivatekey?
but when I import ActivePrivatekey,Error occur.
'''
cleos wallet import 5KPra87WDiSYWtYC5JSKAvoJM5bmZpWcSarBLrvdKovoq1Bk4Wm

Error 3140002: Nonexistent wallet
Are you sure you typed the name correctly?
Error Details:
Wallet not found: default.
'''
my wallet is default.

"permissions" array for "debug" is empty, so it seems you haven't created an account for "debug". Also, you will need to create new wallet / open existing wallet first before importing keys.

  1. Create wallet cleos wallet create (store the password somewhere safe)
  2. If you call cleos wallet keys you should see bios key inside your wallet by default
  3. Since you have bios keys inside your wallet, we can use bios account to create a new account, call cleos create account eosio debug <debug_owner_public_key> <debug_active_public_key>. You can generate new public_key by using cleos create key by the way.
  4. After that, import debug's active key by calling cleos wallet import <debug_active_private_key>
  5. Try to set the contract again!

Hope this helps :)

Thank you very much! I will have a try!

Hi I am getting the same error while creating a new account.

When I try to create an account, following error shows.

Error 3090003: provided keys, permissions, and delays do not satisfy declared authorizations
Ensure that you have the related private keys inside your wallet and your wallet is unlocked.

My wallet is unlocked and it has the required keys. Why this happens?

@rameshb444 do you have the private key of the account creator in your wallet?

@andriantolie my issue is resolved by following these steps https://github.com/EOSIO/eos/issues/4210 .

Awesome :)

@rameshb444 I am also facing the same issue...Did you resolve the issue?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

IvanYakimov picture IvanYakimov  Â·  3Comments

Npizza picture Npizza  Â·  3Comments

yashbhavsar007 picture yashbhavsar007  Â·  3Comments

dimakomar picture dimakomar  Â·  3Comments

jiazechen picture jiazechen  Â·  3Comments