multicodecs 0.1.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/.gitignore +9 -0
 - data/.travis.yml +7 -0
 - data/Gemfile +4 -0
 - data/README.md +137 -0
 - data/Rakefile +22 -0
 - data/bin/console +14 -0
 - data/bin/setup +8 -0
 - data/lib/multicodecs.rb +9 -0
 - data/lib/multicodecs/bare.rb +18 -0
 - data/lib/multicodecs/registry.rb +60 -0
 - data/lib/multicodecs/version.rb +5 -0
 - data/lib/table.csv +423 -0
 - data/multicodecs.gemspec +48 -0
 - metadata +102 -0
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA256:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 0cbc0820c14127379a2a107103b88cfa5201c3f22d3942adcf35f5f0a1cb22ae
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 59245217741f176d4b6c07095efa14bf1abf02dae2ef1b0accbe230611512b1a
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: c2bbbd3a0b3c79d2a1e5281142b3366b55156da6fb300869253366e1a35d37914462dacb74c66da6847c993dfa6816aeb86d8d54040d337f43aa1e1d22f68c31
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c9c3fc2b00c4cc40a23d1151454fe15235b8bedd0aaccecc3dc002071b3ce79fdba37b2331e9cfd92aedfa86a31f014b144ef5fe518543eddc2eeac3bb0e7a9e
         
     | 
    
        data/.gitignore
    ADDED
    
    
    
        data/.travis.yml
    ADDED
    
    
    
        data/Gemfile
    ADDED
    
    
    
        data/README.md
    ADDED
    
    | 
         @@ -0,0 +1,137 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # Multicodecs
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            [][shield-link-travis]
         
     | 
| 
      
 4 
     | 
    
         
            +
            [][shield-link-gem]
         
     | 
| 
      
 5 
     | 
    
         
            +
            [][shield-link-license]
         
     | 
| 
      
 6 
     | 
    
         
            +
            [][shield-link-codeclimate]
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            [shield-link-travis]: https://travis-ci.com/SleeplessByte/ruby-multicodec
         
     | 
| 
      
 9 
     | 
    
         
            +
            [shield-link-gem]: https://badge.fury.io/rb/multicodecs
         
     | 
| 
      
 10 
     | 
    
         
            +
            [shield-link-license]: http://opensource.org/licenses/MIT
         
     | 
| 
      
 11 
     | 
    
         
            +
            [shield-link-codeclimate]: https://codeclimate.com/repos/-/maintainability
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            > Canonical table of of codecs used by various multiformats
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            `Multicodecs` is the ruby implementation of [multiformats/multicodec][spec].
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            ## Installation
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            Add this line to your application's Gemfile:
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            ```Ruby
         
     | 
| 
      
 22 
     | 
    
         
            +
            gem 'multicodecs', require: false
         
     | 
| 
      
 23 
     | 
    
         
            +
            ```
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            Or if you want to autoload the last known table:
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            ```Ruby
         
     | 
| 
      
 28 
     | 
    
         
            +
            gem 'multicodecs'
         
     | 
| 
      
 29 
     | 
    
         
            +
            ```
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            Or if you want the PORO _without_ any values:
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            ```Ruby
         
     | 
| 
      
 34 
     | 
    
         
            +
            gem 'multicodecs', require: 'multicodecs/bare'
         
     | 
| 
      
 35 
     | 
    
         
            +
            ```
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            And then execute:
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                $ bundle
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            Or install it yourself as:
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                $ gem install multicodecs
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            ## Usage
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            This is just a codec, not a protocol. This means that this gem only provides
         
     | 
| 
      
 48 
     | 
    
         
            +
            a nice-to-use mapping from the [single source of truth][table] to a PORO. It
         
     | 
| 
      
 49 
     | 
    
         
            +
            also allows you to bring your own values.
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 52 
     | 
    
         
            +
            require 'multicodecs'
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            Multicodecs['identity']
         
     | 
| 
      
 55 
     | 
    
         
            +
            # => #<struct Multicodecs::Registration code=0, name="identity", tag="multihash">
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
            Multicodecs[0x12]
         
     | 
| 
      
 58 
     | 
    
         
            +
            # => #<struct Multicodecs::Registration code=18, name="sha2-256", tag="multihash">
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            Multicodecs.find_by(name: 'protobuf')
         
     | 
| 
      
 61 
     | 
    
         
            +
            # => #<struct Multicodecs::Registration code=80, name="protobuf", tag="serialization">
         
     | 
| 
      
 62 
     | 
    
         
            +
            ```
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            You can `register` your own values
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 67 
     | 
    
         
            +
            Multicodecs.register(code: 0x12345, name: 'xxx', tag: 'vendor')
         
     | 
| 
      
 68 
     | 
    
         
            +
            # => #<struct Multicodecs::Registration code=74565, name="xxx", tag="vendor">
         
     | 
| 
      
 69 
     | 
    
         
            +
            ```
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            Convenience methods exist:
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
            - `Multicodecs.names`: returns all the known names
         
     | 
| 
      
 74 
     | 
    
         
            +
            - `Multicodecs.codes`: returns all the known codes
         
     | 
| 
      
 75 
     | 
    
         
            +
            - `Multicodecs.find_by(code: nil, name: nil)`: same as `[]`
         
     | 
| 
      
 76 
     | 
    
         
            +
            - `Multicodecs.fetch_by!(code: nil, name: nil)`: same as `[]` but errors if not found
         
     | 
| 
      
 77 
     | 
    
         
            +
            - `Multicodecs.load_csv(csv, radix: 16)`: loads table.csv like data
         
     | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            ## Related
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            - [`multiformats/multicodec`][git-multicodec]: the spec repository
         
     | 
| 
      
 82 
     | 
    
         
            +
            - [`multiformats/ruby-multibase`][git-ruby-multibase]: the ruby implementation of [`multiformats/multibase`][git-multibase]
         
     | 
| 
      
 83 
     | 
    
         
            +
            - [`multiformats/ruby-multihash`][git-ruby-multihash]: the ruby implementation of [`multiformats/multihash`][git-multihash]
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            ## Development
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
            After checking out the repo, run `bin/setup` to install dependencies. Then, run
         
     | 
| 
      
 88 
     | 
    
         
            +
            `rake test` to run the tests. You can also run `bin/console` for an interactive
         
     | 
| 
      
 89 
     | 
    
         
            +
            prompt that will allow you to experiment.
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
            To install this gem onto your local machine, run `bundle exec rake install`.
         
     | 
| 
      
 92 
     | 
    
         
            +
            To release a new version, update the version number in `version.rb`, and then
         
     | 
| 
      
 93 
     | 
    
         
            +
            run `bundle exec rake release`, which will create a git tag for the version,
         
     | 
| 
      
 94 
     | 
    
         
            +
            push git commits and tags, and push the `.gem` file to [rubygems.org][web-rubygems].
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
            ### Updating the table
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            The `Rakefile` provides an easy way of updating the `table.csv`, using a `rake`
         
     | 
| 
      
 99 
     | 
    
         
            +
            command.
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 102 
     | 
    
         
            +
            rake update
         
     | 
| 
      
 103 
     | 
    
         
            +
            # => updated lib/table.csv
         
     | 
| 
      
 104 
     | 
    
         
            +
            ```
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
            ## Contributing
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            Bug reports and pull requests are welcome on GitHub at [SleeplessByte/ruby-multicodec][git-self].
         
     | 
| 
      
 109 
     | 
    
         
            +
            This project is intended to be a safe, welcoming space for collaboration, and
         
     | 
| 
      
 110 
     | 
    
         
            +
            contributors are expected to adhere to the [Contributor Covenant][web-coc] code
         
     | 
| 
      
 111 
     | 
    
         
            +
            of conduct.
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
            ## License
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            The gem is available as open source under the terms of the [MIT License][web-mit].
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            ## Code of Conduct
         
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
            Everyone interacting in the Shrine::ConfigurableStorage project’s codebases,
         
     | 
| 
      
 120 
     | 
    
         
            +
            issue trackers, chat rooms and mailing lists is expected to follow the
         
     | 
| 
      
 121 
     | 
    
         
            +
            [code of conduct][git-self-coc].
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
            [spec]: https://github.com/multiformats/multicodec
         
     | 
| 
      
 124 
     | 
    
         
            +
            [git-self-coc]: https://github.com/SleeplessByte/ruby-multibase/blob/master/CODE_OF_CONDUCT.md
         
     | 
| 
      
 125 
     | 
    
         
            +
            [git-self]: https://github.com/SleeplessByte/ruby-multibase
         
     | 
| 
      
 126 
     | 
    
         
            +
            [git-ruby-multicodec]: https://github.com/SleeplessByte/ruby-multicodec
         
     | 
| 
      
 127 
     | 
    
         
            +
            [git-multicodec-table]: https://github.com/multiformats/multicodec/blob/master/multicodec.csv
         
     | 
| 
      
 128 
     | 
    
         
            +
            [git-multicodec]:  https://github.com/multiformats/multicodec
         
     | 
| 
      
 129 
     | 
    
         
            +
            [git-ruby-multibase]: https://github.com/SleeplessByte/ruby-multibase
         
     | 
| 
      
 130 
     | 
    
         
            +
            [git-multibase]:  https://github.com/multiformats/multibase
         
     | 
| 
      
 131 
     | 
    
         
            +
            [git-ruby-multihash]: https://github.com/multiformats/ruby-multihash
         
     | 
| 
      
 132 
     | 
    
         
            +
            [git-multihash]: https://github.com/multiformats/multihash
         
     | 
| 
      
 133 
     | 
    
         
            +
            [web-coc]: http://contributor-covenant.org
         
     | 
| 
      
 134 
     | 
    
         
            +
            [web-mit]: https://opensource.org/licenses/MIT
         
     | 
| 
      
 135 
     | 
    
         
            +
            [web-rubygems]: https://rubygems.org
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
    
        data/Rakefile
    ADDED
    
    | 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "bundler/gem_tasks"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "rake/testtask"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            Rake::TestTask.new(:test) do |t|
         
     | 
| 
      
 5 
     | 
    
         
            +
              t.libs << "test"
         
     | 
| 
      
 6 
     | 
    
         
            +
              t.libs << "lib"
         
     | 
| 
      
 7 
     | 
    
         
            +
              t.test_files = FileList["test/**/*_test.rb"]
         
     | 
| 
      
 8 
     | 
    
         
            +
            end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            Rake::Task.define_task(:update) do |t|
         
     | 
| 
      
 11 
     | 
    
         
            +
              require 'open-uri'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              SOURCE_FILE = 'https://raw.githubusercontent.com/multiformats/multicodec/master/table.csv'
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              File.open(File.join(__dir__, 'lib', 'table.csv'), "wb") do |saved_file|
         
     | 
| 
      
 16 
     | 
    
         
            +
                open(SOURCE_FILE, "rb") do |read_file|
         
     | 
| 
      
 17 
     | 
    
         
            +
                  saved_file.write(read_file.read)
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
              end
         
     | 
| 
      
 20 
     | 
    
         
            +
            end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            task :default => :test
         
     | 
    
        data/bin/console
    ADDED
    
    | 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require "bundler/setup"
         
     | 
| 
      
 4 
     | 
    
         
            +
            require "multicodecs"
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            # You can add fixtures and/or initialization code here to make experimenting
         
     | 
| 
      
 7 
     | 
    
         
            +
            # with your gem easier. You can also use a different console, if you like.
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            # (If you use this, don't forget to add pry to your Gemfile!)
         
     | 
| 
      
 10 
     | 
    
         
            +
            # require "pry"
         
     | 
| 
      
 11 
     | 
    
         
            +
            # Pry.start
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            require "irb"
         
     | 
| 
      
 14 
     | 
    
         
            +
            IRB.start(__FILE__)
         
     | 
    
        data/bin/setup
    ADDED
    
    
    
        data/lib/multicodecs.rb
    ADDED
    
    
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative './registry'
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            module Multicodecs
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              module_function
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              def load_csv(csv, radix: 16)
         
     | 
| 
      
 10 
     | 
    
         
            +
                csv.each do |row|
         
     | 
| 
      
 11 
     | 
    
         
            +
                  name  = row['name'] || row[0]
         
     | 
| 
      
 12 
     | 
    
         
            +
                  tag   = row['tag'] || row[1]
         
     | 
| 
      
 13 
     | 
    
         
            +
                  code  = row['code'] || row[2]
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                  Multicodecs.register(name: name.strip, tag: tag.strip, code: code.strip.to_i(16))
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,60 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module Multicodecs
         
     | 
| 
      
 4 
     | 
    
         
            +
              # rubocop:disable Style/MutableConstant
         
     | 
| 
      
 5 
     | 
    
         
            +
              REGISTRATIONS = {}
         
     | 
| 
      
 6 
     | 
    
         
            +
              # rubocop:enable Style/MutableConstant
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              Registration = Struct.new(:code, :name, :tag) do
         
     | 
| 
      
 9 
     | 
    
         
            +
                def hash
         
     | 
| 
      
 10 
     | 
    
         
            +
                  name.hash
         
     | 
| 
      
 11 
     | 
    
         
            +
                end
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                def ==(other)
         
     | 
| 
      
 14 
     | 
    
         
            +
                  return name == other if other.is_a?(String)
         
     | 
| 
      
 15 
     | 
    
         
            +
                  return code == other if other.is_a?(Integer)
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                  eql?(other)
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                def eql?(other)
         
     | 
| 
      
 21 
     | 
    
         
            +
                  other.is_a?(Registration) && other.name == name
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              module_function
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              def [](entry)
         
     | 
| 
      
 28 
     | 
    
         
            +
                find_by(code: entry, name: entry)
         
     | 
| 
      
 29 
     | 
    
         
            +
              end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              def register(code:, name:, tag:)
         
     | 
| 
      
 32 
     | 
    
         
            +
                Multicodecs::REGISTRATIONS[name] = Registration.new(
         
     | 
| 
      
 33 
     | 
    
         
            +
                  code,
         
     | 
| 
      
 34 
     | 
    
         
            +
                  name,
         
     | 
| 
      
 35 
     | 
    
         
            +
                  tag
         
     | 
| 
      
 36 
     | 
    
         
            +
                )
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
              def fetch_by!(code: nil, name: nil)
         
     | 
| 
      
 40 
     | 
    
         
            +
                return Multicodecs::REGISTRATIONS.fetch(name) if name
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                Multicodecs.find_by(code: code).tap do |found|
         
     | 
| 
      
 43 
     | 
    
         
            +
                  raise KeyError, "No codec has code #{code}" unless found
         
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
      
 45 
     | 
    
         
            +
              end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
              def find_by(code: nil, name: nil)
         
     | 
| 
      
 48 
     | 
    
         
            +
                Multicodecs::REGISTRATIONS.values.find do |v|
         
     | 
| 
      
 49 
     | 
    
         
            +
                  v == code || v == name
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
              def codes
         
     | 
| 
      
 54 
     | 
    
         
            +
                Multicodecs::REGISTRATIONS.values.map(&:code)
         
     | 
| 
      
 55 
     | 
    
         
            +
              end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
      
 57 
     | 
    
         
            +
              def names
         
     | 
| 
      
 58 
     | 
    
         
            +
                Multicodecs::REGISTRATIONS.keys
         
     | 
| 
      
 59 
     | 
    
         
            +
              end
         
     | 
| 
      
 60 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/table.csv
    ADDED
    
    | 
         @@ -0,0 +1,423 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            name,                           tag,            code,           description
         
     | 
| 
      
 2 
     | 
    
         
            +
            identity,                       multihash,      0x00,           raw binary
         
     | 
| 
      
 3 
     | 
    
         
            +
            ip4,                            multiaddr,      0x04,
         
     | 
| 
      
 4 
     | 
    
         
            +
            tcp,                            multiaddr,      0x06,
         
     | 
| 
      
 5 
     | 
    
         
            +
            sha1,                           multihash,      0x11,
         
     | 
| 
      
 6 
     | 
    
         
            +
            sha2-256,                       multihash,      0x12,
         
     | 
| 
      
 7 
     | 
    
         
            +
            sha2-512,                       multihash,      0x13,
         
     | 
| 
      
 8 
     | 
    
         
            +
            sha3-512,                       multihash,      0x14,
         
     | 
| 
      
 9 
     | 
    
         
            +
            sha3-384,                       multihash,      0x15,
         
     | 
| 
      
 10 
     | 
    
         
            +
            sha3-256,                       multihash,      0x16,
         
     | 
| 
      
 11 
     | 
    
         
            +
            sha3-224,                       multihash,      0x17,
         
     | 
| 
      
 12 
     | 
    
         
            +
            shake-128,                      multihash,      0x18,
         
     | 
| 
      
 13 
     | 
    
         
            +
            shake-256,                      multihash,      0x19,
         
     | 
| 
      
 14 
     | 
    
         
            +
            keccak-224,                     multihash,      0x1a,           keccak has variable output length. The number specifies the core length
         
     | 
| 
      
 15 
     | 
    
         
            +
            keccak-256,                     multihash,      0x1b,
         
     | 
| 
      
 16 
     | 
    
         
            +
            keccak-384,                     multihash,      0x1c,
         
     | 
| 
      
 17 
     | 
    
         
            +
            keccak-512,                     multihash,      0x1d,
         
     | 
| 
      
 18 
     | 
    
         
            +
            dccp,                           multiaddr,      0x21,
         
     | 
| 
      
 19 
     | 
    
         
            +
            murmur3-128,                    multihash,      0x22,
         
     | 
| 
      
 20 
     | 
    
         
            +
            murmur3-32,                     multihash,      0x23,
         
     | 
| 
      
 21 
     | 
    
         
            +
            ip6,                            multiaddr,      0x29,
         
     | 
| 
      
 22 
     | 
    
         
            +
            ip6zone,                        multiaddr,      0x2a,
         
     | 
| 
      
 23 
     | 
    
         
            +
            path,                           namespace,      0x2f,           Namespace for string paths. Corresponds to `/` in ASCII.
         
     | 
| 
      
 24 
     | 
    
         
            +
            multicodec,                     multiformat,    0x30,
         
     | 
| 
      
 25 
     | 
    
         
            +
            multihash,                      multiformat,    0x31,
         
     | 
| 
      
 26 
     | 
    
         
            +
            multiaddr,                      multiformat,    0x32,
         
     | 
| 
      
 27 
     | 
    
         
            +
            multibase,                      multiformat,    0x33,
         
     | 
| 
      
 28 
     | 
    
         
            +
            dns,                            multiaddr,      0x35,
         
     | 
| 
      
 29 
     | 
    
         
            +
            dns4,                           multiaddr,      0x36,
         
     | 
| 
      
 30 
     | 
    
         
            +
            dns6,                           multiaddr,      0x37,
         
     | 
| 
      
 31 
     | 
    
         
            +
            dnsaddr,                        multiaddr,      0x38,
         
     | 
| 
      
 32 
     | 
    
         
            +
            protobuf,                       serialization,  0x50,           Protocol Buffers
         
     | 
| 
      
 33 
     | 
    
         
            +
            cbor,                           serialization,  0x51,           CBOR
         
     | 
| 
      
 34 
     | 
    
         
            +
            raw,                            ipld,           0x55,           raw binary
         
     | 
| 
      
 35 
     | 
    
         
            +
            dbl-sha2-256,                   multihash,      0x56,
         
     | 
| 
      
 36 
     | 
    
         
            +
            rlp,                            serialization,  0x60,           recursive length prefix
         
     | 
| 
      
 37 
     | 
    
         
            +
            bencode,                        serialization,  0x63,           bencode
         
     | 
| 
      
 38 
     | 
    
         
            +
            dag-pb,                         ipld,           0x70,           MerkleDAG protobuf
         
     | 
| 
      
 39 
     | 
    
         
            +
            dag-cbor,                       ipld,           0x71,           MerkleDAG cbor
         
     | 
| 
      
 40 
     | 
    
         
            +
            libp2p-key,                     ipld,           0x72,           Libp2p Public Key
         
     | 
| 
      
 41 
     | 
    
         
            +
            git-raw,                        ipld,           0x78,           Raw Git object
         
     | 
| 
      
 42 
     | 
    
         
            +
            torrent-info,                   ipld,           0x7b,           Torrent file info field (bencoded)
         
     | 
| 
      
 43 
     | 
    
         
            +
            torrent-file,                   ipld,           0x7c,           Torrent file (bencoded)
         
     | 
| 
      
 44 
     | 
    
         
            +
            leofcoin-block,                 ipld,           0x81,           Leofcoin Block
         
     | 
| 
      
 45 
     | 
    
         
            +
            leofcoin-tx,                    ipld,           0x82,           Leofcoin Transaction
         
     | 
| 
      
 46 
     | 
    
         
            +
            leofcoin-pr,                    ipld,           0x83,           Leofcoin Peer Reputation
         
     | 
| 
      
 47 
     | 
    
         
            +
            sctp,                           multiaddr,      0x84,
         
     | 
| 
      
 48 
     | 
    
         
            +
            eth-block,                      ipld,           0x90,           Ethereum Block (RLP)
         
     | 
| 
      
 49 
     | 
    
         
            +
            eth-block-list,                 ipld,           0x91,           Ethereum Block List (RLP)
         
     | 
| 
      
 50 
     | 
    
         
            +
            eth-tx-trie,                    ipld,           0x92,           Ethereum Transaction Trie (Eth-Trie)
         
     | 
| 
      
 51 
     | 
    
         
            +
            eth-tx,                         ipld,           0x93,           Ethereum Transaction (RLP)
         
     | 
| 
      
 52 
     | 
    
         
            +
            eth-tx-receipt-trie,            ipld,           0x94,           Ethereum Transaction Receipt Trie (Eth-Trie)
         
     | 
| 
      
 53 
     | 
    
         
            +
            eth-tx-receipt,                 ipld,           0x95,           Ethereum Transaction Receipt (RLP)
         
     | 
| 
      
 54 
     | 
    
         
            +
            eth-state-trie,                 ipld,           0x96,           Ethereum State Trie (Eth-Secure-Trie)
         
     | 
| 
      
 55 
     | 
    
         
            +
            eth-account-snapshot,           ipld,           0x97,           Ethereum Account Snapshot (RLP)
         
     | 
| 
      
 56 
     | 
    
         
            +
            eth-storage-trie,               ipld,           0x98,           Ethereum Contract Storage Trie (Eth-Secure-Trie)
         
     | 
| 
      
 57 
     | 
    
         
            +
            bitcoin-block,                  ipld,           0xb0,           Bitcoin Block
         
     | 
| 
      
 58 
     | 
    
         
            +
            bitcoin-tx,                     ipld,           0xb1,           Bitcoin Tx
         
     | 
| 
      
 59 
     | 
    
         
            +
            zcash-block,                    ipld,           0xc0,           Zcash Block
         
     | 
| 
      
 60 
     | 
    
         
            +
            zcash-tx,                       ipld,           0xc1,           Zcash Tx
         
     | 
| 
      
 61 
     | 
    
         
            +
            stellar-block,                  ipld,           0xd0,           Stellar Block
         
     | 
| 
      
 62 
     | 
    
         
            +
            stellar-tx,                     ipld,           0xd1,           Stellar Tx
         
     | 
| 
      
 63 
     | 
    
         
            +
            md4,                            multihash,      0xd4,
         
     | 
| 
      
 64 
     | 
    
         
            +
            md5,                            multihash,      0xd5,
         
     | 
| 
      
 65 
     | 
    
         
            +
            bmt,                            multihash,      0xd6,           Binary Merkle Tree Hash
         
     | 
| 
      
 66 
     | 
    
         
            +
            decred-block,                   ipld,           0xe0,           Decred Block
         
     | 
| 
      
 67 
     | 
    
         
            +
            decred-tx,                      ipld,           0xe1,           Decred Tx
         
     | 
| 
      
 68 
     | 
    
         
            +
            ipld-ns,                        namespace,      0xe2,           IPLD path
         
     | 
| 
      
 69 
     | 
    
         
            +
            ipfs-ns,                        namespace,      0xe3,           IPFS path
         
     | 
| 
      
 70 
     | 
    
         
            +
            swarm-ns,                       namespace,      0xe4,           Swarm path
         
     | 
| 
      
 71 
     | 
    
         
            +
            ed25519-pub,                    key,            0xed,           Ed25519 public key
         
     | 
| 
      
 72 
     | 
    
         
            +
            dash-block,                     ipld,           0xf0,           Dash Block
         
     | 
| 
      
 73 
     | 
    
         
            +
            dash-tx,                        ipld,           0xf1,           Dash Tx
         
     | 
| 
      
 74 
     | 
    
         
            +
            swarm-manifest,                 ipld,           0xfa,           Swarm Manifest
         
     | 
| 
      
 75 
     | 
    
         
            +
            swarm-feed,                     ipld,           0xfb,           Swarm Feed
         
     | 
| 
      
 76 
     | 
    
         
            +
            udp,                            multiaddr,      0x0111,
         
     | 
| 
      
 77 
     | 
    
         
            +
            p2p-webrtc-star,                multiaddr,      0x0113,
         
     | 
| 
      
 78 
     | 
    
         
            +
            p2p-webrtc-direct,              multiaddr,      0x0114,
         
     | 
| 
      
 79 
     | 
    
         
            +
            p2p-stardust,                   multiaddr,      0x0115,
         
     | 
| 
      
 80 
     | 
    
         
            +
            p2p-circuit,                    multiaddr,      0x0122,
         
     | 
| 
      
 81 
     | 
    
         
            +
            dag-json,                       ipld,           0x0129,         MerkleDAG json
         
     | 
| 
      
 82 
     | 
    
         
            +
            udt,                            multiaddr,      0x012d,
         
     | 
| 
      
 83 
     | 
    
         
            +
            utp,                            multiaddr,      0x012e,
         
     | 
| 
      
 84 
     | 
    
         
            +
            unix,                           multiaddr,      0x0190,
         
     | 
| 
      
 85 
     | 
    
         
            +
            p2p,                            multiaddr,      0x01a5,         libp2p
         
     | 
| 
      
 86 
     | 
    
         
            +
            ipfs,                           multiaddr,      0x01a5,         libp2p (deprecated)
         
     | 
| 
      
 87 
     | 
    
         
            +
            https,                          multiaddr,      0x01bb,
         
     | 
| 
      
 88 
     | 
    
         
            +
            onion,                          multiaddr,      0x01bc,
         
     | 
| 
      
 89 
     | 
    
         
            +
            onion3,                         multiaddr,      0x01bd,
         
     | 
| 
      
 90 
     | 
    
         
            +
            garlic64,                       multiaddr,      0x01be,         I2P base64 (raw public key)
         
     | 
| 
      
 91 
     | 
    
         
            +
            garlic32,                       multiaddr,      0x01bf,         I2P base32 (hashed public key or encoded public key/checksum+optional secret)
         
     | 
| 
      
 92 
     | 
    
         
            +
            quic,                           multiaddr,      0x01cc,
         
     | 
| 
      
 93 
     | 
    
         
            +
            ws,                             multiaddr,      0x01dd,
         
     | 
| 
      
 94 
     | 
    
         
            +
            wss,                            multiaddr,      0x01de,
         
     | 
| 
      
 95 
     | 
    
         
            +
            p2p-websocket-star,             multiaddr,      0x01df,
         
     | 
| 
      
 96 
     | 
    
         
            +
            http,                           multiaddr,      0x01e0,
         
     | 
| 
      
 97 
     | 
    
         
            +
            x11,                            multihash,      0x1100,
         
     | 
| 
      
 98 
     | 
    
         
            +
            blake2b-8,                      multihash,      0xb201,         Blake2b consists of 64 output lengths that give different hashes
         
     | 
| 
      
 99 
     | 
    
         
            +
            blake2b-16,                     multihash,      0xb202,
         
     | 
| 
      
 100 
     | 
    
         
            +
            blake2b-24,                     multihash,      0xb203,
         
     | 
| 
      
 101 
     | 
    
         
            +
            blake2b-32,                     multihash,      0xb204,
         
     | 
| 
      
 102 
     | 
    
         
            +
            blake2b-40,                     multihash,      0xb205,
         
     | 
| 
      
 103 
     | 
    
         
            +
            blake2b-48,                     multihash,      0xb206,
         
     | 
| 
      
 104 
     | 
    
         
            +
            blake2b-56,                     multihash,      0xb207,
         
     | 
| 
      
 105 
     | 
    
         
            +
            blake2b-64,                     multihash,      0xb208,
         
     | 
| 
      
 106 
     | 
    
         
            +
            blake2b-72,                     multihash,      0xb209,
         
     | 
| 
      
 107 
     | 
    
         
            +
            blake2b-80,                     multihash,      0xb20a,
         
     | 
| 
      
 108 
     | 
    
         
            +
            blake2b-88,                     multihash,      0xb20b,
         
     | 
| 
      
 109 
     | 
    
         
            +
            blake2b-96,                     multihash,      0xb20c,
         
     | 
| 
      
 110 
     | 
    
         
            +
            blake2b-104,                    multihash,      0xb20d,
         
     | 
| 
      
 111 
     | 
    
         
            +
            blake2b-112,                    multihash,      0xb20e,
         
     | 
| 
      
 112 
     | 
    
         
            +
            blake2b-120,                    multihash,      0xb20f,
         
     | 
| 
      
 113 
     | 
    
         
            +
            blake2b-128,                    multihash,      0xb210,
         
     | 
| 
      
 114 
     | 
    
         
            +
            blake2b-136,                    multihash,      0xb211,
         
     | 
| 
      
 115 
     | 
    
         
            +
            blake2b-144,                    multihash,      0xb212,
         
     | 
| 
      
 116 
     | 
    
         
            +
            blake2b-152,                    multihash,      0xb213,
         
     | 
| 
      
 117 
     | 
    
         
            +
            blake2b-160,                    multihash,      0xb214,
         
     | 
| 
      
 118 
     | 
    
         
            +
            blake2b-168,                    multihash,      0xb215,
         
     | 
| 
      
 119 
     | 
    
         
            +
            blake2b-176,                    multihash,      0xb216,
         
     | 
| 
      
 120 
     | 
    
         
            +
            blake2b-184,                    multihash,      0xb217,
         
     | 
| 
      
 121 
     | 
    
         
            +
            blake2b-192,                    multihash,      0xb218,
         
     | 
| 
      
 122 
     | 
    
         
            +
            blake2b-200,                    multihash,      0xb219,
         
     | 
| 
      
 123 
     | 
    
         
            +
            blake2b-208,                    multihash,      0xb21a,
         
     | 
| 
      
 124 
     | 
    
         
            +
            blake2b-216,                    multihash,      0xb21b,
         
     | 
| 
      
 125 
     | 
    
         
            +
            blake2b-224,                    multihash,      0xb21c,
         
     | 
| 
      
 126 
     | 
    
         
            +
            blake2b-232,                    multihash,      0xb21d,
         
     | 
| 
      
 127 
     | 
    
         
            +
            blake2b-240,                    multihash,      0xb21e,
         
     | 
| 
      
 128 
     | 
    
         
            +
            blake2b-248,                    multihash,      0xb21f,
         
     | 
| 
      
 129 
     | 
    
         
            +
            blake2b-256,                    multihash,      0xb220,
         
     | 
| 
      
 130 
     | 
    
         
            +
            blake2b-264,                    multihash,      0xb221,
         
     | 
| 
      
 131 
     | 
    
         
            +
            blake2b-272,                    multihash,      0xb222,
         
     | 
| 
      
 132 
     | 
    
         
            +
            blake2b-280,                    multihash,      0xb223,
         
     | 
| 
      
 133 
     | 
    
         
            +
            blake2b-288,                    multihash,      0xb224,
         
     | 
| 
      
 134 
     | 
    
         
            +
            blake2b-296,                    multihash,      0xb225,
         
     | 
| 
      
 135 
     | 
    
         
            +
            blake2b-304,                    multihash,      0xb226,
         
     | 
| 
      
 136 
     | 
    
         
            +
            blake2b-312,                    multihash,      0xb227,
         
     | 
| 
      
 137 
     | 
    
         
            +
            blake2b-320,                    multihash,      0xb228,
         
     | 
| 
      
 138 
     | 
    
         
            +
            blake2b-328,                    multihash,      0xb229,
         
     | 
| 
      
 139 
     | 
    
         
            +
            blake2b-336,                    multihash,      0xb22a,
         
     | 
| 
      
 140 
     | 
    
         
            +
            blake2b-344,                    multihash,      0xb22b,
         
     | 
| 
      
 141 
     | 
    
         
            +
            blake2b-352,                    multihash,      0xb22c,
         
     | 
| 
      
 142 
     | 
    
         
            +
            blake2b-360,                    multihash,      0xb22d,
         
     | 
| 
      
 143 
     | 
    
         
            +
            blake2b-368,                    multihash,      0xb22e,
         
     | 
| 
      
 144 
     | 
    
         
            +
            blake2b-376,                    multihash,      0xb22f,
         
     | 
| 
      
 145 
     | 
    
         
            +
            blake2b-384,                    multihash,      0xb230,
         
     | 
| 
      
 146 
     | 
    
         
            +
            blake2b-392,                    multihash,      0xb231,
         
     | 
| 
      
 147 
     | 
    
         
            +
            blake2b-400,                    multihash,      0xb232,
         
     | 
| 
      
 148 
     | 
    
         
            +
            blake2b-408,                    multihash,      0xb233,
         
     | 
| 
      
 149 
     | 
    
         
            +
            blake2b-416,                    multihash,      0xb234,
         
     | 
| 
      
 150 
     | 
    
         
            +
            blake2b-424,                    multihash,      0xb235,
         
     | 
| 
      
 151 
     | 
    
         
            +
            blake2b-432,                    multihash,      0xb236,
         
     | 
| 
      
 152 
     | 
    
         
            +
            blake2b-440,                    multihash,      0xb237,
         
     | 
| 
      
 153 
     | 
    
         
            +
            blake2b-448,                    multihash,      0xb238,
         
     | 
| 
      
 154 
     | 
    
         
            +
            blake2b-456,                    multihash,      0xb239,
         
     | 
| 
      
 155 
     | 
    
         
            +
            blake2b-464,                    multihash,      0xb23a,
         
     | 
| 
      
 156 
     | 
    
         
            +
            blake2b-472,                    multihash,      0xb23b,
         
     | 
| 
      
 157 
     | 
    
         
            +
            blake2b-480,                    multihash,      0xb23c,
         
     | 
| 
      
 158 
     | 
    
         
            +
            blake2b-488,                    multihash,      0xb23d,
         
     | 
| 
      
 159 
     | 
    
         
            +
            blake2b-496,                    multihash,      0xb23e,
         
     | 
| 
      
 160 
     | 
    
         
            +
            blake2b-504,                    multihash,      0xb23f,
         
     | 
| 
      
 161 
     | 
    
         
            +
            blake2b-512,                    multihash,      0xb240,
         
     | 
| 
      
 162 
     | 
    
         
            +
            blake2s-8,                      multihash,      0xb241,         Blake2s consists of 32 output lengths that give different hashes
         
     | 
| 
      
 163 
     | 
    
         
            +
            blake2s-16,                     multihash,      0xb242,
         
     | 
| 
      
 164 
     | 
    
         
            +
            blake2s-24,                     multihash,      0xb243,
         
     | 
| 
      
 165 
     | 
    
         
            +
            blake2s-32,                     multihash,      0xb244,
         
     | 
| 
      
 166 
     | 
    
         
            +
            blake2s-40,                     multihash,      0xb245,
         
     | 
| 
      
 167 
     | 
    
         
            +
            blake2s-48,                     multihash,      0xb246,
         
     | 
| 
      
 168 
     | 
    
         
            +
            blake2s-56,                     multihash,      0xb247,
         
     | 
| 
      
 169 
     | 
    
         
            +
            blake2s-64,                     multihash,      0xb248,
         
     | 
| 
      
 170 
     | 
    
         
            +
            blake2s-72,                     multihash,      0xb249,
         
     | 
| 
      
 171 
     | 
    
         
            +
            blake2s-80,                     multihash,      0xb24a,
         
     | 
| 
      
 172 
     | 
    
         
            +
            blake2s-88,                     multihash,      0xb24b,
         
     | 
| 
      
 173 
     | 
    
         
            +
            blake2s-96,                     multihash,      0xb24c,
         
     | 
| 
      
 174 
     | 
    
         
            +
            blake2s-104,                    multihash,      0xb24d,
         
     | 
| 
      
 175 
     | 
    
         
            +
            blake2s-112,                    multihash,      0xb24e,
         
     | 
| 
      
 176 
     | 
    
         
            +
            blake2s-120,                    multihash,      0xb24f,
         
     | 
| 
      
 177 
     | 
    
         
            +
            blake2s-128,                    multihash,      0xb250,
         
     | 
| 
      
 178 
     | 
    
         
            +
            blake2s-136,                    multihash,      0xb251,
         
     | 
| 
      
 179 
     | 
    
         
            +
            blake2s-144,                    multihash,      0xb252,
         
     | 
| 
      
 180 
     | 
    
         
            +
            blake2s-152,                    multihash,      0xb253,
         
     | 
| 
      
 181 
     | 
    
         
            +
            blake2s-160,                    multihash,      0xb254,
         
     | 
| 
      
 182 
     | 
    
         
            +
            blake2s-168,                    multihash,      0xb255,
         
     | 
| 
      
 183 
     | 
    
         
            +
            blake2s-176,                    multihash,      0xb256,
         
     | 
| 
      
 184 
     | 
    
         
            +
            blake2s-184,                    multihash,      0xb257,
         
     | 
| 
      
 185 
     | 
    
         
            +
            blake2s-192,                    multihash,      0xb258,
         
     | 
| 
      
 186 
     | 
    
         
            +
            blake2s-200,                    multihash,      0xb259,
         
     | 
| 
      
 187 
     | 
    
         
            +
            blake2s-208,                    multihash,      0xb25a,
         
     | 
| 
      
 188 
     | 
    
         
            +
            blake2s-216,                    multihash,      0xb25b,
         
     | 
| 
      
 189 
     | 
    
         
            +
            blake2s-224,                    multihash,      0xb25c,
         
     | 
| 
      
 190 
     | 
    
         
            +
            blake2s-232,                    multihash,      0xb25d,
         
     | 
| 
      
 191 
     | 
    
         
            +
            blake2s-240,                    multihash,      0xb25e,
         
     | 
| 
      
 192 
     | 
    
         
            +
            blake2s-248,                    multihash,      0xb25f,
         
     | 
| 
      
 193 
     | 
    
         
            +
            blake2s-256,                    multihash,      0xb260,
         
     | 
| 
      
 194 
     | 
    
         
            +
            skein256-8,                     multihash,      0xb301,         Skein256 consists of 32 output lengths that give different hashes
         
     | 
| 
      
 195 
     | 
    
         
            +
            skein256-16,                    multihash,      0xb302,
         
     | 
| 
      
 196 
     | 
    
         
            +
            skein256-24,                    multihash,      0xb303,
         
     | 
| 
      
 197 
     | 
    
         
            +
            skein256-32,                    multihash,      0xb304,
         
     | 
| 
      
 198 
     | 
    
         
            +
            skein256-40,                    multihash,      0xb305,
         
     | 
| 
      
 199 
     | 
    
         
            +
            skein256-48,                    multihash,      0xb306,
         
     | 
| 
      
 200 
     | 
    
         
            +
            skein256-56,                    multihash,      0xb307,
         
     | 
| 
      
 201 
     | 
    
         
            +
            skein256-64,                    multihash,      0xb308,
         
     | 
| 
      
 202 
     | 
    
         
            +
            skein256-72,                    multihash,      0xb309,
         
     | 
| 
      
 203 
     | 
    
         
            +
            skein256-80,                    multihash,      0xb30a,
         
     | 
| 
      
 204 
     | 
    
         
            +
            skein256-88,                    multihash,      0xb30b,
         
     | 
| 
      
 205 
     | 
    
         
            +
            skein256-96,                    multihash,      0xb30c,
         
     | 
| 
      
 206 
     | 
    
         
            +
            skein256-104,                   multihash,      0xb30d,
         
     | 
| 
      
 207 
     | 
    
         
            +
            skein256-112,                   multihash,      0xb30e,
         
     | 
| 
      
 208 
     | 
    
         
            +
            skein256-120,                   multihash,      0xb30f,
         
     | 
| 
      
 209 
     | 
    
         
            +
            skein256-128,                   multihash,      0xb310,
         
     | 
| 
      
 210 
     | 
    
         
            +
            skein256-136,                   multihash,      0xb311,
         
     | 
| 
      
 211 
     | 
    
         
            +
            skein256-144,                   multihash,      0xb312,
         
     | 
| 
      
 212 
     | 
    
         
            +
            skein256-152,                   multihash,      0xb313,
         
     | 
| 
      
 213 
     | 
    
         
            +
            skein256-160,                   multihash,      0xb314,
         
     | 
| 
      
 214 
     | 
    
         
            +
            skein256-168,                   multihash,      0xb315,
         
     | 
| 
      
 215 
     | 
    
         
            +
            skein256-176,                   multihash,      0xb316,
         
     | 
| 
      
 216 
     | 
    
         
            +
            skein256-184,                   multihash,      0xb317,
         
     | 
| 
      
 217 
     | 
    
         
            +
            skein256-192,                   multihash,      0xb318,
         
     | 
| 
      
 218 
     | 
    
         
            +
            skein256-200,                   multihash,      0xb319,
         
     | 
| 
      
 219 
     | 
    
         
            +
            skein256-208,                   multihash,      0xb31a,
         
     | 
| 
      
 220 
     | 
    
         
            +
            skein256-216,                   multihash,      0xb31b,
         
     | 
| 
      
 221 
     | 
    
         
            +
            skein256-224,                   multihash,      0xb31c,
         
     | 
| 
      
 222 
     | 
    
         
            +
            skein256-232,                   multihash,      0xb31d,
         
     | 
| 
      
 223 
     | 
    
         
            +
            skein256-240,                   multihash,      0xb31e,
         
     | 
| 
      
 224 
     | 
    
         
            +
            skein256-248,                   multihash,      0xb31f,
         
     | 
| 
      
 225 
     | 
    
         
            +
            skein256-256,                   multihash,      0xb320,
         
     | 
| 
      
 226 
     | 
    
         
            +
            skein512-8,                     multihash,      0xb321,         Skein512 consists of 64 output lengths that give different hashes
         
     | 
| 
      
 227 
     | 
    
         
            +
            skein512-16,                    multihash,      0xb322,
         
     | 
| 
      
 228 
     | 
    
         
            +
            skein512-24,                    multihash,      0xb323,
         
     | 
| 
      
 229 
     | 
    
         
            +
            skein512-32,                    multihash,      0xb324,
         
     | 
| 
      
 230 
     | 
    
         
            +
            skein512-40,                    multihash,      0xb325,
         
     | 
| 
      
 231 
     | 
    
         
            +
            skein512-48,                    multihash,      0xb326,
         
     | 
| 
      
 232 
     | 
    
         
            +
            skein512-56,                    multihash,      0xb327,
         
     | 
| 
      
 233 
     | 
    
         
            +
            skein512-64,                    multihash,      0xb328,
         
     | 
| 
      
 234 
     | 
    
         
            +
            skein512-72,                    multihash,      0xb329,
         
     | 
| 
      
 235 
     | 
    
         
            +
            skein512-80,                    multihash,      0xb32a,
         
     | 
| 
      
 236 
     | 
    
         
            +
            skein512-88,                    multihash,      0xb32b,
         
     | 
| 
      
 237 
     | 
    
         
            +
            skein512-96,                    multihash,      0xb32c,
         
     | 
| 
      
 238 
     | 
    
         
            +
            skein512-104,                   multihash,      0xb32d,
         
     | 
| 
      
 239 
     | 
    
         
            +
            skein512-112,                   multihash,      0xb32e,
         
     | 
| 
      
 240 
     | 
    
         
            +
            skein512-120,                   multihash,      0xb32f,
         
     | 
| 
      
 241 
     | 
    
         
            +
            skein512-128,                   multihash,      0xb330,
         
     | 
| 
      
 242 
     | 
    
         
            +
            skein512-136,                   multihash,      0xb331,
         
     | 
| 
      
 243 
     | 
    
         
            +
            skein512-144,                   multihash,      0xb332,
         
     | 
| 
      
 244 
     | 
    
         
            +
            skein512-152,                   multihash,      0xb333,
         
     | 
| 
      
 245 
     | 
    
         
            +
            skein512-160,                   multihash,      0xb334,
         
     | 
| 
      
 246 
     | 
    
         
            +
            skein512-168,                   multihash,      0xb335,
         
     | 
| 
      
 247 
     | 
    
         
            +
            skein512-176,                   multihash,      0xb336,
         
     | 
| 
      
 248 
     | 
    
         
            +
            skein512-184,                   multihash,      0xb337,
         
     | 
| 
      
 249 
     | 
    
         
            +
            skein512-192,                   multihash,      0xb338,
         
     | 
| 
      
 250 
     | 
    
         
            +
            skein512-200,                   multihash,      0xb339,
         
     | 
| 
      
 251 
     | 
    
         
            +
            skein512-208,                   multihash,      0xb33a,
         
     | 
| 
      
 252 
     | 
    
         
            +
            skein512-216,                   multihash,      0xb33b,
         
     | 
| 
      
 253 
     | 
    
         
            +
            skein512-224,                   multihash,      0xb33c,
         
     | 
| 
      
 254 
     | 
    
         
            +
            skein512-232,                   multihash,      0xb33d,
         
     | 
| 
      
 255 
     | 
    
         
            +
            skein512-240,                   multihash,      0xb33e,
         
     | 
| 
      
 256 
     | 
    
         
            +
            skein512-248,                   multihash,      0xb33f,
         
     | 
| 
      
 257 
     | 
    
         
            +
            skein512-256,                   multihash,      0xb340,
         
     | 
| 
      
 258 
     | 
    
         
            +
            skein512-264,                   multihash,      0xb341,
         
     | 
| 
      
 259 
     | 
    
         
            +
            skein512-272,                   multihash,      0xb342,
         
     | 
| 
      
 260 
     | 
    
         
            +
            skein512-280,                   multihash,      0xb343,
         
     | 
| 
      
 261 
     | 
    
         
            +
            skein512-288,                   multihash,      0xb344,
         
     | 
| 
      
 262 
     | 
    
         
            +
            skein512-296,                   multihash,      0xb345,
         
     | 
| 
      
 263 
     | 
    
         
            +
            skein512-304,                   multihash,      0xb346,
         
     | 
| 
      
 264 
     | 
    
         
            +
            skein512-312,                   multihash,      0xb347,
         
     | 
| 
      
 265 
     | 
    
         
            +
            skein512-320,                   multihash,      0xb348,
         
     | 
| 
      
 266 
     | 
    
         
            +
            skein512-328,                   multihash,      0xb349,
         
     | 
| 
      
 267 
     | 
    
         
            +
            skein512-336,                   multihash,      0xb34a,
         
     | 
| 
      
 268 
     | 
    
         
            +
            skein512-344,                   multihash,      0xb34b,
         
     | 
| 
      
 269 
     | 
    
         
            +
            skein512-352,                   multihash,      0xb34c,
         
     | 
| 
      
 270 
     | 
    
         
            +
            skein512-360,                   multihash,      0xb34d,
         
     | 
| 
      
 271 
     | 
    
         
            +
            skein512-368,                   multihash,      0xb34e,
         
     | 
| 
      
 272 
     | 
    
         
            +
            skein512-376,                   multihash,      0xb34f,
         
     | 
| 
      
 273 
     | 
    
         
            +
            skein512-384,                   multihash,      0xb350,
         
     | 
| 
      
 274 
     | 
    
         
            +
            skein512-392,                   multihash,      0xb351,
         
     | 
| 
      
 275 
     | 
    
         
            +
            skein512-400,                   multihash,      0xb352,
         
     | 
| 
      
 276 
     | 
    
         
            +
            skein512-408,                   multihash,      0xb353,
         
     | 
| 
      
 277 
     | 
    
         
            +
            skein512-416,                   multihash,      0xb354,
         
     | 
| 
      
 278 
     | 
    
         
            +
            skein512-424,                   multihash,      0xb355,
         
     | 
| 
      
 279 
     | 
    
         
            +
            skein512-432,                   multihash,      0xb356,
         
     | 
| 
      
 280 
     | 
    
         
            +
            skein512-440,                   multihash,      0xb357,
         
     | 
| 
      
 281 
     | 
    
         
            +
            skein512-448,                   multihash,      0xb358,
         
     | 
| 
      
 282 
     | 
    
         
            +
            skein512-456,                   multihash,      0xb359,
         
     | 
| 
      
 283 
     | 
    
         
            +
            skein512-464,                   multihash,      0xb35a,
         
     | 
| 
      
 284 
     | 
    
         
            +
            skein512-472,                   multihash,      0xb35b,
         
     | 
| 
      
 285 
     | 
    
         
            +
            skein512-480,                   multihash,      0xb35c,
         
     | 
| 
      
 286 
     | 
    
         
            +
            skein512-488,                   multihash,      0xb35d,
         
     | 
| 
      
 287 
     | 
    
         
            +
            skein512-496,                   multihash,      0xb35e,
         
     | 
| 
      
 288 
     | 
    
         
            +
            skein512-504,                   multihash,      0xb35f,
         
     | 
| 
      
 289 
     | 
    
         
            +
            skein512-512,                   multihash,      0xb360,
         
     | 
| 
      
 290 
     | 
    
         
            +
            skein1024-8,                    multihash,      0xb361,         Skein1024 consists of 128 output lengths that give different hashes
         
     | 
| 
      
 291 
     | 
    
         
            +
            skein1024-16,                   multihash,      0xb362,
         
     | 
| 
      
 292 
     | 
    
         
            +
            skein1024-24,                   multihash,      0xb363,
         
     | 
| 
      
 293 
     | 
    
         
            +
            skein1024-32,                   multihash,      0xb364,
         
     | 
| 
      
 294 
     | 
    
         
            +
            skein1024-40,                   multihash,      0xb365,
         
     | 
| 
      
 295 
     | 
    
         
            +
            skein1024-48,                   multihash,      0xb366,
         
     | 
| 
      
 296 
     | 
    
         
            +
            skein1024-56,                   multihash,      0xb367,
         
     | 
| 
      
 297 
     | 
    
         
            +
            skein1024-64,                   multihash,      0xb368,
         
     | 
| 
      
 298 
     | 
    
         
            +
            skein1024-72,                   multihash,      0xb369,
         
     | 
| 
      
 299 
     | 
    
         
            +
            skein1024-80,                   multihash,      0xb36a,
         
     | 
| 
      
 300 
     | 
    
         
            +
            skein1024-88,                   multihash,      0xb36b,
         
     | 
| 
      
 301 
     | 
    
         
            +
            skein1024-96,                   multihash,      0xb36c,
         
     | 
| 
      
 302 
     | 
    
         
            +
            skein1024-104,                  multihash,      0xb36d,
         
     | 
| 
      
 303 
     | 
    
         
            +
            skein1024-112,                  multihash,      0xb36e,
         
     | 
| 
      
 304 
     | 
    
         
            +
            skein1024-120,                  multihash,      0xb36f,
         
     | 
| 
      
 305 
     | 
    
         
            +
            skein1024-128,                  multihash,      0xb370,
         
     | 
| 
      
 306 
     | 
    
         
            +
            skein1024-136,                  multihash,      0xb371,
         
     | 
| 
      
 307 
     | 
    
         
            +
            skein1024-144,                  multihash,      0xb372,
         
     | 
| 
      
 308 
     | 
    
         
            +
            skein1024-152,                  multihash,      0xb373,
         
     | 
| 
      
 309 
     | 
    
         
            +
            skein1024-160,                  multihash,      0xb374,
         
     | 
| 
      
 310 
     | 
    
         
            +
            skein1024-168,                  multihash,      0xb375,
         
     | 
| 
      
 311 
     | 
    
         
            +
            skein1024-176,                  multihash,      0xb376,
         
     | 
| 
      
 312 
     | 
    
         
            +
            skein1024-184,                  multihash,      0xb377,
         
     | 
| 
      
 313 
     | 
    
         
            +
            skein1024-192,                  multihash,      0xb378,
         
     | 
| 
      
 314 
     | 
    
         
            +
            skein1024-200,                  multihash,      0xb379,
         
     | 
| 
      
 315 
     | 
    
         
            +
            skein1024-208,                  multihash,      0xb37a,
         
     | 
| 
      
 316 
     | 
    
         
            +
            skein1024-216,                  multihash,      0xb37b,
         
     | 
| 
      
 317 
     | 
    
         
            +
            skein1024-224,                  multihash,      0xb37c,
         
     | 
| 
      
 318 
     | 
    
         
            +
            skein1024-232,                  multihash,      0xb37d,
         
     | 
| 
      
 319 
     | 
    
         
            +
            skein1024-240,                  multihash,      0xb37e,
         
     | 
| 
      
 320 
     | 
    
         
            +
            skein1024-248,                  multihash,      0xb37f,
         
     | 
| 
      
 321 
     | 
    
         
            +
            skein1024-256,                  multihash,      0xb380,
         
     | 
| 
      
 322 
     | 
    
         
            +
            skein1024-264,                  multihash,      0xb381,
         
     | 
| 
      
 323 
     | 
    
         
            +
            skein1024-272,                  multihash,      0xb382,
         
     | 
| 
      
 324 
     | 
    
         
            +
            skein1024-280,                  multihash,      0xb383,
         
     | 
| 
      
 325 
     | 
    
         
            +
            skein1024-288,                  multihash,      0xb384,
         
     | 
| 
      
 326 
     | 
    
         
            +
            skein1024-296,                  multihash,      0xb385,
         
     | 
| 
      
 327 
     | 
    
         
            +
            skein1024-304,                  multihash,      0xb386,
         
     | 
| 
      
 328 
     | 
    
         
            +
            skein1024-312,                  multihash,      0xb387,
         
     | 
| 
      
 329 
     | 
    
         
            +
            skein1024-320,                  multihash,      0xb388,
         
     | 
| 
      
 330 
     | 
    
         
            +
            skein1024-328,                  multihash,      0xb389,
         
     | 
| 
      
 331 
     | 
    
         
            +
            skein1024-336,                  multihash,      0xb38a,
         
     | 
| 
      
 332 
     | 
    
         
            +
            skein1024-344,                  multihash,      0xb38b,
         
     | 
| 
      
 333 
     | 
    
         
            +
            skein1024-352,                  multihash,      0xb38c,
         
     | 
| 
      
 334 
     | 
    
         
            +
            skein1024-360,                  multihash,      0xb38d,
         
     | 
| 
      
 335 
     | 
    
         
            +
            skein1024-368,                  multihash,      0xb38e,
         
     | 
| 
      
 336 
     | 
    
         
            +
            skein1024-376,                  multihash,      0xb38f,
         
     | 
| 
      
 337 
     | 
    
         
            +
            skein1024-384,                  multihash,      0xb390,
         
     | 
| 
      
 338 
     | 
    
         
            +
            skein1024-392,                  multihash,      0xb391,
         
     | 
| 
      
 339 
     | 
    
         
            +
            skein1024-400,                  multihash,      0xb392,
         
     | 
| 
      
 340 
     | 
    
         
            +
            skein1024-408,                  multihash,      0xb393,
         
     | 
| 
      
 341 
     | 
    
         
            +
            skein1024-416,                  multihash,      0xb394,
         
     | 
| 
      
 342 
     | 
    
         
            +
            skein1024-424,                  multihash,      0xb395,
         
     | 
| 
      
 343 
     | 
    
         
            +
            skein1024-432,                  multihash,      0xb396,
         
     | 
| 
      
 344 
     | 
    
         
            +
            skein1024-440,                  multihash,      0xb397,
         
     | 
| 
      
 345 
     | 
    
         
            +
            skein1024-448,                  multihash,      0xb398,
         
     | 
| 
      
 346 
     | 
    
         
            +
            skein1024-456,                  multihash,      0xb399,
         
     | 
| 
      
 347 
     | 
    
         
            +
            skein1024-464,                  multihash,      0xb39a,
         
     | 
| 
      
 348 
     | 
    
         
            +
            skein1024-472,                  multihash,      0xb39b,
         
     | 
| 
      
 349 
     | 
    
         
            +
            skein1024-480,                  multihash,      0xb39c,
         
     | 
| 
      
 350 
     | 
    
         
            +
            skein1024-488,                  multihash,      0xb39d,
         
     | 
| 
      
 351 
     | 
    
         
            +
            skein1024-496,                  multihash,      0xb39e,
         
     | 
| 
      
 352 
     | 
    
         
            +
            skein1024-504,                  multihash,      0xb39f,
         
     | 
| 
      
 353 
     | 
    
         
            +
            skein1024-512,                  multihash,      0xb3a0,
         
     | 
| 
      
 354 
     | 
    
         
            +
            skein1024-520,                  multihash,      0xb3a1,
         
     | 
| 
      
 355 
     | 
    
         
            +
            skein1024-528,                  multihash,      0xb3a2,
         
     | 
| 
      
 356 
     | 
    
         
            +
            skein1024-536,                  multihash,      0xb3a3,
         
     | 
| 
      
 357 
     | 
    
         
            +
            skein1024-544,                  multihash,      0xb3a4,
         
     | 
| 
      
 358 
     | 
    
         
            +
            skein1024-552,                  multihash,      0xb3a5,
         
     | 
| 
      
 359 
     | 
    
         
            +
            skein1024-560,                  multihash,      0xb3a6,
         
     | 
| 
      
 360 
     | 
    
         
            +
            skein1024-568,                  multihash,      0xb3a7,
         
     | 
| 
      
 361 
     | 
    
         
            +
            skein1024-576,                  multihash,      0xb3a8,
         
     | 
| 
      
 362 
     | 
    
         
            +
            skein1024-584,                  multihash,      0xb3a9,
         
     | 
| 
      
 363 
     | 
    
         
            +
            skein1024-592,                  multihash,      0xb3aa,
         
     | 
| 
      
 364 
     | 
    
         
            +
            skein1024-600,                  multihash,      0xb3ab,
         
     | 
| 
      
 365 
     | 
    
         
            +
            skein1024-608,                  multihash,      0xb3ac,
         
     | 
| 
      
 366 
     | 
    
         
            +
            skein1024-616,                  multihash,      0xb3ad,
         
     | 
| 
      
 367 
     | 
    
         
            +
            skein1024-624,                  multihash,      0xb3ae,
         
     | 
| 
      
 368 
     | 
    
         
            +
            skein1024-632,                  multihash,      0xb3af,
         
     | 
| 
      
 369 
     | 
    
         
            +
            skein1024-640,                  multihash,      0xb3b0,
         
     | 
| 
      
 370 
     | 
    
         
            +
            skein1024-648,                  multihash,      0xb3b1,
         
     | 
| 
      
 371 
     | 
    
         
            +
            skein1024-656,                  multihash,      0xb3b2,
         
     | 
| 
      
 372 
     | 
    
         
            +
            skein1024-664,                  multihash,      0xb3b3,
         
     | 
| 
      
 373 
     | 
    
         
            +
            skein1024-672,                  multihash,      0xb3b4,
         
     | 
| 
      
 374 
     | 
    
         
            +
            skein1024-680,                  multihash,      0xb3b5,
         
     | 
| 
      
 375 
     | 
    
         
            +
            skein1024-688,                  multihash,      0xb3b6,
         
     | 
| 
      
 376 
     | 
    
         
            +
            skein1024-696,                  multihash,      0xb3b7,
         
     | 
| 
      
 377 
     | 
    
         
            +
            skein1024-704,                  multihash,      0xb3b8,
         
     | 
| 
      
 378 
     | 
    
         
            +
            skein1024-712,                  multihash,      0xb3b9,
         
     | 
| 
      
 379 
     | 
    
         
            +
            skein1024-720,                  multihash,      0xb3ba,
         
     | 
| 
      
 380 
     | 
    
         
            +
            skein1024-728,                  multihash,      0xb3bb,
         
     | 
| 
      
 381 
     | 
    
         
            +
            skein1024-736,                  multihash,      0xb3bc,
         
     | 
| 
      
 382 
     | 
    
         
            +
            skein1024-744,                  multihash,      0xb3bd,
         
     | 
| 
      
 383 
     | 
    
         
            +
            skein1024-752,                  multihash,      0xb3be,
         
     | 
| 
      
 384 
     | 
    
         
            +
            skein1024-760,                  multihash,      0xb3bf,
         
     | 
| 
      
 385 
     | 
    
         
            +
            skein1024-768,                  multihash,      0xb3c0,
         
     | 
| 
      
 386 
     | 
    
         
            +
            skein1024-776,                  multihash,      0xb3c1,
         
     | 
| 
      
 387 
     | 
    
         
            +
            skein1024-784,                  multihash,      0xb3c2,
         
     | 
| 
      
 388 
     | 
    
         
            +
            skein1024-792,                  multihash,      0xb3c3,
         
     | 
| 
      
 389 
     | 
    
         
            +
            skein1024-800,                  multihash,      0xb3c4,
         
     | 
| 
      
 390 
     | 
    
         
            +
            skein1024-808,                  multihash,      0xb3c5,
         
     | 
| 
      
 391 
     | 
    
         
            +
            skein1024-816,                  multihash,      0xb3c6,
         
     | 
| 
      
 392 
     | 
    
         
            +
            skein1024-824,                  multihash,      0xb3c7,
         
     | 
| 
      
 393 
     | 
    
         
            +
            skein1024-832,                  multihash,      0xb3c8,
         
     | 
| 
      
 394 
     | 
    
         
            +
            skein1024-840,                  multihash,      0xb3c9,
         
     | 
| 
      
 395 
     | 
    
         
            +
            skein1024-848,                  multihash,      0xb3ca,
         
     | 
| 
      
 396 
     | 
    
         
            +
            skein1024-856,                  multihash,      0xb3cb,
         
     | 
| 
      
 397 
     | 
    
         
            +
            skein1024-864,                  multihash,      0xb3cc,
         
     | 
| 
      
 398 
     | 
    
         
            +
            skein1024-872,                  multihash,      0xb3cd,
         
     | 
| 
      
 399 
     | 
    
         
            +
            skein1024-880,                  multihash,      0xb3ce,
         
     | 
| 
      
 400 
     | 
    
         
            +
            skein1024-888,                  multihash,      0xb3cf,
         
     | 
| 
      
 401 
     | 
    
         
            +
            skein1024-896,                  multihash,      0xb3d0,
         
     | 
| 
      
 402 
     | 
    
         
            +
            skein1024-904,                  multihash,      0xb3d1,
         
     | 
| 
      
 403 
     | 
    
         
            +
            skein1024-912,                  multihash,      0xb3d2,
         
     | 
| 
      
 404 
     | 
    
         
            +
            skein1024-920,                  multihash,      0xb3d3,
         
     | 
| 
      
 405 
     | 
    
         
            +
            skein1024-928,                  multihash,      0xb3d4,
         
     | 
| 
      
 406 
     | 
    
         
            +
            skein1024-936,                  multihash,      0xb3d5,
         
     | 
| 
      
 407 
     | 
    
         
            +
            skein1024-944,                  multihash,      0xb3d6,
         
     | 
| 
      
 408 
     | 
    
         
            +
            skein1024-952,                  multihash,      0xb3d7,
         
     | 
| 
      
 409 
     | 
    
         
            +
            skein1024-960,                  multihash,      0xb3d8,
         
     | 
| 
      
 410 
     | 
    
         
            +
            skein1024-968,                  multihash,      0xb3d9,
         
     | 
| 
      
 411 
     | 
    
         
            +
            skein1024-976,                  multihash,      0xb3da,
         
     | 
| 
      
 412 
     | 
    
         
            +
            skein1024-984,                  multihash,      0xb3db,
         
     | 
| 
      
 413 
     | 
    
         
            +
            skein1024-992,                  multihash,      0xb3dc,
         
     | 
| 
      
 414 
     | 
    
         
            +
            skein1024-1000,                 multihash,      0xb3dd,
         
     | 
| 
      
 415 
     | 
    
         
            +
            skein1024-1008,                 multihash,      0xb3de,
         
     | 
| 
      
 416 
     | 
    
         
            +
            skein1024-1016,                 multihash,      0xb3df,
         
     | 
| 
      
 417 
     | 
    
         
            +
            skein1024-1024,                 multihash,      0xb3e0,
         
     | 
| 
      
 418 
     | 
    
         
            +
            holochain-adr-v0,               holochain,      0x807124,       Holochain v0 address    + 8 R-S (63 x Base-32)
         
     | 
| 
      
 419 
     | 
    
         
            +
            holochain-adr-v1,               holochain,      0x817124,       Holochain v1 address    + 8 R-S (63 x Base-32)
         
     | 
| 
      
 420 
     | 
    
         
            +
            holochain-key-v0,               holochain,      0x947124,       Holochain v0 public key + 8 R-S (63 x Base-32)
         
     | 
| 
      
 421 
     | 
    
         
            +
            holochain-key-v1,               holochain,      0x957124,       Holochain v1 public key + 8 R-S (63 x Base-32)
         
     | 
| 
      
 422 
     | 
    
         
            +
            holochain-sig-v0,               holochain,      0xa27124,       Holochain v0 signature  + 8 R-S (63 x Base-32)
         
     | 
| 
      
 423 
     | 
    
         
            +
            holochain-sig-v1,               holochain,      0xa37124,       Holochain v1 signature  + 8 R-S (63 x Base-32)
         
     | 
    
        data/multicodecs.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,48 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            lib = File.expand_path('lib', __dir__)
         
     | 
| 
      
 4 
     | 
    
         
            +
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'multicodecs/version'
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            Gem::Specification.new do |spec|
         
     | 
| 
      
 8 
     | 
    
         
            +
              spec.name          = 'multicodecs'
         
     | 
| 
      
 9 
     | 
    
         
            +
              spec.version       = Multicodecs::VERSION
         
     | 
| 
      
 10 
     | 
    
         
            +
              spec.authors       = ['Derk-Jan Karrenbeld']
         
     | 
| 
      
 11 
     | 
    
         
            +
              spec.email         = ['derk-jan+github@karrenbeld.info']
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              spec.summary       = 'Ruby implementation of the multicodec specification'
         
     | 
| 
      
 14 
     | 
    
         
            +
              spec.description   = %q(
         
     | 
| 
      
 15 
     | 
    
         
            +
                This gem provides a PORO of the multicodec table for use with other
         
     | 
| 
      
 16 
     | 
    
         
            +
                multiformat ruby gems.
         
     | 
| 
      
 17 
     | 
    
         
            +
              ).strip
         
     | 
| 
      
 18 
     | 
    
         
            +
              spec.homepage = 'https://github.com/SleeplessByte/ruby-multicodec'
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              # Prevent pushing this gem to RubyGems.org. To allow pushes either set the
         
     | 
| 
      
 21 
     | 
    
         
            +
              # 'allowed_push_host' to allow pushing to a single host or delete this section
         
     | 
| 
      
 22 
     | 
    
         
            +
              # to allow pushing to any host.
         
     | 
| 
      
 23 
     | 
    
         
            +
              if spec.respond_to?(:metadata)
         
     | 
| 
      
 24 
     | 
    
         
            +
                spec.metadata['homepage_uri'] = spec.homepage
         
     | 
| 
      
 25 
     | 
    
         
            +
                spec.metadata['source_code_uri'] = 'https://github.com/SleeplessByte/ruby-multicodec'
         
     | 
| 
      
 26 
     | 
    
         
            +
                spec.metadata['changelog_uri'] = spec.metadata['source_code_uri'] +
         
     | 
| 
      
 27 
     | 
    
         
            +
                                                 '/blog/master/CHANGELOG.md'
         
     | 
| 
      
 28 
     | 
    
         
            +
              else
         
     | 
| 
      
 29 
     | 
    
         
            +
                raise 'RubyGems 2.0 or newer is required to protect against ' \
         
     | 
| 
      
 30 
     | 
    
         
            +
                  'public gem pushes.'
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              # Specify which files should be added to the gem when it is released.
         
     | 
| 
      
 34 
     | 
    
         
            +
              # The `git ls-files -z` loads the files in the RubyGem that have been added
         
     | 
| 
      
 35 
     | 
    
         
            +
              # into git.
         
     | 
| 
      
 36 
     | 
    
         
            +
              spec.files = Dir.chdir(File.expand_path(__dir__)) do
         
     | 
| 
      
 37 
     | 
    
         
            +
                `git ls-files -z`.split("\x0").reject do |f|
         
     | 
| 
      
 38 
     | 
    
         
            +
                  f.match(%r{^(test|spec|features)/})
         
     | 
| 
      
 39 
     | 
    
         
            +
                end
         
     | 
| 
      
 40 
     | 
    
         
            +
              end
         
     | 
| 
      
 41 
     | 
    
         
            +
              spec.bindir        = 'exe'
         
     | 
| 
      
 42 
     | 
    
         
            +
              spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
         
     | 
| 
      
 43 
     | 
    
         
            +
              spec.require_paths = ['lib']
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
              spec.add_development_dependency 'bundler', '~> 2'
         
     | 
| 
      
 46 
     | 
    
         
            +
              spec.add_development_dependency 'minitest', '~> 5.0'
         
     | 
| 
      
 47 
     | 
    
         
            +
              spec.add_development_dependency 'rake', '~> 10.0'
         
     | 
| 
      
 48 
     | 
    
         
            +
            end
         
     | 
    
        metadata
    ADDED
    
    | 
         @@ -0,0 +1,102 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
      
 2 
     | 
    
         
            +
            name: multicodecs
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.0
         
     | 
| 
      
 5 
     | 
    
         
            +
            platform: ruby
         
     | 
| 
      
 6 
     | 
    
         
            +
            authors:
         
     | 
| 
      
 7 
     | 
    
         
            +
            - Derk-Jan Karrenbeld
         
     | 
| 
      
 8 
     | 
    
         
            +
            autorequire: 
         
     | 
| 
      
 9 
     | 
    
         
            +
            bindir: exe
         
     | 
| 
      
 10 
     | 
    
         
            +
            cert_chain: []
         
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-06-20 00:00:00.000000000 Z
         
     | 
| 
      
 12 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 13 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 14 
     | 
    
         
            +
              name: bundler
         
     | 
| 
      
 15 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 16 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 17 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 18 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
      
 20 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 21 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 22 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 23 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 24 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 25 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '2'
         
     | 
| 
      
 27 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 28 
     | 
    
         
            +
              name: minitest
         
     | 
| 
      
 29 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 30 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 31 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 32 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '5.0'
         
     | 
| 
      
 34 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 35 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 36 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 37 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 38 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 39 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '5.0'
         
     | 
| 
      
 41 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 42 
     | 
    
         
            +
              name: rake
         
     | 
| 
      
 43 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 44 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 45 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 46 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 47 
     | 
    
         
            +
                    version: '10.0'
         
     | 
| 
      
 48 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 49 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 50 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 51 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 52 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 53 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 54 
     | 
    
         
            +
                    version: '10.0'
         
     | 
| 
      
 55 
     | 
    
         
            +
            description: |-
         
     | 
| 
      
 56 
     | 
    
         
            +
              This gem provides a PORO of the multicodec table for use with other
         
     | 
| 
      
 57 
     | 
    
         
            +
                  multiformat ruby gems.
         
     | 
| 
      
 58 
     | 
    
         
            +
            email:
         
     | 
| 
      
 59 
     | 
    
         
            +
            - derk-jan+github@karrenbeld.info
         
     | 
| 
      
 60 
     | 
    
         
            +
            executables: []
         
     | 
| 
      
 61 
     | 
    
         
            +
            extensions: []
         
     | 
| 
      
 62 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 63 
     | 
    
         
            +
            files:
         
     | 
| 
      
 64 
     | 
    
         
            +
            - ".gitignore"
         
     | 
| 
      
 65 
     | 
    
         
            +
            - ".travis.yml"
         
     | 
| 
      
 66 
     | 
    
         
            +
            - Gemfile
         
     | 
| 
      
 67 
     | 
    
         
            +
            - README.md
         
     | 
| 
      
 68 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
      
 69 
     | 
    
         
            +
            - bin/console
         
     | 
| 
      
 70 
     | 
    
         
            +
            - bin/setup
         
     | 
| 
      
 71 
     | 
    
         
            +
            - lib/multicodecs.rb
         
     | 
| 
      
 72 
     | 
    
         
            +
            - lib/multicodecs/bare.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            - lib/multicodecs/registry.rb
         
     | 
| 
      
 74 
     | 
    
         
            +
            - lib/multicodecs/version.rb
         
     | 
| 
      
 75 
     | 
    
         
            +
            - lib/table.csv
         
     | 
| 
      
 76 
     | 
    
         
            +
            - multicodecs.gemspec
         
     | 
| 
      
 77 
     | 
    
         
            +
            homepage: https://github.com/SleeplessByte/ruby-multicodec
         
     | 
| 
      
 78 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 79 
     | 
    
         
            +
            metadata:
         
     | 
| 
      
 80 
     | 
    
         
            +
              homepage_uri: https://github.com/SleeplessByte/ruby-multicodec
         
     | 
| 
      
 81 
     | 
    
         
            +
              source_code_uri: https://github.com/SleeplessByte/ruby-multicodec
         
     | 
| 
      
 82 
     | 
    
         
            +
              changelog_uri: https://github.com/SleeplessByte/ruby-multicodec/blog/master/CHANGELOG.md
         
     | 
| 
      
 83 
     | 
    
         
            +
            post_install_message: 
         
     | 
| 
      
 84 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 85 
     | 
    
         
            +
            require_paths:
         
     | 
| 
      
 86 
     | 
    
         
            +
            - lib
         
     | 
| 
      
 87 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 88 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 89 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 90 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 91 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 92 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
      
 93 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 94 
     | 
    
         
            +
              - - ">="
         
     | 
| 
      
 95 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 96 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 97 
     | 
    
         
            +
            requirements: []
         
     | 
| 
      
 98 
     | 
    
         
            +
            rubygems_version: 3.0.3
         
     | 
| 
      
 99 
     | 
    
         
            +
            signing_key: 
         
     | 
| 
      
 100 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
      
 101 
     | 
    
         
            +
            summary: Ruby implementation of the multicodec specification
         
     | 
| 
      
 102 
     | 
    
         
            +
            test_files: []
         
     |