zold 0.23.5 → 0.23.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|