NOTICE: It's an experiment and a very early draft! Please, feel free to submit your ideas and/or pull requests.
Here is the White Paper.
The license is MIT.
How to Use
Install Ruby 2.2+, Rubygems, and then run:
$ sudo apt-get install ruby-dev rubygems zlib1g-dev
$ gem install zold
For more options and commands you can always use this:
$ zold --help
You will need PGP keys in ~/.ssh
. To generate them (if you don't have them yet):
$ ssh-keygen -t rsa -b 4096
First, create a wallet (instead of 5f96e731e48ae21f
there will be your
person wallet number, use it everywhere below):
$ zold create
5f96e731e48ae21f
Then, give its number to your friend, who is going to pay you.
When the payment is sent, ask him or her for the number of the wallet
the payment has been sent from and then fetch that wallet
(let's say it is 5555444433332222
):
$ zold fetch 5555444433332222
5.00 ZLD added to 5f96e731e48ae21f: To my friend!
Now, you have the money in your wallet!
Next, you can pay your friend back:
$ zold pay 5f96e731e48ae21f 5555444433332222 2.50 'Here is a refund'
-2.50 ZLD added to 5f96e731e48ae21f: Here is a refund
Finally, you have to push your wallet to the network so that your friend knows about the payment:
$ zold push 5f96e731e48ae21f
That's it.
You also can contribute to Zold by running a node on your server. In order to do that just run:
$ zold node --invoice=5f96e731e48ae21f
Grateful users of the system will pay "taxes" to your wallet for the maintenance of their wallets.
How to Contribute
It is a Ruby command line gem. First, install Ruby 2.3+, Rubygems, and Bundler. Then:
$ bundle update
$ rake
The build has to be clean. If it's not, submit an issue.
Then, make your changes, make sure the build is still clean, and submit a pull request.
If some test fails and you need to run it individually,
check the logging configuration inside test__helper.rb
and make
sure the Verbose
log is assigned to $log
. Then, run, for example:
$ ruby test/commands/test_node.rb
If you need to run a single test method, do this:
$ ruby test/test_wallet.rb -n test_adds_transaction