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