Simple "wallet" scripts


#1

Hi all! I have seen a number of people having issues with the Public Alpha Guide over the past few weeks, so to make things easier I have written up some scripts that automate various parts of the guide (issue #502). They can be used as a very basic "wallet". You can find them in the following branch (they will end up in the main repository once PR #772 is merged):

https://github.com/str4d/zcash/tree/zc-ui-utils

To use the scripts, you need to be in the base directory of the repository; that is, after building Zcash, simply run:

./zcutils/zc-create-address.sh

etc.

I would love to get some feedback on these scripts, both in terms of how usable they are, and how well the abstraction of Zcash-specific functionality is handled. While I can't guarantee that the specific API provided by them will ever be used in a future proper wallet, it would be great if we can start getting some user feedback on how these concepts are presented :slight_smile:


Zcash wallet (simple)
#2

ha! I wish I had seen this post sooner.

I went ahead and created my own script to protect the coins.
here: https://github.com/dan-da/zcash-util

I wouldn't have bothered if I had found your scripts first. But at least it was a fun exercise.

I see you have a script for finding the balance. nice! I was wondering how to do that.

I have tried running it yet, but calling zcrawreceive in a loop looks slow........


#3

suggestion: update the zcash readme and public alpha guide with a link to these scripts so noobs like myself don't feel compelled to re-invent the wheel.


#4

Str4d,

This is my feedback of the wallet scripts. Thank you for making this.

Now I can mine and also can receive payment, so I want to try last part of Public Alpha Guide. It totally made me confuse about how to move coins from a transparent address to a protected address.

So I gave it try to use your wallet scripts. I am a totally beginner on Linux command lines. So please tell me if I am doing wrong. It will probably help beginners like me coming to join Zcash community in the near future.

Installation:
I didn't know the command line to install the wallet scripts, so I just went to the github page, downloaded the zip file, and un-zipped. Then I copied and pasted the files to zcash folder on Ubantu GUI- I don't think it is a good way to install them. Is there any better ways to install using command lines?


#5

Creating address:
I could create zcash address easily.
Initially I copied and pasted the command above, but it didn't work.

./zcutils/zc-create-address.sh

Then realized that it should be

./zcutil/zc-create-address.sh

Eg.

aliberalvoluntarist@aliberalvoluntarist-MacBookAir:~/zcash2$ zcutil/zc-create-address.sh
Making new Zcash address...
Address generated. In other commands, use address number 5 to use this address.


#6

To see the zcash addresses:

This command worked.

aliberalvoluntarist@aliberalvoluntarist-MacBookAir:~/zcash2$ zcutil/zc-list-addresses.sh
1: 20793adaeb47b898596d2b817c0c756f3d0b144cf9232da310a80937020c5a2e27fd3401308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000


#7

Protecting coins:

This was my goal today, but I am not sure it is working or not. I got some errors like below. Do I need to do anything before protecting coins?

aliberalvoluntarist@aliberalvoluntarist-MacBookAir:~/zcash2$ zcutil/zc-protect.sh 3 68f23e9f0e7ed694beac2909f6174bd8b84dddfaa52d50e108d0dce8667fc6cf
Total coins to protect:
Enter fee (default: 0.1): 0.1
File "", line 1
0.1 >=
^
SyntaxError: invalid syntax
Protecting transparent coins...
error: Error parsing JSON:[{"txid":"","vout":}]
error: Error parsing JSON:
error: {"code":-8,"message":"argument 1 must be hexadecimal string (not '')"}
Sending transaction...
error: {"code":-22,"message":"TX decode failed"}
Coins protected in transaction .
You must wait for this transaction to enter a block before you can use your Zcash.


#8

@aLiberalVoluntarist I don't have any experience with those scripts. Maybe the author can help you. Or you can try the scripts I wrote. See link in my comment above.