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