First off, I want to say that the Chia Light wallet is currently in beta, and I shouldn’t be using it for production work. That part is on me. But at the same time, it is the only way to interface with CATs, although a browser extension wallet is being developed. So when I made my decision to give away a pile of Chia Asset Tokens as a holiday giveaway I basically locked myself into using it.
Right off the bat people who loaded up their original full wallet into the Chia light wallet noticed some oddities and weird issues. First, it took a REALLY long time to sync on a wallet full of transactions. This I can confirm. Right now it takes upwards of half an hour to an hour to sync my wallet because of number of transactions I have sent through it.
The worst though is that if you share keys between a full wallet and a light wallet they won’t see the same balances or transactions. This is frankly amazing, and people have posted many issues to github and reddit describing the issue, as you can see by those links. Chia employee Earl Lowe has closed all those issues saying that this is expected behaviour and not an issue. I beg to differ, because if it is expected behaviour then it is incredibly stupid. This is a terrible, dangerous user experience for financial software and the light wallet should never have been released with the capability to import master keys and generate addresses that their original wallet can’t see. I am not sure who approved this, but they should retract that approval.
Even though that’s definitely the dumbest problem with the light wallet, its not the problem that caused me the most grief. That is how damn slow it gets once there are lots of transactions in the history. With XCH you can create bigger spendbundles with multiple transactions and do things a lot smarter than I was doing for my giveaway. But with CATs you cannot. The only way to send a CAT is through the GUI or one at at time through the CLI. and it can take minutes for the balance to properly reflect between transactions. In my original script I was waiting 30 seconds between commands, which left 90 seconds between transactions on each wallet. That wasn’t enough and caused me a ton of issues. I had to wait like an hour for my wallet to sync, manually figure out what had gone wrong, catch up the gaps in my list manually and then extend the wait between the command to 2 minutes (6 minutes between each transaction on a single wallet). After my last article on the issues I was having the lead developer of Chives reached out to me and sent me some code they had merged into their fork of the Chia light wallet in order to send CATs en masse. I didn’t have so many transactions I had to go that far, but its obviously doable to make this a better experience. It just isn’t done.
This is nuts. Right now I am either the only, or one of the only businesses using XCH day to day. I pay writers and contractors in XCH. I pay for services and sell advertising in XCH. And it makes sense for me to, because of the nature of this site. But beyond that the experience of using XCH for day to day transactions is atrocious. The full wallet requires an entire node to support it, the light wallet is trash (hopefully they will fix it while its still in beta, but as it stands now – trash). And the other options all rely on central services to operate. If I move to Nucle or Arbor wallet for my day to day operations and they have server difficulties on a day I need to make payments there isn’t much I can do. Also they don’t support CATs yet.
Again, this wallet is beta software. Everything is Beta right now. There are no guarantees. But it is the only gateway into the token ecosystem that has begun to emerge and it needs to be better. People are going to need to load their farming wallets, with possibly 1000s of transactions, into the Chia light wallet in order to claim their Christmas Holiday 2021 tokens from Chia Network, and they are almost all going to have a terrible experience. I doubt that was considered when the token plan was hatched, but it is what it is now.
Great points.
emlowe wrote this: “This behavior is expected (but is admittedly unfortunate, however, it’s the cost to move to a derivation model that allows for some other functionality – like observer-only wallets)”
While the Chia Network employees might expect this behavior it is hard to imagine that most users will expect (or accept) this behavior. Seems like a high cost to pay for this “other functionality”. I read on the reddit article that if you resync the main wallet via CLI, those transactions should show up, but I’ve not verified this works.
Update: Resyncing the wallet didn’t get the the balances to match.
The light wallet will be merged into the mainline soon, before the holiday CATs are redeemable, so that’s not a big concern. I think this is all fair because it’s a beta wallet. I think “inexcusable” would be burning coins; having them hidden from the mainline wallet is not the end of the world.
And it’s easily fixable by sending the whole balance to yourself on a receive address known to the mainline wallet.
Also, if you write a bit of Python, it’s easy to generate a Spendbundle for a bunch of CATs. Another perk of a beta 🙂