base58_gmp 0.0.7 → 1.0.0
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 +7 -0
- data/CHANGELOG.md +29 -0
- data/{MIT-LICENSE → LICENSE.txt} +3 -1
- data/README.md +164 -0
- data/base58_gmp.gemspec +17 -20
- data/lib/base58_gmp.rb +50 -42
- metadata +118 -55
- data/CHANGELOG +0 -28
- data/README.rdoc +0 -88
- data/Rakefile +0 -22
- data/VERSION +0 -1
- data/test/test_alphabets.rb +0 -29
- data/test/test_base58_gmp.rb +0 -519
- data/test/test_encode-decode-multi.rb +0 -1249
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ad881e2554d4a1b511183a4d9a90581bbe692ee0
|
4
|
+
data.tar.gz: 2fe8884cff6b04ea68dfe24c31915d15d11f2234
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ede65bd022cc60e16d30f5cf656931a9f09a06f0d7fe3af72c2a0b13179f62628da9f82d694c60f1dd34030f71b9f25dd8dc85efe795de11ed1c60436882265f
|
7
|
+
data.tar.gz: b18e889d95ae7c44d31b5efde4c4ac45ffdaf57ab8d70084fd6f93ca4da88ad90cc390f2bde6fa0c781c70eaf180b1ac7e9e7d6e2471397988ead12feb15d2c3
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
---------
|
3
|
+
- **1.0.0** - 2016-09-27**
|
4
|
+
- Add `md5_base58` method `pad:` option
|
5
|
+
- Add alphabet parameter as symbol support
|
6
|
+
- Add Ripple alphabet
|
7
|
+
- Add `normalize_alphabet` and `alphabet_digits` methods
|
8
|
+
- **0.0.7** - 2011-11-21
|
9
|
+
- Add Bitcoin suppport
|
10
|
+
- Refactor API
|
11
|
+
- **0.0.6** - 2011-11-14
|
12
|
+
- Update encode API
|
13
|
+
- **0.0.5** - 2011-11-06
|
14
|
+
- Add Base58 decoding to `GMP::Z` integer
|
15
|
+
- Add Base58 encoding of `GMP::Z` integer
|
16
|
+
- Add Base58 encoding of arbitrary base strings
|
17
|
+
- Add Base58 encoding using `gmp` alphabet
|
18
|
+
- Add MD5 using `gmp` alphabet
|
19
|
+
- More tests
|
20
|
+
- **0.0.4** - 2011-11-06
|
21
|
+
- Add `flickr_to_gmp` transcoding
|
22
|
+
- Document Flickr and GMP transcoding
|
23
|
+
- **0.0.3** - 2011-11-06
|
24
|
+
- Minor fixes.
|
25
|
+
- **0.0.2** - 2011-11-06
|
26
|
+
- Documentation update.
|
27
|
+
- **0.0.1** - 2011-11-06
|
28
|
+
- Initial release including encode and md5 capabilities.
|
29
|
+
- Does not include decode due to current limitation in GMP binding. For now, the `base58` gem can be used for decoding.
|
data/{MIT-LICENSE → LICENSE.txt}
RENAMED
data/README.md
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
|
2
|
+
Base58 GMP Ruby
|
3
|
+
===============
|
4
|
+
|
5
|
+
[![Gem Version][gem-version-svg]][gem-version-link]
|
6
|
+
[![Build Status][build-status-svg]][build-status-link]
|
7
|
+
[![Coverage Status][coverage-status-svg]][coverage-status-link]
|
8
|
+
[![Dependency Status][dependency-status-svg]][dependency-status-link]
|
9
|
+
[![Code Climate][codeclimate-status-svg]][codeclimate-status-link]
|
10
|
+
[![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-link]
|
11
|
+
[![Downloads][downloads-svg]][downloads-link]
|
12
|
+
[![Docs][docs-rubydoc-svg]][docs-rubydoc-link]
|
13
|
+
[![License][license-svg]][license-link]
|
14
|
+
|
15
|
+
[![Stories in Ready][story-status-svg]][story-status-link]
|
16
|
+
|
17
|
+
High speed Base58 encoding using [GMP](https://gmplib.org/) with MD5 support and transcoding between Flickr, Bitcoin, Ripple and GMP alphabets.
|
18
|
+
|
19
|
+
## Installation
|
20
|
+
|
21
|
+
### Via Bundler
|
22
|
+
|
23
|
+
Add `base58_gmp` to `Gemfile` and then run `bundle`:
|
24
|
+
|
25
|
+
```sh
|
26
|
+
$ echo "gem 'base58_gmp'" >> Gemfile
|
27
|
+
$ bundle
|
28
|
+
```
|
29
|
+
|
30
|
+
### Via RubyGems
|
31
|
+
|
32
|
+
```sh
|
33
|
+
$ gem install base58_gmp
|
34
|
+
```
|
35
|
+
|
36
|
+
## Usage
|
37
|
+
|
38
|
+
Alphabet can be specified using symbol or string.
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
require 'base58_gmp'
|
42
|
+
|
43
|
+
# Encode Int as Base58
|
44
|
+
Base58GMP.encode 12345 # => 4ER
|
45
|
+
|
46
|
+
# Encode GMP::Z Int as Base58
|
47
|
+
Base58GMP.encode GMP::Z(12345) # => 4ER
|
48
|
+
|
49
|
+
# Encode as Base58 using alternate alphabets
|
50
|
+
Base58GMP.encode 12345, :bitcoin # => 4fr
|
51
|
+
Base58GMP.encode 12345, :gmp # => 3cn
|
52
|
+
|
53
|
+
# Encode as Base58 using alternate alphabets using string
|
54
|
+
Base58GMP.encode 12345, 'bitcoin' # => 4fr
|
55
|
+
Base58GMP.encode 12345, 'gmp' # => 3cn
|
56
|
+
|
57
|
+
# Decode Base58 as GMP::Z Integer
|
58
|
+
Base58GMP.decode '4ER' # => 12345
|
59
|
+
|
60
|
+
# Decode Base58 as GMP::Z Integer using alternate alphabets
|
61
|
+
Base58GMP.decode '4fr', :bitcoin # => 12345
|
62
|
+
Base58GMP.decode '3cn', :gmp # => 12345
|
63
|
+
|
64
|
+
# MD5 Base58 Digest
|
65
|
+
Base58GMP.md5 'foo@bar.com' # => w6fdCRXnUXyz7EtDn5TgN9
|
66
|
+
|
67
|
+
# MD5 Base58 Digest with left padding for consistent length
|
68
|
+
Base58GMP.md5 'foo@bar.com', :flickr, pad: true # => w6fdCRXnUXyz7EtDn5TgN9
|
69
|
+
|
70
|
+
# Convert between alphabets
|
71
|
+
Base58GMP.from_to '123456789abcdefghijk', :flickr, :gmp # => 0123456789ABCDEFGHIJ
|
72
|
+
Base58GMP.from_to '0123456789ABCDEFGHIJ', :gmp, :flickr # => 123456789abcdefghijk
|
73
|
+
```
|
74
|
+
|
75
|
+
## Notes
|
76
|
+
|
77
|
+
### Base58 Implementations - Flickr, Bitcoin and GMP
|
78
|
+
|
79
|
+
This class supports the Base58 alphabets used by Flickr, Bitcoin and GMP. The Flickr alphabet is the default and used when no alphabet is provided.
|
80
|
+
|
81
|
+
| Alphabet | Character Set |
|
82
|
+
|----------|---------------|
|
83
|
+
| Flickr | `[0-9a-zA-Z]` excluding `[0OIl]` |
|
84
|
+
| Bitcoin | `[0-9A-Za-z]` excluding `[0OIl]` |
|
85
|
+
| Ripple | `rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz` |
|
86
|
+
| GMP | `[0-9A-Za-v]` |
|
87
|
+
|
88
|
+
The encode, decode and md5 methods support an alphabet parameter which can be set to the supported alphabets `['bitcoin', 'flickr', 'gmp']` to indicate the value to be encoded or decoded.
|
89
|
+
|
90
|
+
### GMP
|
91
|
+
|
92
|
+
This class requires GMP 4.2.0 or above. Prior versions are limited to Base36.
|
93
|
+
|
94
|
+
## Supported Ruby Versions
|
95
|
+
|
96
|
+
This library supports and is [tested against](https://travis-ci.org/grokify/ringcentral-sdk-ruby) the following Ruby implementations:
|
97
|
+
|
98
|
+
1. Ruby 2.3.0
|
99
|
+
2. Ruby 2.2.0
|
100
|
+
3. Ruby 2.1.0
|
101
|
+
4. Ruby 2.0.0
|
102
|
+
|
103
|
+
### Change Log
|
104
|
+
|
105
|
+
See [CHANGELOG.md](CHANGELOG.md)
|
106
|
+
|
107
|
+
## Links
|
108
|
+
|
109
|
+
Project Repo
|
110
|
+
|
111
|
+
* https://github.com/grokify/base58-gmp-ruby
|
112
|
+
|
113
|
+
Flickr post introducing Base58:
|
114
|
+
|
115
|
+
* http://www.flickr.com/groups/api/discuss/72157616713786392/
|
116
|
+
|
117
|
+
Bitcoin wiki Base58 article:
|
118
|
+
|
119
|
+
* https://en.bitcoin.it/wiki/Base58Check_encoding
|
120
|
+
|
121
|
+
GMP:
|
122
|
+
|
123
|
+
* https://gmplib.org/
|
124
|
+
|
125
|
+
## Credits
|
126
|
+
|
127
|
+
John Wang - http://johnwang.com
|
128
|
+
|
129
|
+
Some test examples courtesy Fraser Speirs' Base58Encoder Objective-C class, http://gist.github.com/101674.
|
130
|
+
|
131
|
+
## Contributing
|
132
|
+
|
133
|
+
1. Fork it (http://github.com/grokify/base58-gmp-ruby/fork)
|
134
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
135
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
136
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
137
|
+
5. Create new Pull Request
|
138
|
+
|
139
|
+
## License
|
140
|
+
|
141
|
+
Base58 GMP Ruby is available under an MIT-style license. See [LICENSE.txt](LICENSE.txt) for details.
|
142
|
+
|
143
|
+
Base58 GMP Ruby © 2011-2016 by John Wang
|
144
|
+
|
145
|
+
[gem-version-svg]: https://badge.fury.io/rb/base58_gmp.svg
|
146
|
+
[gem-version-link]: http://badge.fury.io/rb/base58_gmp
|
147
|
+
[downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/base58_gmp
|
148
|
+
[downloads-link]: https://rubygems.org/gems/base58_gmp
|
149
|
+
[build-status-svg]: https://api.travis-ci.org/grokify/base58-gmp-ruby.svg?branch=master
|
150
|
+
[build-status-link]: https://travis-ci.org/grokify/base58-gmp-ruby
|
151
|
+
[coverage-status-svg]: https://coveralls.io/repos/grokify/base58-gmp-ruby/badge.svg?branch=master
|
152
|
+
[coverage-status-link]: https://coveralls.io/r/grokify/base58-gmp-ruby?branch=master
|
153
|
+
[dependency-status-svg]: https://gemnasium.com/grokify/base58-gmp-ruby.svg
|
154
|
+
[dependency-status-link]: https://gemnasium.com/grokify/base58-gmp-ruby
|
155
|
+
[codeclimate-status-svg]: https://codeclimate.com/github/grokify/base58-gmp-ruby/badges/gpa.svg
|
156
|
+
[codeclimate-status-link]: https://codeclimate.com/github/grokify/base58-gmp-ruby
|
157
|
+
[scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/base58-gmp-ruby/badges/quality-score.png?b=master
|
158
|
+
[scrutinizer-status-link]: https://scrutinizer-ci.com/g/grokify/base58-gmp-ruby/?branch=master
|
159
|
+
[story-status-svg]: https://badge.waffle.io/grokify/base58-gmp-ruby.svg?label=ready&title=Ready
|
160
|
+
[story-status-link]: https://waffle.io/grokify/base58-gmp-ruby
|
161
|
+
[docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg
|
162
|
+
[docs-rubydoc-link]: http://www.rubydoc.info/gems/base58_gmp/
|
163
|
+
[license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
|
164
|
+
[license-link]: https://github.com/grokify/base58-gmp-ruby/blob/master/LICENSE.txt
|
data/base58_gmp.gemspec
CHANGED
@@ -1,27 +1,24 @@
|
|
1
|
+
lib = 'base58_gmp'
|
2
|
+
lib_file = File.expand_path("../lib/#{lib}.rb", __FILE__)
|
3
|
+
File.read(lib_file) =~ /\bVERSION\s*=\s*["'](.+?)["']/
|
4
|
+
version = $1
|
5
|
+
|
1
6
|
Gem::Specification.new do |s|
|
2
7
|
s.name = 'base58_gmp'
|
3
|
-
s.version =
|
4
|
-
s.date = '
|
8
|
+
s.version = version
|
9
|
+
s.date = '2016-09-27'
|
5
10
|
s.summary = 'High speed Base58 encoding using GMP with MD5 support'
|
6
11
|
s.description = 'High speed Base58 encoding using GMP with MD5 support and transcoding between Flickr, Bitcoin and GMP alphabets.'
|
7
12
|
s.authors = ['John Wang']
|
8
13
|
s.email = 'johncwang@gmail.com'
|
9
|
-
s.homepage =
|
10
|
-
'
|
11
|
-
s.
|
12
|
-
|
13
|
-
|
14
|
-
s.
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
'VERSION',
|
20
|
-
'base58_gmp.gemspec',
|
21
|
-
'lib/base58_gmp.rb',
|
22
|
-
'test/test_base58_gmp.rb',
|
23
|
-
'test/test_encode-decode-multi.rb',
|
24
|
-
'test/test_alphabets.rb'
|
25
|
-
]
|
26
|
-
|
14
|
+
s.homepage = 'https://github.com/grokify/'
|
15
|
+
s.licenses = ['MIT']
|
16
|
+
s.files = %w(CHANGELOG.md LICENSE.txt README.md base58_gmp.gemspec) + Dir['lib/**/*.rb']
|
17
|
+
s.required_ruby_version = '>= 2.0.0'
|
18
|
+
s.add_dependency 'gmp', '~> 0', '>= 0'
|
19
|
+
s.add_development_dependency 'bundler', '~> 1.0'
|
20
|
+
s.add_development_dependency 'coveralls', '~> 0'
|
21
|
+
s.add_development_dependency 'rake', '~> 11'
|
22
|
+
s.add_development_dependency 'simplecov', '~> 0'
|
23
|
+
s.add_development_dependency 'test-unit', '~> 3'
|
27
24
|
end
|
data/lib/base58_gmp.rb
CHANGED
@@ -1,39 +1,41 @@
|
|
1
1
|
# Base58GMP
|
2
|
-
# Copyright (c) 2011 John Wang
|
2
|
+
# Copyright (c) 2011-2016 John Wang
|
3
3
|
# http://johnwang.com
|
4
|
-
# Distributed under the MIT license as included with this
|
4
|
+
# Distributed under the MIT license as included with this gem.
|
5
5
|
|
6
|
-
require 'rubygems'
|
7
6
|
require 'digest/md5'
|
8
7
|
require 'gmp'
|
9
8
|
|
10
9
|
class Base58GMP
|
10
|
+
VERSION = '1.0.0'
|
11
11
|
|
12
|
-
ALPHABETS
|
13
|
-
|
14
|
-
|
15
|
-
'
|
12
|
+
ALPHABETS = {
|
13
|
+
bitcoin: '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz',
|
14
|
+
flickr: '123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ',
|
15
|
+
ripple: 'rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz',
|
16
|
+
gmp: '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv'
|
16
17
|
}
|
17
|
-
|
18
|
-
DEFAULT_ALPHABET =
|
19
|
-
GMP_ALPHABET
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
18
|
+
|
19
|
+
DEFAULT_ALPHABET = :flickr
|
20
|
+
GMP_ALPHABET = :gmp
|
21
|
+
BASE58_LENGTH_MD5 = 22
|
22
|
+
|
23
|
+
def self.integer_to_base58(integer, alphabet = DEFAULT_ALPHABET)
|
24
|
+
base58 = integer.is_a?(GMP::Z) \
|
25
|
+
? integer.to_s(58) \
|
26
|
+
: GMP::Z(integer).to_s(58)
|
27
|
+
|
28
|
+
normalize_alphabet(alphabet) == GMP_ALPHABET \
|
29
|
+
? base58 \
|
30
|
+
: from_to(base58, GMP_ALPHABET, alphabet)
|
29
31
|
end
|
30
32
|
|
31
|
-
def self.base58_to_integer(base58, alphabet=DEFAULT_ALPHABET)
|
32
|
-
unless base58.is_a?
|
33
|
-
|
33
|
+
def self.base58_to_integer(base58, alphabet = DEFAULT_ALPHABET)
|
34
|
+
unless base58.is_a? String
|
35
|
+
fail ArgumentError, 'Base58 argument is not a string.'
|
34
36
|
end
|
35
37
|
|
36
|
-
unless alphabet
|
38
|
+
unless normalize_alphabet(alphabet) == GMP_ALPHABET
|
37
39
|
base58 = from_to(base58, alphabet, GMP_ALPHABET)
|
38
40
|
end
|
39
41
|
|
@@ -41,31 +43,38 @@ class Base58GMP
|
|
41
43
|
end
|
42
44
|
|
43
45
|
def self.from_to(base58, from_alphabet, to_alphabet)
|
44
|
-
unless base58.is_a?
|
45
|
-
|
46
|
+
unless base58.is_a? String
|
47
|
+
fail ArgumentError, 'Base58 argument is not a string.'
|
46
48
|
end
|
47
49
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
50
|
+
from_digits = alphabet_digits from_alphabet
|
51
|
+
to_digits = alphabet_digits to_alphabet
|
52
|
+
|
53
|
+
from_digits != to_digits \
|
54
|
+
? base58.tr(from_digits, to_digits) \
|
55
|
+
: base58
|
56
|
+
end
|
54
57
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
58
|
+
def self.normalize_alphabet(alphabet)
|
59
|
+
alphabet.to_sym.downcase
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.alphabet_digits(alphabet)
|
63
|
+
alphabet = normalize_alphabet alphabet
|
64
|
+
|
65
|
+
unless ALPHABETS.key? alphabet
|
66
|
+
fail ArgumentError, "Alphabet is invalid: #{alphabet}"
|
60
67
|
end
|
61
68
|
|
62
|
-
|
63
|
-
base58.tr(from_digits, to_digits) :
|
64
|
-
base58
|
69
|
+
return ALPHABETS[alphabet]
|
65
70
|
end
|
66
71
|
|
67
|
-
def self.md5_base58(data, alphabet=DEFAULT_ALPHABET)
|
68
|
-
integer_to_base58(Digest::MD5.hexdigest(data).hex, alphabet)
|
72
|
+
def self.md5_base58(data, alphabet = DEFAULT_ALPHABET, opts = {})
|
73
|
+
base58 = integer_to_base58(Digest::MD5.hexdigest(data).hex, alphabet)
|
74
|
+
|
75
|
+
opts.key?(:pad) && opts[:pad] \
|
76
|
+
? base58.rjust(BASE58_LENGTH_MD5, alphabet_digits(alphabet)[0]) \
|
77
|
+
: base58
|
69
78
|
end
|
70
79
|
|
71
80
|
class << self
|
@@ -73,5 +82,4 @@ class Base58GMP
|
|
73
82
|
alias_method :decode, :base58_to_integer
|
74
83
|
alias_method :md5, :md5_base58
|
75
84
|
end
|
76
|
-
|
77
85
|
end
|
metadata
CHANGED
@@ -1,76 +1,139 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: base58_gmp
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 7
|
10
|
-
version: 0.0.7
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- John Wang
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
11
|
+
date: 2016-09-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: gmp
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.0'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.0'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: coveralls
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: rake
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '11'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '11'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: simplecov
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: test-unit
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '3'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '3'
|
103
|
+
description: High speed Base58 encoding using GMP with MD5 support and transcoding
|
104
|
+
between Flickr, Bitcoin and GMP alphabets.
|
23
105
|
email: johncwang@gmail.com
|
24
106
|
executables: []
|
25
|
-
|
26
107
|
extensions: []
|
27
|
-
|
28
|
-
|
29
|
-
-
|
30
|
-
|
31
|
-
-
|
32
|
-
- MIT-LICENSE
|
33
|
-
- README.rdoc
|
34
|
-
- Rakefile
|
35
|
-
- VERSION
|
108
|
+
extra_rdoc_files: []
|
109
|
+
files:
|
110
|
+
- CHANGELOG.md
|
111
|
+
- LICENSE.txt
|
112
|
+
- README.md
|
36
113
|
- base58_gmp.gemspec
|
37
114
|
- lib/base58_gmp.rb
|
38
|
-
|
39
|
-
|
40
|
-
-
|
41
|
-
|
42
|
-
homepage: http://rubygems.org/gems/base58_gmp
|
43
|
-
licenses: []
|
44
|
-
|
115
|
+
homepage: https://github.com/grokify/
|
116
|
+
licenses:
|
117
|
+
- MIT
|
118
|
+
metadata: {}
|
45
119
|
post_install_message:
|
46
120
|
rdoc_options: []
|
47
|
-
|
48
|
-
require_paths:
|
121
|
+
require_paths:
|
49
122
|
- lib
|
50
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
-
|
52
|
-
requirements:
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
53
125
|
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
version: "0"
|
59
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
|
-
requirements:
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 2.0.0
|
128
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
62
130
|
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
|
65
|
-
segments:
|
66
|
-
- 0
|
67
|
-
version: "0"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
68
133
|
requirements: []
|
69
|
-
|
70
134
|
rubyforge_project:
|
71
|
-
rubygems_version:
|
135
|
+
rubygems_version: 2.5.1
|
72
136
|
signing_key:
|
73
|
-
specification_version:
|
137
|
+
specification_version: 4
|
74
138
|
summary: High speed Base58 encoding using GMP with MD5 support
|
75
139
|
test_files: []
|
76
|
-
|