zold 0.14.40 → 0.14.41
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/bin/zold +0 -4
- data/lib/zold/commands/node.rb +9 -6
- data/lib/zold/node/async_entrance.rb +0 -4
- data/lib/zold/node/front.rb +2 -0
- data/lib/zold/version.rb +1 -1
- data/test/node/fake_node.rb +4 -22
- data/test/test__helper.rb +0 -3
- data/zold.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b4683993fc4c2115b2cf6cf69ea4bc157eb05c2
|
4
|
+
data.tar.gz: 83a3040d404d3b71c2af331bf4085950bfa17fd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d28d9c5c4170478c60793e1f7bcab3a50af9cc5fd06b33f78500bd0c8c862010c738a2ca2c00bcf42a20a35512a8955f0e99c8ecb6b55cc6d2016f091ee5997b
|
7
|
+
data.tar.gz: d078e2ec1833d55e2087926e5eac1ac50fc2c199e93f8326a3e8b410f1ba969381d89416d5ca2b09cfd46d2a99ffe527a628e1aa0e1a985aa0702ffb8cba3de1
|
data/bin/zold
CHANGED
@@ -31,8 +31,6 @@ end
|
|
31
31
|
|
32
32
|
require 'slop'
|
33
33
|
require 'rainbow'
|
34
|
-
require 'cachy'
|
35
|
-
require 'moneta'
|
36
34
|
require_relative '../lib/zold'
|
37
35
|
require_relative '../lib/zold/version'
|
38
36
|
require_relative '../lib/zold/wallet'
|
@@ -49,8 +47,6 @@ require_relative '../lib/zold/version_file'
|
|
49
47
|
|
50
48
|
Thread.current.name = 'main'
|
51
49
|
|
52
|
-
Cachy.cache_store = Moneta.new(:Memory)
|
53
|
-
|
54
50
|
Encoding.default_external = Encoding::UTF_8
|
55
51
|
Encoding.default_internal = Encoding::UTF_8
|
56
52
|
|
data/lib/zold/commands/node.rb
CHANGED
@@ -127,6 +127,9 @@ module Zold
|
|
127
127
|
'Maximum amount of nohup re-starts (-1 by default, which means forever)',
|
128
128
|
require: true,
|
129
129
|
default: -1
|
130
|
+
o.string '--home',
|
131
|
+
"Home directory (default: #{Dir.pwd})",
|
132
|
+
default: Dir.pwd
|
130
133
|
o.bool '--no-metronome',
|
131
134
|
'Don\'t run the metronome',
|
132
135
|
required: true,
|
@@ -156,9 +159,9 @@ module Zold
|
|
156
159
|
Front.set(:protocol, Zold::PROTOCOL)
|
157
160
|
Front.set(:logging, @log.debug?)
|
158
161
|
Front.set(:halt, opts['halt-code'])
|
159
|
-
Front.set(:home,
|
162
|
+
Front.set(:home, opts['home'])
|
160
163
|
@log.info("Time: #{Time.now.utc.iso8601}")
|
161
|
-
@log.info("Home directory: #{
|
164
|
+
@log.info("Home directory: #{opts['home']}")
|
162
165
|
@log.info("Ruby version: #{RUBY_VERSION}")
|
163
166
|
@log.info("Zold gem version: #{Zold::VERSION}")
|
164
167
|
@log.info("Zold protocol version: #{Zold::PROTOCOL}")
|
@@ -189,7 +192,7 @@ module Zold
|
|
189
192
|
Front.set(:remotes, @remotes)
|
190
193
|
Front.set(:copies, @copies)
|
191
194
|
Front.set(:address, address)
|
192
|
-
Front.set(:root,
|
195
|
+
Front.set(:root, opts['home'])
|
193
196
|
Front.set(:dump_errors, opts['dump-errors'])
|
194
197
|
Front.set(:port, opts['bind-port'])
|
195
198
|
Front.set(:reboot, !opts['never-reboot'])
|
@@ -215,21 +218,21 @@ module Zold
|
|
215
218
|
@remotes, @copies, address,
|
216
219
|
log: @log, network: opts['network']
|
217
220
|
),
|
218
|
-
File.join(
|
221
|
+
File.join(opts['home'], '.zoldata/entrance'),
|
219
222
|
log: @log
|
220
223
|
),
|
221
224
|
@wallets, @remotes, address,
|
222
225
|
log: @log,
|
223
226
|
ignore_score_weakeness: opts['ignore-score-weakness']
|
224
227
|
),
|
225
|
-
File.join(
|
228
|
+
File.join(opts['home'], '.zoldata/entrance'), log: @log
|
226
229
|
),
|
227
230
|
@wallets
|
228
231
|
),
|
229
232
|
network: opts['network']
|
230
233
|
).start do |entrance|
|
231
234
|
Front.set(:entrance, entrance)
|
232
|
-
Farm.new(invoice, File.join(
|
235
|
+
Farm.new(invoice, File.join(opts['home'], 'farm'), log: @log)
|
233
236
|
.start(host, opts[:port], threads: opts[:threads], strength: opts[:strength]) do |farm|
|
234
237
|
Front.set(:farm, farm)
|
235
238
|
metronome(farm, opts).start do |metronome|
|
@@ -38,10 +38,6 @@ module Zold
|
|
38
38
|
# Queue length
|
39
39
|
MAX_QUEUE = Concurrent.processor_count * 64
|
40
40
|
|
41
|
-
# Max items in the queue. If there will be more, push() requests
|
42
|
-
# will be rejected.
|
43
|
-
MAX_QUEUE = 128
|
44
|
-
|
45
41
|
def initialize(entrance, dir, log: Log::Quiet.new)
|
46
42
|
raise 'Entrance can\'t be nil' if entrance.nil?
|
47
43
|
@entrance = entrance
|
data/lib/zold/node/front.rb
CHANGED
@@ -26,6 +26,7 @@ require 'json'
|
|
26
26
|
require 'sinatra/base'
|
27
27
|
require 'webrick'
|
28
28
|
require 'cachy'
|
29
|
+
require 'moneta'
|
29
30
|
require 'get_process_mem'
|
30
31
|
require 'diffy'
|
31
32
|
require 'usagewatch_ext'
|
@@ -48,6 +49,7 @@ module Zold
|
|
48
49
|
class Front < Sinatra::Base
|
49
50
|
configure do
|
50
51
|
Thread.current.name = 'sinatra'
|
52
|
+
Cachy.cache_store = Moneta.new(:Memory)
|
51
53
|
set :bind, '0.0.0.0'
|
52
54
|
set :suppress_messages, true
|
53
55
|
set :start, Time.now
|
data/lib/zold/version.rb
CHANGED
data/test/node/fake_node.rb
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
|
23
23
|
require 'tmpdir'
|
24
24
|
require 'webmock/minitest'
|
25
|
+
require 'random-port'
|
25
26
|
require_relative '../fake_home'
|
26
27
|
require_relative '../../lib/zold/log'
|
27
28
|
require_relative '../../lib/zold/http'
|
@@ -33,27 +34,21 @@ require_relative '../../lib/zold/node/front'
|
|
33
34
|
# Copyright:: Copyright (c) 2018 Yegor Bugayenko
|
34
35
|
# License:: MIT
|
35
36
|
class FakeNode
|
36
|
-
# rubocop:disable Style/ClassVars
|
37
|
-
@@ports = Set.new
|
38
|
-
# rubocop:enable Style/ClassVars
|
39
|
-
|
40
37
|
def initialize(log: Zold::Log::Quiet.new)
|
41
38
|
@log = log
|
42
39
|
end
|
43
40
|
|
44
41
|
def run(args = ['--standalone'])
|
45
42
|
WebMock.allow_net_connect!
|
46
|
-
|
47
|
-
|
48
|
-
FakeHome.new.run do |home|
|
49
|
-
port = FakeNode.random_port
|
43
|
+
FakeHome.new.run do |home|
|
44
|
+
RandomPort::Pool::SINGLETON.acquire do |port|
|
50
45
|
node = Thread.new do
|
51
46
|
Zold::VerboseThread.new(@log).run do
|
52
47
|
Thread.current.abort_on_exception = true
|
53
|
-
Dir.chdir(home.dir)
|
54
48
|
require_relative '../../lib/zold/commands/node'
|
55
49
|
Zold::Node.new(wallets: home.wallets, remotes: home.remotes, copies: home.copies.root, log: @log).run(
|
56
50
|
[
|
51
|
+
'--home', home.dir,
|
57
52
|
'--network=test',
|
58
53
|
'--port', port.to_s,
|
59
54
|
'--host=localhost',
|
@@ -82,19 +77,6 @@ class FakeNode
|
|
82
77
|
node.join
|
83
78
|
end
|
84
79
|
end
|
85
|
-
ensure
|
86
|
-
Dir.chdir(start)
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
def self.random_port
|
91
|
-
loop do
|
92
|
-
server = TCPServer.new('127.0.0.1', 0)
|
93
|
-
port = server.addr[1]
|
94
|
-
server.close
|
95
|
-
next if @@ports.include?(port)
|
96
|
-
@@ports << port
|
97
|
-
return port
|
98
80
|
end
|
99
81
|
end
|
100
82
|
end
|
data/test/test__helper.rb
CHANGED
@@ -24,7 +24,6 @@ gem 'openssl'
|
|
24
24
|
require 'openssl'
|
25
25
|
require 'minitest/autorun'
|
26
26
|
require 'concurrent'
|
27
|
-
require 'cachy'
|
28
27
|
require 'moneta'
|
29
28
|
|
30
29
|
STDOUT.sync = true
|
@@ -38,8 +37,6 @@ if ENV['CI'] == 'true'
|
|
38
37
|
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
39
38
|
end
|
40
39
|
|
41
|
-
Cachy.cache_store = Moneta.new(:Memory)
|
42
|
-
|
43
40
|
module Minitest
|
44
41
|
class Test
|
45
42
|
def assert_wait(max: 30)
|
data/zold.gemspec
CHANGED
@@ -77,6 +77,7 @@ and suggests a different architecture for digital wallet maintenance.'
|
|
77
77
|
s.add_runtime_dependency 'xcop', '~>0.5'
|
78
78
|
s.add_development_dependency 'codecov', '0.1.10'
|
79
79
|
s.add_development_dependency 'minitest', '5.11.3'
|
80
|
+
s.add_development_dependency 'random-port', '~>0.1'
|
80
81
|
s.add_development_dependency 'rdoc', '4.2.0'
|
81
82
|
s.add_development_dependency 'rspec-rails', '3.1.0'
|
82
83
|
s.add_development_dependency 'webmock', '3.4.2'
|
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.14.
|
4
|
+
version: 0.14.41
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cachy
|
@@ -332,6 +332,20 @@ dependencies:
|
|
332
332
|
- - '='
|
333
333
|
- !ruby/object:Gem::Version
|
334
334
|
version: 5.11.3
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: random-port
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - "~>"
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: '0.1'
|
342
|
+
type: :development
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - "~>"
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '0.1'
|
335
349
|
- !ruby/object:Gem::Dependency
|
336
350
|
name: rdoc
|
337
351
|
requirement: !ruby/object:Gem::Requirement
|