utxoracle 0.1.0 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 27c98fbe262713835893d7590648c0e566ac35cf837d5c1b6514961b54c99324
4
- data.tar.gz: 8cf05e364850de7f330a4c833640d58c69b8a0c048aaec4fbaa8f4dbe54b529c
3
+ metadata.gz: 67eaa4acc24cbf01576008bdee1c59500e47414cad85659c8de61ed36a449d3d
4
+ data.tar.gz: 97cad75e237b1035658a22d16491e942e18a0d117370e6989ff548ab57c36b50
5
5
  SHA512:
6
- metadata.gz: 932541e0474fbdbe9515629cfa7f4f4b35a1a04b4f993fc21542b063f46f1273bf66b77cc91c457301af2f81fe95bd782ec0c31bd16d8060b4509f870e1806a6
7
- data.tar.gz: dcabd03dcf97198240167c5ad9449345340c85f49b39f31e80a77cab3ba4a5c68f02736a8d09c988246af34ea2a35238795a3a7b4b3cd4bcdad38ef4a36310e8
6
+ metadata.gz: 9e35a7ab04066040e193c82f1e5be4e9a2a201be088328d285214e75b82efc59cc6e95a5aef2290edbaccb490b89c5e4fac603a3e310271f7a6f0c735937418e
7
+ data.tar.gz: 00efe8ea4e0e8eeb285ffb2da3a3fe9c1fc6b2581f0ce0a8968f65ae117fedf6d335b4125a20bedfedab6093ecafb0f1f581d17d94be39dc80d2cbeefabd8ddf
data/.gitignore CHANGED
@@ -55,6 +55,5 @@ build-iPhoneSimulator/
55
55
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
56
  # .rubocop-https?--*
57
57
 
58
- /Gemfile.lock
59
58
  .rspec_status
60
59
  .DS_Store
data/Gemfile.lock ADDED
@@ -0,0 +1,118 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ utxoracle (0.1.2)
5
+ cleanrpc (~> 0.0.2)
6
+ typhoeus (~> 1.4.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ ansi (1.5.0)
12
+ ast (2.4.2)
13
+ cleanrpc (0.0.3)
14
+ coderay (1.1.3)
15
+ diff-lcs (1.5.1)
16
+ docile (1.4.0)
17
+ ethon (0.16.0)
18
+ ffi (>= 1.15.0)
19
+ ffi (1.17.0)
20
+ ffi (1.17.0-aarch64-linux-gnu)
21
+ ffi (1.17.0-aarch64-linux-musl)
22
+ ffi (1.17.0-arm-linux-gnu)
23
+ ffi (1.17.0-arm-linux-musl)
24
+ ffi (1.17.0-arm64-darwin)
25
+ ffi (1.17.0-x86-linux-gnu)
26
+ ffi (1.17.0-x86-linux-musl)
27
+ ffi (1.17.0-x86_64-darwin)
28
+ ffi (1.17.0-x86_64-linux-gnu)
29
+ ffi (1.17.0-x86_64-linux-musl)
30
+ json (2.7.2)
31
+ language_server-protocol (3.17.0.3)
32
+ method_source (1.1.0)
33
+ parallel (1.25.1)
34
+ parser (3.3.3.0)
35
+ ast (~> 2.4.1)
36
+ racc
37
+ pry (0.14.2)
38
+ coderay (~> 1.1)
39
+ method_source (~> 1.0)
40
+ racc (1.8.0)
41
+ rainbow (3.1.1)
42
+ rake (13.2.1)
43
+ regexp_parser (2.9.2)
44
+ rexml (3.3.0)
45
+ strscan
46
+ rspec (3.13.0)
47
+ rspec-core (~> 3.13.0)
48
+ rspec-expectations (~> 3.13.0)
49
+ rspec-mocks (~> 3.13.0)
50
+ rspec-core (3.13.0)
51
+ rspec-support (~> 3.13.0)
52
+ rspec-expectations (3.13.1)
53
+ diff-lcs (>= 1.2.0, < 2.0)
54
+ rspec-support (~> 3.13.0)
55
+ rspec-mocks (3.13.1)
56
+ diff-lcs (>= 1.2.0, < 2.0)
57
+ rspec-support (~> 3.13.0)
58
+ rspec-support (3.13.1)
59
+ rubocop (1.64.1)
60
+ json (~> 2.3)
61
+ language_server-protocol (>= 3.17.0)
62
+ parallel (~> 1.10)
63
+ parser (>= 3.3.0.2)
64
+ rainbow (>= 2.2.2, < 4.0)
65
+ regexp_parser (>= 1.8, < 3.0)
66
+ rexml (>= 3.2.5, < 4.0)
67
+ rubocop-ast (>= 1.31.1, < 2.0)
68
+ ruby-progressbar (~> 1.7)
69
+ unicode-display_width (>= 2.4.0, < 3.0)
70
+ rubocop-ast (1.31.3)
71
+ parser (>= 3.3.1.0)
72
+ rubocop-rspec (3.0.1)
73
+ rubocop (~> 1.61)
74
+ ruby-progressbar (1.13.0)
75
+ simplecov (0.22.0)
76
+ docile (~> 1.1)
77
+ simplecov-html (~> 0.11)
78
+ simplecov_json_formatter (~> 0.1)
79
+ simplecov-console (0.9.1)
80
+ ansi
81
+ simplecov
82
+ terminal-table
83
+ simplecov-html (0.12.3)
84
+ simplecov_json_formatter (0.1.4)
85
+ stackprof (0.2.26)
86
+ strscan (3.1.0)
87
+ terminal-table (3.0.2)
88
+ unicode-display_width (>= 1.1.1, < 3)
89
+ typhoeus (1.4.1)
90
+ ethon (>= 0.9.0)
91
+ unicode-display_width (2.5.0)
92
+
93
+ PLATFORMS
94
+ aarch64-linux-gnu
95
+ aarch64-linux-musl
96
+ arm-linux-gnu
97
+ arm-linux-musl
98
+ arm64-darwin
99
+ ruby
100
+ x86-linux-gnu
101
+ x86-linux-musl
102
+ x86_64-darwin
103
+ x86_64-linux-gnu
104
+ x86_64-linux-musl
105
+
106
+ DEPENDENCIES
107
+ pry
108
+ rake
109
+ rspec
110
+ rubocop
111
+ rubocop-rspec
112
+ simplecov
113
+ simplecov-console
114
+ stackprof
115
+ utxoracle!
116
+
117
+ BUNDLED WITH
118
+ 2.5.7
data/README.md CHANGED
@@ -19,6 +19,7 @@ The purpose of releasing Utxoracle as a Gem is multi-fold:
19
19
  - [Usage](#usage)
20
20
  * [Requiring the gem](#requiring-the-gem)
21
21
  * [Fetching Price](#fetching-price)
22
+ - [Performance](#performance)
22
23
  - [Development](#development)
23
24
  - [Contributing](#contributing)
24
25
  - [License](#license)
@@ -92,6 +93,53 @@ blocks_on_this_day: 165
92
93
  Price Estimate: $27,045
93
94
  ```
94
95
 
96
+ ## Performance
97
+
98
+ Without optimization at the algorithmic/implementation level, UTXOracle.rb is able to compute prices for an entire month in ~10 minutes using native Ruby threads.
99
+
100
+ Results on 3Ghz 6-Core Intel i5
101
+
102
+ For October 2023:
103
+ ```ruby
104
+ $ ./bin/benchmark/run_range aUser aPassword 127.0.0.1 8332 2023-10-01 2023-11-01
105
+ [1] pry(main)> ret.sort
106
+ => [[2023-10-01 00:00:00 -0400, 27364],
107
+ [2023-10-02 00:00:00 -0400, 28345],
108
+ [2023-10-03 00:00:00 -0400, 27696],
109
+ [2023-10-04 00:00:00 -0400, 27712],
110
+ [2023-10-05 00:00:00 -0400, 27725],
111
+ [2023-10-06 00:00:00 -0400, 28021],
112
+ [2023-10-07 00:00:00 -0400, 28311],
113
+ [2023-10-08 00:00:00 -0400, 28308],
114
+ [2023-10-09 00:00:00 -0400, 28000],
115
+ [2023-10-10 00:00:00 -0400, 27708],
116
+ [2023-10-11 00:00:00 -0400, 27373],
117
+ [2023-10-12 00:00:00 -0400, 27045],
118
+ [2023-10-13 00:00:00 -0400, 27058],
119
+ [2023-10-14 00:00:00 -0400, 27077],
120
+ [2023-10-15 00:00:00 -0400, 27093],
121
+ [2023-10-16 00:00:00 -0400, 28357],
122
+ [2023-10-17 00:00:00 -0400, 28664],
123
+ [2023-10-18 00:00:00 -0400, 28658],
124
+ [2023-10-19 00:00:00 -0400, 28690],
125
+ [2023-10-20 00:00:00 -0400, 29704],
126
+ [2023-10-21 00:00:00 -0400, 30034],
127
+ [2023-10-22 00:00:00 -0400, 30333],
128
+ [2023-10-23 00:00:00 -0400, 31069],
129
+ [2023-10-24 00:00:00 -0400, 34468],
130
+ [2023-10-25 00:00:00 -0400, 34858],
131
+ [2023-10-26 00:00:00 -0400, 34484],
132
+ [2023-10-27 00:00:00 -0400, 34114],
133
+ [2023-10-28 00:00:00 -0400, 34438],
134
+ [2023-10-29 00:00:00 -0400, 34841],
135
+ [2023-10-30 00:00:00 -0400, 34840],
136
+ [2023-10-31 00:00:00 -0400, 34829]]
137
+ [2] pry(main)> time
138
+ => #<Benchmark::Tms:0x0000000110ddd310 @cstime=0.0, @cutime=0.0, @label="", @real=643.9174029999995, @stime=87.356026, @total=647.7391030000001, @utime=560.3830770000001>
139
+
140
+ # 643 seconds, or 10.7 minutes.
141
+ ```
142
+
95
143
 
96
144
  ## Development
97
145
 
@@ -124,7 +172,7 @@ rake spec # Run RSpec code examples
124
172
 
125
173
  ## Contributing
126
174
 
127
- Bug reports and pull requests are welcome on GitHub at https://github.com/Carolina-Bitcoin-Project/UTXOracle.
175
+ Bug reports and pull requests are welcome on GitHub at https://github.com/BrantaOps/UTXOracle.
128
176
 
129
177
  ## License
130
178
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Utxoracle
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.2'
5
5
  end
data/utxoracle.gemspec CHANGED
@@ -13,10 +13,13 @@ Gem::Specification.new do |spec|
13
13
 
14
14
  spec.summary = 'Offline price oracle for Bitcoin.'
15
15
  spec.description = 'Offline price oracle for Bitcoin. Offers programmable data providers (Bitcoin node, mempool, etc). Can be used from commandline, or integrated into existing ruby stacks.'
16
- spec.homepage = 'https://github.com/Carolina-Bitcoin-Project/UTXOracle'
16
+ spec.homepage = 'https://github.com/BrantaOps/UTXOracle'
17
17
  spec.license = 'MIT'
18
18
  spec.required_ruby_version = '>= 3.1.0'
19
19
 
20
+ spec.metadata['homepage_uri'] = spec.homepage
21
+ spec.metadata['source_code_uri'] = 'https://github.com/BrantaOps/UTXOracle'
22
+
20
23
  spec.files = `git ls-files`.split("\n")
21
24
  spec.bindir = 'bin'
22
25
  spec.require_path = 'lib'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utxoracle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Gardner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-08 00:00:00.000000000 Z
11
+ date: 2024-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cleanrpc
@@ -161,6 +161,7 @@ files:
161
161
  - ".gitignore"
162
162
  - ".ruby-version"
163
163
  - Gemfile
164
+ - Gemfile.lock
164
165
  - LICENSE
165
166
  - README.md
166
167
  - Rakefile
@@ -181,10 +182,12 @@ files:
181
182
  - spec/utxoracle/oracle_spec.rb
182
183
  - spec/utxoracle_spec.rb
183
184
  - utxoracle.gemspec
184
- homepage: https://github.com/Carolina-Bitcoin-Project/UTXOracle
185
+ homepage: https://github.com/BrantaOps/UTXOracle
185
186
  licenses:
186
187
  - MIT
187
- metadata: {}
188
+ metadata:
189
+ homepage_uri: https://github.com/BrantaOps/UTXOracle
190
+ source_code_uri: https://github.com/BrantaOps/UTXOracle
188
191
  post_install_message:
189
192
  rdoc_options: []
190
193
  require_paths: