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.
Join our Telegram group to discuss it all live.
The license is MIT.
How to Use
To make sure it's installed, try:
$ zold --help
You will need PGP private and public keys in
If you don't have them yet, run this in order to generate a new pair
(just hit Enter when it asks you for a password):
$ ssh-keygen -t rsa -b 4096
Then, create a new wallet (instead of
5f96e731e48ae21f there will be your
personal wallet ID, use it everywhere below):
$ zold create 5f96e731e48ae21f
Then, push it to the network:
$ zold push 5f96e731e48ae21f
Then, give this ID to your friend, who is going to pay you.
When the payment is sent, ask him or her for the ID of the wallet
the payment has been sent from and then fetch that wallet
(let's say it is
$ 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
You also can contribute to Zold by running a node on your server.
In order to do that just run (with your own wallet ID, of course,
and your own public IP address instead of
$ zold node --trace --verbose --invoice=5f96e731e48ae21f --host=18.104.22.168
Then, open the page
22.214.171.124:4096 in your browser
(you may need to open the inbound port at your
If you see a simple JSON document, everything is fine.
Next, hit Ctrl+c and run it again, but instead
zold-nohup and add an ampersand (
&) at the end:
$ zold-nohup node --trace --verbose --invoice=5f96e731e48ae21f --host=126.96.36.199 &
Now you can close console, it will work in the background, saving the
output logs to
nohup.out. The software will update itself automatically to new versions.
Grateful users of the system will pay "taxes" to your wallet for the maintenance of their wallets, and the system will occasionally send you rewards for keeping the node online (approximately 1 ZLD per day).
Frequently Asked Questions
Where are my PGP private/public keys?
They are in
~/.ssh/id_rsa (private key) and
~/.ssh/id_rsa.pub (public key).
Make sure you have a copy of your private key in some safe place.
If you lose the public key, it's not a problem, since your wallet has it.
But the private key is your personal asset.
Anyone can use your wallet if they have the private key.
Keep it safe and secure!
What is the best way to check the balance of the rewards collected by nodes?
You just do
zold pull <Wallet_ID> and the rewards (taxes) will be visible there.
Can I setup multiple nodes with one wallet address?
Yes, you can run many nodes with the same wallet ID.
Is there a way to increase the number of threads in order to maximize computing power of multiple core machines?
Yes, you can use
--threads command line argument for your node
and the number of threads will be as big as you wish.
How to Contribute
$ 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
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