meeseeker 2.0.0 → 2.0.1.pre.1
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/Rakefile +3 -0
- data/bin/meeseeker +2 -2
- data/lib/meeseeker/block_follower_job.rb +8 -6
- data/lib/meeseeker/version.rb +1 -1
- data/meeseeker.gemspec +1 -2
- data/test/meeseeker/meeseeker_test.rb +9 -1
- metadata +9 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6750a9b00a2ab979ca2944add9cdee2b31c16466821445c32e1ef9e7de638a0
|
4
|
+
data.tar.gz: 4489e40ea24703752ad9c359e1440fe4db66c20e3fe9e710f93f8657a49e50eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd4df8812f0252737c0a43fc1a0db029c2361277dc3d6074e6fd3e642c7fdbabbcbc3b2b30cd56f9ea0a103540ef1146601873c303c106516a8fb2a815ee1bb3
|
7
|
+
data.tar.gz: 94895f366e1c9ebc3e1c38e731130d19f4f39b231d1593c877a21085254171afdb7bf2f59ebafbed32f447af98eb188ccce3efdbeef95465c1e66079ffb09c6b
|
data/Rakefile
CHANGED
@@ -51,6 +51,7 @@ task :check_schema do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
+
desc 'Begin/resume sync.'
|
54
55
|
task(:sync, [:chain, :at_block_num] => [:check_schema]) do |t, args|
|
55
56
|
chain = args[:chain] if args[:chain]
|
56
57
|
chain ||= Meeseeker.default_chain_key_prefix
|
@@ -78,6 +79,7 @@ namespace :witness do
|
|
78
79
|
end
|
79
80
|
end
|
80
81
|
|
82
|
+
desc 'Find block or transaction.'
|
81
83
|
task(:find, [:what, :key, :chain] => [:check_schema]) do |t, args|
|
82
84
|
chain = args[:chain] if args[:chain]
|
83
85
|
chain ||= Meeseeker.default_chain_key_prefix
|
@@ -98,6 +100,7 @@ task(:find, [:what, :key, :chain] => [:check_schema]) do |t, args|
|
|
98
100
|
end
|
99
101
|
end
|
100
102
|
|
103
|
+
desc 'Clear all keys.'
|
101
104
|
task :reset, [:chain] => [:check_schema] do |t, args|
|
102
105
|
chain = (args[:chain] || 'all').to_sym
|
103
106
|
keys = []
|
data/bin/meeseeker
CHANGED
@@ -32,7 +32,7 @@ when 'sync', 'witness:schedule'
|
|
32
32
|
Rake::Task['sync'].reenable
|
33
33
|
end; end
|
34
34
|
when 'find' then Rake::Task['find'].invoke(*ARGV[1..-1])
|
35
|
-
when 'reset' then Rake::Task['reset'].invoke
|
35
|
+
when 'reset' then Rake::Task['reset'].invoke(*ARGV[1..-1])
|
36
36
|
else
|
37
37
|
puts "\nBegin/resume sync:"
|
38
38
|
puts "\t#{filename} sync [chain] [block_num]\n\n"
|
@@ -44,7 +44,7 @@ else
|
|
44
44
|
puts "\t#{filename} find block 3044538"
|
45
45
|
puts "\t#{filename} find trx 983c5e5c6aef52f1647d952a18771f76b885e6de\n\n"
|
46
46
|
puts 'Clear all keys:'
|
47
|
-
puts "\t#{filename} reset\n\n"
|
47
|
+
puts "\t#{filename} reset [chain]\n\n"
|
48
48
|
puts "Note, using find and reset is not intended for routine operations. It is intended for analysis only."
|
49
49
|
puts "See: https://github.com/inertia186/meeseeker#usage"
|
50
50
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'radiator'
|
2
|
+
|
1
3
|
module Meeseeker
|
2
4
|
class BlockFollowerJob
|
3
5
|
MAX_VOP_RETRY = 3
|
@@ -140,11 +142,11 @@ module Meeseeker
|
|
140
142
|
|
141
143
|
begin
|
142
144
|
url = Meeseeker.default_url(chain)
|
143
|
-
stream_options = {
|
144
|
-
|
145
|
+
stream_options = {chain: chain, url: url}
|
146
|
+
stream_args = [last_block_num, mode]
|
145
147
|
condenser_api = nil
|
146
148
|
|
147
|
-
|
149
|
+
Radiator::Stream.new(stream_options).tap do |stream|
|
148
150
|
puts "Stream begin: #{stream_options.to_json}; #{options.to_json}"
|
149
151
|
|
150
152
|
# Prior to v0.0.4, we only streamed operations with stream.operations.
|
@@ -155,14 +157,14 @@ module Meeseeker
|
|
155
157
|
|
156
158
|
loop do
|
157
159
|
begin
|
158
|
-
stream.blocks(
|
160
|
+
stream.blocks(*stream_args) do |b, n, condenser_api|
|
159
161
|
redo if b.nil?
|
160
162
|
|
161
163
|
b.transactions.each_with_index do |transaction, index|
|
162
164
|
transaction.operations.each do |op|
|
163
|
-
|
165
|
+
op_value = op[1].merge(timestamp: b.timestamp)
|
164
166
|
|
165
|
-
yield op, b.transaction_ids[index], n
|
167
|
+
yield Hashie::Mash.new(type: op[0], value: op_value), b.transaction_ids[index], n
|
166
168
|
end
|
167
169
|
end
|
168
170
|
|
data/lib/meeseeker/version.rb
CHANGED
data/meeseeker.gemspec
CHANGED
@@ -30,8 +30,7 @@ Gem::Specification.new do |s|
|
|
30
30
|
s.add_development_dependency 'mock_redis', '~> 0.22', '>= 0.22.0'
|
31
31
|
|
32
32
|
s.add_dependency 'redis', '~> 4.1', '>= 4.1.0'
|
33
|
-
s.add_dependency '
|
34
|
-
s.add_dependency 'hive-ruby', '~> 1.0.0', '>= 1.0.0'
|
33
|
+
s.add_dependency 'radiator', '~> 0.4', '>= 0.4.8'
|
35
34
|
s.add_dependency 'mechanize', '~> 2.7', '>= 2.7.6'
|
36
35
|
s.add_dependency 'rb-readline', '~> 0.5', '>= 0.5.5'
|
37
36
|
end
|
@@ -39,6 +39,8 @@ module Meeseeker
|
|
39
39
|
|
40
40
|
assert_equal 'hive', n, "expected hive key, got: #{key}"
|
41
41
|
|
42
|
+
next if t == Meeseeker::VIRTUAL_TRX_ID
|
43
|
+
|
42
44
|
[b, t]
|
43
45
|
end.compact.sample(10).to_h
|
44
46
|
|
@@ -98,6 +100,8 @@ module Meeseeker
|
|
98
100
|
|
99
101
|
assert_equal 'steem', n, "expected steem key, got: #{key}"
|
100
102
|
|
103
|
+
next if t == Meeseeker::VIRTUAL_TRX_ID
|
104
|
+
|
101
105
|
[b, t]
|
102
106
|
end.compact.sample(10).to_h
|
103
107
|
|
@@ -153,6 +157,8 @@ module Meeseeker
|
|
153
157
|
agent = Meeseeker::SteemEngine::Agent.new
|
154
158
|
keys = Meeseeker.redis.keys('steem_engine:*')
|
155
159
|
data = keys.map do |key|
|
160
|
+
next if key == 'steem:meeseeker:last_block_num'
|
161
|
+
|
156
162
|
n, b, t, i, o = key.split(':')
|
157
163
|
|
158
164
|
assert_equal chain, n, "expected steem_engine key, got: #{key}"
|
@@ -165,11 +171,13 @@ module Meeseeker
|
|
165
171
|
assert data.any?, 'expect steem_engine data'
|
166
172
|
|
167
173
|
data.each do |b, t|
|
174
|
+
next if t == 'last_block_num'
|
175
|
+
|
168
176
|
block = agent.block(b)
|
169
177
|
refute_nil block, "did not expect nil block (#{b})"
|
170
178
|
|
171
179
|
count = block['transactions'].select do |trx|
|
172
|
-
trx['transactionId'].include? t
|
180
|
+
trx['transactionId'].to_s.include? t
|
173
181
|
end.size
|
174
182
|
|
175
183
|
assert count > 0, "Could not find steem_engine trx_id (#{t}) in block (#{b})."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meeseeker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -191,45 +191,25 @@ dependencies:
|
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: '4.1'
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
|
-
name:
|
194
|
+
name: radiator
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
196
196
|
requirements:
|
197
197
|
- - "~>"
|
198
198
|
- !ruby/object:Gem::Version
|
199
|
-
version: '0.
|
199
|
+
version: '0.4'
|
200
200
|
- - ">="
|
201
201
|
- !ruby/object:Gem::Version
|
202
|
-
version: 0.
|
202
|
+
version: 0.4.8
|
203
203
|
type: :runtime
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
206
206
|
requirements:
|
207
207
|
- - "~>"
|
208
208
|
- !ruby/object:Gem::Version
|
209
|
-
version: '0.
|
209
|
+
version: '0.4'
|
210
210
|
- - ">="
|
211
211
|
- !ruby/object:Gem::Version
|
212
|
-
version: 0.
|
213
|
-
- !ruby/object:Gem::Dependency
|
214
|
-
name: hive-ruby
|
215
|
-
requirement: !ruby/object:Gem::Requirement
|
216
|
-
requirements:
|
217
|
-
- - ">="
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
version: 1.0.0
|
220
|
-
- - "~>"
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 1.0.0
|
223
|
-
type: :runtime
|
224
|
-
prerelease: false
|
225
|
-
version_requirements: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - ">="
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: 1.0.0
|
230
|
-
- - "~>"
|
231
|
-
- !ruby/object:Gem::Version
|
232
|
-
version: 1.0.0
|
212
|
+
version: 0.4.8
|
233
213
|
- !ruby/object:Gem::Dependency
|
234
214
|
name: mechanize
|
235
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -311,9 +291,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
311
291
|
version: '0'
|
312
292
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
313
293
|
requirements:
|
314
|
-
- - "
|
294
|
+
- - ">"
|
315
295
|
- !ruby/object:Gem::Version
|
316
|
-
version:
|
296
|
+
version: 1.3.1
|
317
297
|
requirements: []
|
318
298
|
rubygems_version: 3.0.8
|
319
299
|
signing_key:
|