zold 0.23.5 → 0.23.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +9 -5
- data/fixtures/scripts/push-and-pull.sh +1 -1
- data/fixtures/scripts/spread-wallets.sh +1 -1
- data/lib/zold/commands/pay.rb +10 -3
- data/lib/zold/commands/rebase.rb +5 -2
- data/lib/zold/patch.rb +2 -2
- data/lib/zold/version.rb +1 -1
- data/test/commands/test_pay.rb +8 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a34afacddd1a7754e904735a1260ae2502c12fd814bcc99df8b2f473442b1d67
|
4
|
+
data.tar.gz: 17cfee268ef91e6e2cfdbdf0b8a9a221c9728baedb9daaf93244fc3a85a7b9d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41b0e2d1c097cbb41588659b5baa5c0025bec91ae2f5fbb66a38678902bdbcff70dddc4194fb6c5ddad12ff83b024cc48d74802aebc948292f11d2f303181c2b
|
7
|
+
data.tar.gz: 07dd8014a170aa39ca0536564b66a4a7b2ea5321f6319d76d83c2f5ee3f4656cc66667a1a4ca58fc336e9b341844539626045bca631c7b1616ed6c2043dda322
|
data/README.md
CHANGED
@@ -127,19 +127,23 @@ If you are lost, run this:
|
|
127
127
|
$ zold node --help
|
128
128
|
```
|
129
129
|
|
130
|
-
You can run a node in a docker container also.
|
130
|
+
You can run a node in a docker container also, using [yegor256/zold](https://hub.docker.com/r/yegor256/zold)
|
131
|
+
built from this [Dockerfile](https://github.com/zold-io/zold/blob/master/Dockerfile).
|
131
132
|
|
132
133
|
```bash
|
133
|
-
docker run -d -p 4096:4096
|
134
|
+
docker run -d -p 4096:4096 yegor256/zold /node.sh --host=<your host IP> --invoice=5f96e731e48ae21f
|
134
135
|
```
|
135
136
|
|
136
|
-
To store zold data between container restarts create a volume or bind a directory from host
|
137
|
+
To store zold data between container restarts create a volume or bind a directory from host:
|
137
138
|
|
138
139
|
```bash
|
139
|
-
docker volume create zold
|
140
|
-
docker run -d -p 4096:4096 -v zold:/zold
|
140
|
+
docker volume create zold
|
141
|
+
docker run -d -p 4096:4096 -v zold:/zold yegor256/zold /node.sh --host=<your host IP> --invoice=5f96e731e48ae21f
|
141
142
|
```
|
142
143
|
|
144
|
+
You may find this blog post useful:
|
145
|
+
[How to Run Zold Node?](https://blog.zold.io/2019/01/10/how-to-run-node.html)
|
146
|
+
|
143
147
|
## Frequently Asked Questions
|
144
148
|
|
145
149
|
> Where are my RSA private/public keys?
|
@@ -21,7 +21,7 @@ zold remote show
|
|
21
21
|
zold --public-key=id_rsa.pub create 0000000000000000
|
22
22
|
target=$(zold create --public-key=id_rsa.pub)
|
23
23
|
invoice=$(zold invoice ${target})
|
24
|
-
zold pay --private-key=id_rsa 0000000000000000 ${invoice} 14.
|
24
|
+
zold pay --private-key=id_rsa 0000000000000000 ${invoice} 14.99Z 'To save the world!'
|
25
25
|
zold propagate
|
26
26
|
zold propagate 0000000000000000
|
27
27
|
zold show
|
@@ -23,7 +23,7 @@ zold --home=${first} remote add 127.0.0.1 ${second}
|
|
23
23
|
zold --home=${second} remote add 127.0.0.1 ${first}
|
24
24
|
|
25
25
|
zold --public-key=id_rsa.pub create 0000000000000000
|
26
|
-
zold pay --private-key=id_rsa 0000000000000000 NOPREFIX@aaaabbbbccccdddd
|
26
|
+
zold pay --private-key=id_rsa 0000000000000000 NOPREFIX@aaaabbbbccccdddd 4000000z 'To help you, dude!'
|
27
27
|
zold remote clean
|
28
28
|
zold remote add 127.0.0.1 ${first}
|
29
29
|
zold push 0000000000000000 --tolerate-edges --tolerate-quorum=1
|
data/lib/zold/commands/pay.rb
CHANGED
@@ -50,7 +50,7 @@ module Zold
|
|
50
50
|
Where:
|
51
51
|
'wallet' is the sender's wallet ID
|
52
52
|
'target' is the beneficiary (either wallet ID or invoice number)'
|
53
|
-
'amount' is the amount to pay,
|
53
|
+
'amount' is the amount to pay, for example: '14.95Z' (in ZLD) or '12345z' (in zents)
|
54
54
|
'details' is the optional text to attach to the payment
|
55
55
|
Available options:"
|
56
56
|
o.string '--private-key',
|
@@ -93,7 +93,7 @@ Available options:"
|
|
93
93
|
)
|
94
94
|
end
|
95
95
|
raise 'Amount is required (in ZLD) as the third argument' if mine[2].nil?
|
96
|
-
amount =
|
96
|
+
amount = amount(mine[2].strip)
|
97
97
|
details = mine[3] || '-'
|
98
98
|
taxes(id, opts)
|
99
99
|
@wallets.acq(id, exclusive: true) do |from|
|
@@ -106,6 +106,12 @@ Available options:"
|
|
106
106
|
|
107
107
|
private
|
108
108
|
|
109
|
+
def amount(txt)
|
110
|
+
return Amount.new(zents: txt.gsub(/z$/, '').to_i) if txt.end_with?('z')
|
111
|
+
return Amount.new(zld: txt.gsub(/Z$/, '').to_f) if txt.end_with?('Z')
|
112
|
+
Amount.new(zld: txt.to_f)
|
113
|
+
end
|
114
|
+
|
109
115
|
def taxes(id, opts)
|
110
116
|
debt = @wallets.acq(id) do |wallet|
|
111
117
|
raise "Wallet #{id} doesn't exist, do 'zold pull' first" unless wallet.exists?
|
@@ -123,7 +129,8 @@ Available options:"
|
|
123
129
|
raise 'The amount can\'t be zero' if amount.zero?
|
124
130
|
raise "The amount can't be negative: #{amount}" if amount.negative?
|
125
131
|
if !from.root? && from.balance < amount
|
126
|
-
raise "There is not enough funds in #{from} to send #{amount}, only #{from.balance} left
|
132
|
+
raise "There is not enough funds in #{from} to send #{amount}, only #{from.balance} left; \
|
133
|
+
the difference is #{(amount - from.balance).to_i} zents"
|
127
134
|
end
|
128
135
|
end
|
129
136
|
key = Zold::Key.new(file: opts['private-key'])
|
data/lib/zold/commands/rebase.rb
CHANGED
@@ -71,8 +71,11 @@ Available options:"
|
|
71
71
|
@log.debug("Paying wallet #{txn.bnf} file is absent: #{txn.to_text}")
|
72
72
|
false
|
73
73
|
end
|
74
|
-
patch.save(wallet.path, overwrite: true)
|
75
|
-
|
74
|
+
if patch.save(wallet.path, overwrite: true)
|
75
|
+
@log.info("Wallet #{wallet.mnemo} rebased and modified in #{Age.new(start)}")
|
76
|
+
else
|
77
|
+
@log.debug("There is nothing to rebase in #{wallet.mnemo}, took #{Age.new(start)}")
|
78
|
+
end
|
76
79
|
end
|
77
80
|
end
|
78
81
|
end
|
data/lib/zold/patch.rb
CHANGED
@@ -106,7 +106,7 @@ with a new one \"#{txn.to_text}\" from #{wallet.mnemo}")
|
|
106
106
|
next
|
107
107
|
end
|
108
108
|
unless wallet.prefix?(txn.prefix)
|
109
|
-
@log.
|
109
|
+
@log.debug("Payment prefix '#{txn.prefix}' doesn't match with the key of #{wallet.id}: \"#{txn.to_text}\"")
|
110
110
|
next
|
111
111
|
end
|
112
112
|
if !@wallets.acq(txn.bnf, &:exists?) && yield(txn)
|
@@ -115,7 +115,7 @@ with a new one \"#{txn.to_text}\" from #{wallet.mnemo}")
|
|
115
115
|
next
|
116
116
|
end
|
117
117
|
unless @wallets.acq(txn.bnf) { |p| p.includes_negative?(txn.id, wallet.id) }
|
118
|
-
@log.
|
118
|
+
@log.debug("The beneficiary #{@wallets.acq(txn.bnf, &:mnemo)} of #{@id} \
|
119
119
|
doesn't have this transaction: \"#{txn.to_text}\"")
|
120
120
|
next
|
121
121
|
end
|
data/lib/zold/version.rb
CHANGED
data/test/commands/test_pay.rb
CHANGED
@@ -49,6 +49,14 @@ class TestPay < Zold::Test
|
|
49
49
|
]
|
50
50
|
)
|
51
51
|
assert_equal(amount * -1, source.balance)
|
52
|
+
Zold::Pay.new(wallets: home.wallets, copies: home.dir, remotes: home.remotes, log: test_log).run(
|
53
|
+
[
|
54
|
+
'pay', '--private-key=fixtures/id_rsa',
|
55
|
+
target.id.to_s, source.id.to_s, amount.to_zld, 'Refund'
|
56
|
+
]
|
57
|
+
)
|
58
|
+
source.flush
|
59
|
+
assert_equal(Zold::Amount::ZERO, source.balance)
|
52
60
|
end
|
53
61
|
end
|
54
62
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zold
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.23.
|
4
|
+
version: 0.23.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|
@@ -753,7 +753,7 @@ licenses:
|
|
753
753
|
- MIT
|
754
754
|
metadata: {}
|
755
755
|
post_install_message: |-
|
756
|
-
Thanks for installing Zold 0.23.
|
756
|
+
Thanks for installing Zold 0.23.6!
|
757
757
|
Study our White Paper: https://papers.zold.io/wp.pdf
|
758
758
|
Read our blog posts: https://blog.zold.io
|
759
759
|
Try ZLD online wallet at: https://wts.zold.io
|