Author Topic: Delegates, start your engines!  (Read 54094 times)

0 Members and 1 Guest are viewing this topic.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
This is a problem/bug with the wallet account mixing up the "id" and "index".
All my delegates (26,27,28,29) had the id=(26,27,28,29) but the index=(3,5,7,9) so when the client is restarted they load with the wrong id (because it's using the index).

Post a PTS address for a tip from BM!
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Any idea WTF this is. Its happend after latest git pull

Code: [Select]
alexxy (unlocked) >>> wallet_list_receive_accounts
NAME                               BALANCE                  KEY                                                             REGISTERED            TRUST LEVEL   
rob                                XTS5UEnYkxWvjHRX4qe16KpYRdwiEBfK51TNJe9UB8FKKjmBkN9cw           2014-06-01T00:00:00   0             
richard                            XTS75TAiDdzhZJQbw8aDtvXGwM1QV3PqbUgjwbEzQQqggJ5EQmiE5           2014-06-01T00:00:00   0             
qq-com                             XTS7Jr9XcHVrvJYGek2FLaRrxz4xkzTyLkDyxVE998EHhwxTz1M1A           2014-06-01T00:00:00   0             
init-delegate-7 (delegate)         XTS5H3qwDsnjm8yoiN1CAQg6LKTnSNuXZDePeGAQSa5CiALSFRFQ8           2014-06-01T00:00:00   0             
init-delegate-3 (delegate)         XTS7bUdQ41J4vhNVBkmbqDKGiftrmQNrL1vCx881Fg4R2hE5r6P2Z           2014-06-01T00:00:00   0             

Seems like its non uniq priv keys!

This is a wallet sync bug. You don't actually own those key =P
But the bad news is that you will have to wipe your wallet after we fix it.

Seems like bitder found the bug:

Quote
This is a problem/bug with the wallet account mixing up the "id" and "index".
All my delegates (26,27,28,29) had the id=(26,27,28,29) but the index=(3,5,7,9) so when the client is restarted they load with the wrong id (because it's using the index).
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline alexxy

  • Full Member
  • ***
  • Posts: 175
    • View Profile
Any idea WTF this is. Its happend after latest git pull

Code: [Select]
alexxy (unlocked) >>> wallet_list_receive_accounts
NAME                               BALANCE                  KEY                                                             REGISTERED            TRUST LEVEL   
rob                                XTS5UEnYkxWvjHRX4qe16KpYRdwiEBfK51TNJe9UB8FKKjmBkN9cw           2014-06-01T00:00:00   0             
richard                            XTS75TAiDdzhZJQbw8aDtvXGwM1QV3PqbUgjwbEzQQqggJ5EQmiE5           2014-06-01T00:00:00   0             
qq-com                             XTS7Jr9XcHVrvJYGek2FLaRrxz4xkzTyLkDyxVE998EHhwxTz1M1A           2014-06-01T00:00:00   0             
init-delegate-7 (delegate)         XTS5H3qwDsnjm8yoiN1CAQg6LKTnSNuXZDePeGAQSa5CiALSFRFQ8           2014-06-01T00:00:00   0             
init-delegate-3 (delegate)         XTS7bUdQ41J4vhNVBkmbqDKGiftrmQNrL1vCx881Fg4R2hE5r6P2Z           2014-06-01T00:00:00   0             

Seems like its non uniq priv keys!
Vote for my delegates! alexxy | lexx
PTS: PmraxfZ852y9oEKrYMLX1ee3e4qRWPUTFC
BTS: alexxy

Xeldal

  • Guest
Fresh server rebuild, error on # make

Code: [Select]
Scanning dependencies of target wallet_tests
[100%] Building CXX object tests/CMakeFiles/wallet_tests.dir/wallet_tests.cpp.o
/root/bitshares_toolkit/tests/wallet_tests.cpp: In member function ‘void master       test::test_method()’:
/root/bitshares_toolkit/tests/wallet_tests.cpp:93:100: error: call of overloade        ‘public_key(bts::blockchain::public_key_type&)’ is ambiguous
       config.balances.push_back( std::make_pair( pts_address((fc::ecc::public_       ey)delegate_account.owner), BTS_BLOCKCHAIN_INITIAL_SHARES/BTS_BLOCKCHAIN_NUM_DE       EGATES) );
                                                                                                          ^
/root/bitshares_toolkit/tests/wallet_tests.cpp:93:100: note: candidates are:
In file included from /root/bitshares_toolkit/libraries/blockchain/include/bts/       lockchain/types.hpp:3:0,
                 from /root/bitshares_toolkit/libraries/blockchain/include/bts/       lockchain/chain_database.hpp:2,
                 from /root/bitshares_toolkit/tests/wallet_tests.cpp:3:
/root/bitshares_toolkit/libraries/fc/include/fc/crypto/elliptic.hpp:49:12: note        fc::ecc::public_key::public_key(fc::ecc::public_key&&)
            public_key( public_key&& pk );
            ^
/root/bitshares_toolkit/libraries/fc/include/fc/crypto/elliptic.hpp:41:12: note        fc::ecc::public_key::public_key(const public_key_data&)
            public_key( const public_key_data& v );
            ^
/root/bitshares_toolkit/libraries/fc/include/fc/crypto/elliptic.hpp:32:12: note        fc::ecc::public_key::public_key(const fc::ecc::public_key&)
            public_key(const public_key& k);
            ^
make[2]: *** [tests/CMakeFiles/wallet_tests.dir/wallet_tests.cpp.o] Error 1
make[1]: *** [tests/CMakeFiles/wallet_tests.dir/all] Error 2
make: *** [all] Error 2

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
we could start filling #bitshares @ freenode .. channel already exists .. no moderators yet, thougth

Offline changematey

  • Jr. Member
  • **
  • Posts: 45
    • View Profile
I am just wondering why not have a dedicated chatroom for this. That way people can help out each other if there are repeated errors and faster resolution can happen. Not everyone need to be logged on all the time - BM/toast can keep working on their fixes and release them in the chatroom when they are ready.

Offline zhangweis

  • Sr. Member
  • ****
  • Posts: 305
    • View Profile
Still failed from switching fork. Any idea?


1784976ms       th_a       switch_to_fork ]     pop 83bdb2434ad8e1f02c043d33871b689a2049ce9e                    chain_database.cpp:432
1784978ms       th_a           push_block ] attempt to switch to fork failed: 13 St12bad_weak_ptr: bad_weak_ptr
bad_weak_ptr:
    {"what":"bad_weak_ptr"}
    th_a  chain_database.cpp:758 pop_block

    {"block_id":"4565f1d3b495212c59fea3390ef944c2fe973ca6"}
    th_a  chain_database.cpp:440 switch_to_fork, reverting                      chain_database.cpp:1005

I can see it's caused by chain_database.cpp line 756 but no further idea.

         if( _observer ) _observer->state_changed(undo_state.shared_from_this());

Edit:

I've temporarily bypassed this by changing it to below:
         if( _observer ) _observer->state_changed((pending_chain_state_ptr&)undo_state);
« Last Edit: June 10, 2014, 01:42:29 pm by zhangweis »
Weibo:http://weibo.com/zhangweis

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani

Offline bitder

  • Full Member
  • ***
  • Posts: 65
    • View Profile
This is a problem/bug with the wallet account mixing up the "id" and "index".
All my delegates (26,27,28,29) had the id=(26,27,28,29) but the index=(3,5,7,9) so when the client is restarted they load with the wrong id (because it's using the index).


look like we are sharing "init-delegate-5 (delegate) " and "init-delegate-7 (delegate)"

anyone can explain it ? must be a bug..... how can we both have the same keys in different wallet

Code: [Select]
wallet_list_receive_accounts
NAME                               BALANCE                  KEY                                                             REGISTERED            TRUST LEVEL   
pan2pan-05                         0.000000 XTS             XTS8T5M76CG8PFopcuSoAkvTfzkGhZMR44Dckd6JB5zYxxde1vqaU           NO                    0             
init-delegate-8 (delegate)         0.000000 XTS             XTS4u3cQJNLS9jDN1mCM9ynLNHQV9PuEVfwA2R95XnV7ZDNjJL89z           2014-06-01T00:00:00   0             
init-delegate-7 (delegate)         0.000000 XTS             XTS5H3qwDsnjm8yoiN1CAQg6LKTnSNuXZDePeGAQSa5CiALSFRFQ8           2014-06-01T00:00:00   0             
init-delegate-6 (delegate)         0.000000 XTS             XTS5vXkQbGLEwaye3ZsLAtMMEe6tkh724nr2zoGHHeAUCsvVeywvc           2014-06-01T00:00:00   0             
init-delegate-5 (delegate)         0.000000 XTS             XTS6tmvXdn2vJss4a4ADVUUi8GbAC37H6HJRcVeFyhzcsRUNyQJGE           2014-06-01T00:00:00   0             



After latest git pull things are starting to work.
I was able to import 4 of my delegate private keys. However I am not seeing these delegates among receive accounts..

These accounts show up, but these are not public keys that correspond to my imported private keys.

Code: [Select]
wallet_list_receive_accounts
NAME                               BALANCE                  KEY                                                             REGISTERED            TRUST LEVEL   
init-delegate-9 (delegate)         XTS6sSu1DhZUxpnoLz1wYvwsowUQpa4zyHFkqo972fKnU6xrEKVx8           2014-06-01T00:00:00   0             
init-delegate-7 (delegate)         XTS5H3qwDsnjm8yoiN1CAQg6LKTnSNuXZDePeGAQSa5CiALSFRFQ8           2014-06-01T00:00:00   0             
init-delegate-5 (delegate)         XTS6tmvXdn2vJss4a4ADVUUi8GbAC37H6HJRcVeFyhzcsRUNyQJGE           2014-06-01T00:00:00   0             
init-delegate-3 (delegate)         XTS7bUdQ41J4vhNVBkmbqDKGiftrmQNrL1vCx881Fg4R2hE5r6P2Z           2014-06-01T00:00:00   0             
"OK"

My public keys are:
Code: [Select]
XTS6ezsAe72hVoMq4mC4fnAAF2XYqprcpt4vZ5nkqUoZn8xsSWB5Z
XTS72Xc5wBYmWQrAqcPoU6RSEegB3CosNh82wbf4QkKquJtbhgPWL
XTS7DeMWhGV8P7oiKoigtGqFKDfauB83Nrxy5FpMwLEjMw7wC8UVe
XTS73iK3RkkijdfgzH5mioB4wzWFNsmsvwtsNPnkoHAApHK6cbMz3

Am I missing something?

Me too
wallet_account_set_approval delegate.bitder 1

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Either I was on a fork yesterday, producing several dozens of blocks,
or I am on a fork now (latest git-head) and produced only a few blocks

Offline alexxy

  • Full Member
  • ***
  • Posts: 175
    • View Profile
I think its better to use founder code for keyhotee import =\
Vote for my delegates! alexxy | lexx
PTS: PmraxfZ852y9oEKrYMLX1ee3e4qRWPUTFC
BTS: alexxy

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Keyhotee  import:
I registered with the name 'XeRoc'

Result:
Code: [Select]
default (unlocked) >>> wallet_import_keyhotee "Fabian" "" "NAME" "SECRET" "XeRoc"
10 assert_exception: Assert Exception
is_valid_account_name( keyhoteeid ):
    {}
    th_a  wallet.cpp:2110 import_keyhotee
error creating private key using keyhotee info.
    {"firstname":"Fabian","middlename":"","lastname":"NAME","brainkey":"SECRET","keyhoteeid":"XeRoc"}
    th_a  wallet.cpp:2121 import_keyhotee

    {}
    th_a  common_api_client.cpp:272 wallet_import_keyhotee

    {"command":"wallet_import_keyhotee"}
    th_a  cli.cpp:577 execute_command

I tried using lower case letters for the username:
Code: [Select]
default (unlocked) >>> wallet_import_keyhotee "Fabian" "" "NAME" "SECRET" "xeroc"
10 assert_exception: Assert Exception
!"Account name is already registered under a different key":
    {}
    th_a  wallet.cpp:708 add_contact_account

    {"account_name":"xeroc","key":"XTS6pspjV35izHwn5wKqDXeSbDWCoPTUunMP26NUMmQgGrAeMmdBA"}
    th_a  wallet.cpp:736 add_contact_account

    {"account_name":"xeroc"}
    th_a  wallet.cpp:841 import_private_key
error creating private key using keyhotee info.
    {"firstname":"Fabian","middlename":"","lastname":"NAME","brainkey":"SECRET","keyhoteeid":"xeroc"}
    th_a  wallet.cpp:2121 import_keyhotee

    {}
    th_a  common_api_client.cpp:272 wallet_import_keyhotee

    {"command":"wallet_import_keyhotee"}
    th_a  cli.cpp:577 execute_command

I suspect there is an issue with the letter-case as 'xeroc' is registered as founder, but I need to generate my key using 'XeRoc'?!?

Offline zhangweis

  • Sr. Member
  • ****
  • Posts: 305
    • View Profile
Still failed from switching fork. Any idea?


1784976ms       th_a       switch_to_fork ]     pop 83bdb2434ad8e1f02c043d33871b689a2049ce9e                    chain_database.cpp:432
1784978ms       th_a           push_block ] attempt to switch to fork failed: 13 St12bad_weak_ptr: bad_weak_ptr
bad_weak_ptr:
    {"what":"bad_weak_ptr"}
    th_a  chain_database.cpp:758 pop_block

    {"block_id":"4565f1d3b495212c59fea3390ef944c2fe973ca6"}
    th_a  chain_database.cpp:440 switch_to_fork, reverting                      chain_database.cpp:1005
Weibo:http://weibo.com/zhangweis

Offline taoljj

  • Full Member
  • ***
  • Posts: 177
    • View Profile
I guess I'm on a fork too.
...
seems it's another fork which is diferent with me.
I am wondering what's the rules to decide which chain is valid?

Now the correct blockchain is ?
BTS      Witness: delegate.taoljj

Offline spartako

  • Sr. Member
  • ****
  • Posts: 401
    • View Profile
I have all my delegates working (init-delegate-21,init-delegate-22,init-delegate-23,init-delegate-24) and it seems they are producing blocks correctly, but the commands wallet_get_account and blockchain_get_account_record returns different results:

Code: [Select]
default (unlocked) >>> wallet_get_account init-delegate-24
{
  "index": 9,
  "id": 24,
  "name": "init-delegate-24",
  "public_data": null,
  "owner_key": "XTS6o9KsYFpuPLQy9HCZGJrsxhnSFrv4DN4C3XNmb3kknFXikBBPP",
  "active_key_history": [[
      "19700101T000000",
      "XTS6o9KsYFpuPLQy9HCZGJrsxhnSFrv4DN4C3XNmb3kknFXikBBPP"
    ]
  ],
  "delegate_info": {
    "votes_for": 117356745667,
    "votes_against": 0,
    "blocks_produced": 20,
    "blocks_missed": 15,
    "pay_balance": 223970,
    "next_secret_hash": "df60b5410b574fb0cde0e23d81122bdd28807db4",
    "last_block_num_produced": 1088
  },
  "registration_date": "20140601T000000",
  "last_update": "20140601T000000",
  "meta_data": null,
  "account_address": "XTSBCsSS9k3gX7mAPcPQM6Qg2Rpnisr4KWRi",
  "trust_level": 0,
  "private_data": null
}

Code: [Select]
default (unlocked) >>> blockchain_get_account_record init-delegate-24
{
  "id": 24,
  "name": "init-delegate-24",
  "public_data": null,
  "owner_key": "XTS6o9KsYFpuPLQy9HCZGJrsxhnSFrv4DN4C3XNmb3kknFXikBBPP",
  "active_key_history": [[
      "19700101T000000",
      "XTS6o9KsYFpuPLQy9HCZGJrsxhnSFrv4DN4C3XNmb3kknFXikBBPP"
    ]
  ],
  "delegate_info": {
    "votes_for": 117357876741,
    "votes_against": 0,
    "blocks_produced": 59,
    "blocks_missed": 15,
    "pay_balance": 1355044,
    "next_secret_hash": "bfbadf92bacf4846725b81e31f8b45123f4c6246",
    "last_block_num_produced": 2708
  },
  "registration_date": "20140601T000000",
  "last_update": "20140601T000000",
  "meta_data": null
}


I think the blockchain_get_account_record is the correct one.
wallet_account_set_approval spartako