Author Topic: DVS Light Wallet for Mac Open Beta  (Read 33005 times)

0 Members and 1 Guest are viewing this topic.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
@modprobe, is there a way for me recover my account from the brain-key? I want to see if get my full transaction history to reappear if I get rid of "~/.local/share/DevShares/BitShares DVS Light Wallet/wallet_data.json" but when I do it forces me register a new account. I see no option of recovering an existing account. Is that not yet built into the light wallet?

Offline clayop

  • Hero Member
  • *****
  • Posts: 2033
    • View Profile
    • Bitshares Korea
  • BitShares: clayop
This makes sense. Then GO!  8)
Bitshares Korea - http://www.bitshares.kr
Vote for me and see Korean Bitshares community grows
delegate-clayop

Offline modprobe

And only 21 of those 35 registered accounts, and several of those never sent a transaction from the light wallet. So is anyone having trouble?

But I also note that the LW is currently very simple, so there's not much *to* test. The fact that 21 people registered accounts and many of them sent transactions to and from their wallets without reporting serious problems tells me that it's working pretty well so far, which was really the point of this release: get a minimal, useful product out there which is simple enough to be quick and easy to fully test.

Offline clayop

  • Hero Member
  • *****
  • Posts: 2033
    • View Profile
    • Bitshares Korea
  • BitShares: clayop
That's the plan! :)

We're planning to release a beta of the LW on BitShares. Are there any critical issues in the light wallet that have been found which need to be fixed prior to releasing on the live BitShares network?

Unfortunately, there were only 35 downloads of DVS LW. I don't think we passed enough test. This can be reverting my argument, but we need windows binary to have enough test bed.
Bitshares Korea - http://www.bitshares.kr
Vote for me and see Korean Bitshares community grows
delegate-clayop

Offline modprobe

That's the plan! :)

We're planning to release a beta of the LW on BitShares. Are there any critical issues in the light wallet that have been found which need to be fixed prior to releasing on the live BitShares network?

Offline clayop

  • Hero Member
  • *****
  • Posts: 2033
    • View Profile
    • Bitshares Korea
  • BitShares: clayop
I'm afraid not, clayop. I spent about 5 hours on monday trying to get our windows dev box to build something, but neither I nor the resident windows user could get it working. Maybe cgafeng can give you a binary? At some point, we'll have to get the light wallet integrated into our normal windows build process, but we haven't done that yet.

Thanks. Keep working on LW and forget about windows binary! :)
Bitshares Korea - http://www.bitshares.kr
Vote for me and see Korean Bitshares community grows
delegate-clayop

Offline modprobe

I'm afraid not, clayop. I spent about 5 hours on monday trying to get our windows dev box to build something, but neither I nor the resident windows user could get it working. Maybe cgafeng can give you a binary? At some point, we'll have to get the light wallet integrated into our normal windows build process, but we haven't done that yet.

Offline clayop

  • Hero Member
  • *****
  • Posts: 2033
    • View Profile
    • Bitshares Korea
  • BitShares: clayop
No news about windows client?
Bitshares Korea - http://www.bitshares.kr
Vote for me and see Korean Bitshares community grows
delegate-clayop

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
To clarify, the light wallet always reports your balance correctly, but not always your history?

Correct.

I don't suppose you collected the command line output around said crash, or maybe even a backtrace, did you? :]

Unfortunately not. : (

Offline modprobe

Quote
Since all of this information is recorded in the blockchain and associated to the active key of the light wallet accounts, why can't the light wallet client simply query the light wallet server to give it all the raw transactions from the blockchain that are associated with its public active key? Then the light wallet could reconstruct the transaction history even if didn't store it locally.
That's exactly what it does, although it caches things based on time, so I'm guessing your cache got damaged in the crash. Right now I'm just using FC to do persistence, but I think I need something a little more capable. I'll look into this. To clarify, the light wallet always reports your balance correctly, but not always your history? It's designed to be a bit more careful about reporting the balance correctly, so I'm glad that's working as intended.

I am curious about that crash, though. I haven't seen any crashes except crashes on exit. I don't suppose you collected the command line output around said crash, or maybe even a backtrace, did you? :]

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Now, I see that there was a commit just one hour ago that may solve this bug. When I posted "Great, I'm building now." I had already started the build, and now I realize I was building an older commit than the one you referenced (c6b6e4624d19a65cba0464aa06490f88f1a34b78). I guess it's time to build again...

Okay all clients running on new build (c6b6e4624d19a65cba0464aa06490f88f1a34b78). The transaction history in the full client is back. It now correctly interprets the back and forth transfers I made today (arhag -> arhag-light -15 DVS, arhag-light -> arhag +13 DVS), but it still inaccurately reports the transfer I did last time from the light wallet to the full client as (arhag -> arhag-light -8 DVS) which also then screws up the balances reported with "wallet_account_transaction_history". This remains true after full blockchain rescan (which btw brought back my lost vote_all transaction). And even more strange is that the balance of the most recent transaction in the GUI transaction history starts off consistent with that from "wallet_account_transaction_history" after refresh but then is for some reason replaced after a little bit of time by the amount that was sent in that transaction (e.g. 13 DVS).

The light wallet did not show the +15 DVS and -13 DVS transactions I made today. I tried repeating again with 20 DVS from arhag to arhag-light and 18 DVS from arhag-light to arhag. From the perspective of the full client everything went smoothly and those transactions accurately appeared in the transaction history. The light wallet was able to recognize the 20 DVS transfer to it with the included memo and sender info. I then initiated the 18 DVS transfer back to arhag. Once I hit confirm the light wallet segfaulted, but apparently the transaction went through anyway (as confirmed by my full client and dvs.bitsharesblocks.com). When I reload the light wallet the balance is 0 DVS as it should be, but when I look at the transaction history, not only are the two transactions I said were missing last time (+15 DVS and -13 DVS) still missing but the transaction where I received +20 DVS (which was in the transaction history in the light wallet before the segfault) is gone too (and of course the -18 DVS transaction isn't there as well).

Since all of this information is recorded in the blockchain and associated to the active key of the light wallet accounts, why can't the light wallet client simply query the light wallet server to give it all the raw transactions from the blockchain that are associated with its public active key? Then the light wallet could reconstruct the transaction history even if didn't store it locally.
« Last Edit: February 03, 2015, 01:30:28 am by arhag »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Accounts can publish their preference to be a "public_account" or "titan_account". TITAN deposits should only be sent to registered accounts with the latter preference (but the current BTS release right now also attempts TITAN in other cases I believe). If you look at the spec for "wallet_account_register", it currently defaults to titan. You can update your preference using "wallet_account_update_registration". I'm not sure if the GUI currently shows the preference anywhere, or even if it's currently pretty printed in the CLI. If you do "enable_raw" to get the raw json output then do "blockchain_get_account <name>", you should be able to see the current setting. Light wallet always registers as public_account.

Thanks for your help. Although, the help for "wallet_account_update_registration" doesn't appear to allow an "account_type" argument.

I sent some DVS from arhag to arhag-light using the GUI and then sent it back (minus fees), which worked fine (as far as the balances are concerned).

Of course, now there is a different issue where the transactions are not showing up in the light wallet or the full client. In fact, none of the old transaction history is showing up in this new build of the full client (as of this commit). The output of "wallet_account_transaction_history" is:
Code: [Select]
>> wallet_account_transaction_history

20017 invalid_name: invalid account name
Invalid account name!
    {"account_name":"GENESIS"}
    th_a  wallet.cpp:809 is_valid_account

    {}
    th_a  transaction_ledger.cpp:1618 get_pretty_transaction_history

    {}
    th_a  wallet_api.cpp:979 wallet_account_transaction_history

    {}
    th_a  common_api_client.cpp:3474 wallet_account_transaction_history

    {"command":"wallet_account_transaction_history"}
    th_a  cli.cpp:626 execute_command

Now, I see that there was a commit just one hour ago that may solve this bug. When I posted "Great, I'm building now." I had already started the build, and now I realize I was building an older commit than the one you referenced (c6b6e4624d19a65cba0464aa06490f88f1a34b78). I guess it's time to build again...

Offline vikram

Great, I'm building now. And I assume that also works from the GUI?

It should.

Can you provide more detail on this? What do I need to do to check this and change it if necessary? And specifically, what about accounts created with the light wallet? Are they public_accounts by default? I assume they should be because the light wallet can't handle TITAN and certainly doesn't currently provide any way to run advanced console commands.

Accounts can publish their preference to be a "public_account" or "titan_account". TITAN deposits should only be sent to registered accounts with the latter preference (but the current BTS release right now also attempts TITAN in other cases I believe). If you look at the spec for "wallet_account_register", it currently defaults to titan. You can update your preference using "wallet_account_update_registration". I'm not sure if the GUI currently shows the preference anywhere, or even if it's currently pretty printed in the CLI. If you do "enable_raw" to get the raw json output then do "blockchain_get_account <name>", you should be able to see the current setting. Light wallet always registers as public_account.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
If you pull latest devshares branch (c6b6e4624d19a65cba0464aa06490f88f1a34b78 right now which should be good), you should just be able to do a normal wallet_transfer to arhag-light,

Great, I'm building now. And I assume that also works from the GUI?

assuming that it's set to a "public_account" on the blockchain.

Can you provide more detail on this? What do I need to do to check this and change it if necessary? And specifically, what about accounts created with the light wallet? Are they public_accounts by default? I assume they should be because the light wallet can't handle TITAN and certainly doesn't currently provide any way to run advanced console commands.

Offline vikram

So what command should I use to properly (non-TITAN) send funds to a light wallet account with memo and sender info working?

If you pull latest devshares branch (c6b6e4624d19a65cba0464aa06490f88f1a34b78 right now which should be good), you should just be able to do a normal wallet_transfer to arhag-light, assuming that it's set to a "public_account" on the blockchain.