ppldid 1.1.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/ppldid/basic.rb +1 -1
- data/lib/ppldid/didcomm.rb +1 -1
- data/lib/ppldid/log.rb +10 -10
- data/lib/ppldid.rb +4 -4
- data/spec/input/log/sample2_retrieve_log.doc +1 -1
- data/spec/input/log/sample4_retrieve_log.doc +1 -1
- data/spec/input/log/sample6_retrieve_log.doc +1 -1
- data/spec/output/basic/sample3_retrieve_document.doc +1 -1
- data/spec/output/log/sample3_dag_update.doc +1 -1
- data/spec/output/log/sample4_dag_update.doc +1 -1
- data/spec/output/log/sample5_dag_update.doc +1 -1
- data/spec/output/log/sample6_dag_update.doc +1 -1
- data/spec/output/log/sample8_dag_update.doc +1 -1
- data/spec/output/log/sample_dag_update.doc +1 -1
- data/spec/output/main/sample0_read.doc +1 -1
- metadata +81 -82
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e8eb8642fc985e3b0e360cc008f7703e9bc047bafb790adc6e67e8c6c5f3ba09
         | 
| 4 | 
            +
              data.tar.gz: 71629afa4ae27fe9987f07b400b2f2acd01aa9a1903b088a1fdb1a0128901735
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0b8139fc690b454df93c12c52fb5d88d3a5db98d5cf892968a773632c86677c8754f33102aa41d40e6e268f0702e1fa46f1e725bd1f6a8ee0cb186895f257c07
         | 
| 7 | 
            +
              data.tar.gz: ae1f2849d7ad4425006118c133d4e15707050551e04d4d10832871b5c0b32e6e8b4254d6acc92c67e7a5c9894c06c9fea2d5256825004aa87240cd7d303876b3
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1. | 
| 1 | 
            +
            1.2.2
         | 
    
        data/lib/ppldid/basic.rb
    CHANGED
    
    
    
        data/lib/ppldid/didcomm.rb
    CHANGED
    
    
    
        data/lib/ppldid/log.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 2 | 
             
            # frozen_string_literal: true
         | 
| 3 3 |  | 
| 4 | 
            -
            class  | 
| 4 | 
            +
            class Ppldid
         | 
| 5 5 | 
             
                # log functions -----------------------------
         | 
| 6 6 | 
             
                def self.add_hash(log)
         | 
| 7 7 | 
             
                    log.map do |item|
         | 
| @@ -202,7 +202,7 @@ class ppldid | |
| 202 202 | 
             
                            #         currentDID["verification"] += "identifier: " + did_hash.to_s + "\n"
         | 
| 203 203 | 
             
                            #         currentDID["verification"] += "⛔ does not match DID Document:" + "\n"
         | 
| 204 204 | 
             
                            #         currentDID["verification"] += JSON.pretty_generate(doc) + "\n"
         | 
| 205 | 
            -
                            #         currentDID["verification"] += "(Details: https:// | 
| 205 | 
            +
                            #         currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 206 206 | 
             
                            #     end
         | 
| 207 207 | 
             
                            #     return currentDID
         | 
| 208 208 | 
             
                            # end
         | 
| @@ -213,7 +213,7 @@ class ppldid | |
| 213 213 | 
             
                                currentDID["verification"] += "identifier: " + did_hash.to_s + "\n"
         | 
| 214 214 | 
             
                                currentDID["verification"] += "✅ is hash of DID Document:" + "\n"
         | 
| 215 215 | 
             
                                currentDID["verification"] += JSON.pretty_generate(doc) + "\n"
         | 
| 216 | 
            -
                                currentDID["verification"] += "(Details: https:// | 
| 216 | 
            +
                                currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 217 217 | 
             
                            end
         | 
| 218 218 | 
             
                            current_public_doc_key = currentDID["doc"]["key"].split(":").first rescue ""
         | 
| 219 219 |  | 
| @@ -245,7 +245,7 @@ class ppldid | |
| 245 245 | 
             
                                    currentDID["verification"] += "'log' reference in DID Document: " + term.to_s + "\n"
         | 
| 246 246 | 
             
                                    currentDID["verification"] += "⛔ does not match TERMINATE log record:" + "\n"
         | 
| 247 247 | 
             
                                    currentDID["verification"] += JSON.pretty_generate(el) + "\n"
         | 
| 248 | 
            -
                                    currentDID["verification"] += "(Details: https:// | 
| 248 | 
            +
                                    currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 249 249 | 
             
                                end
         | 
| 250 250 | 
             
                                return currentDID
         | 
| 251 251 | 
             
                            end
         | 
| @@ -253,7 +253,7 @@ class ppldid | |
| 253 253 | 
             
                                currentDID["verification"] += "'log' reference in DID Document: " + term.to_s + "\n"
         | 
| 254 254 | 
             
                                currentDID["verification"] += "✅ is hash of TERMINATE log record:" + "\n"
         | 
| 255 255 | 
             
                                currentDID["verification"] += JSON.pretty_generate(el) + "\n"
         | 
| 256 | 
            -
                                currentDID["verification"] += "(Details: https:// | 
| 256 | 
            +
                                currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 257 257 | 
             
                            end
         | 
| 258 258 |  | 
| 259 259 | 
             
                            # check if there is a revocation entry
         | 
| @@ -274,7 +274,7 @@ class ppldid | |
| 274 274 | 
             
                                        currentDID["verification"] += "'doc' reference in TERMINATE log record: " + revoc_term.to_s + "\n"
         | 
| 275 275 | 
             
                                        currentDID["verification"] += "✅ is hash of REVOCATION log record (without 'previous' attribute):" + "\n"
         | 
| 276 276 | 
             
                                        currentDID["verification"] += JSON.pretty_generate(log_el) + "\n"
         | 
| 277 | 
            -
                                        currentDID["verification"] += "(Details: https:// | 
| 277 | 
            +
                                        currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 278 278 | 
             
                                    end
         | 
| 279 279 | 
             
                                    break
         | 
| 280 280 | 
             
                                end
         | 
| @@ -296,7 +296,7 @@ class ppldid | |
| 296 296 | 
             
                            #                 currentDID["verification"] += "'doc' reference in TERMINATE log record: " + revoc_term.to_s + "\n"
         | 
| 297 297 | 
             
                            #                 currentDID["verification"] += "✅ is hash of REVOCATION log record (without 'previous' attribute):" + "\n"
         | 
| 298 298 | 
             
                            #                 currentDID["verification"] += JSON.pretty_generate(log_el) + "\n"
         | 
| 299 | 
            -
                            #                 currentDID["verification"] += "(Details: https:// | 
| 299 | 
            +
                            #                 currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#calculate_hash)" + "\n\n"
         | 
| 300 300 | 
             
                            #             end
         | 
| 301 301 | 
             
                            #             break
         | 
| 302 302 | 
             
                            #         end
         | 
| @@ -321,7 +321,7 @@ class ppldid | |
| 321 321 | 
             
                                                    currentDID["verification"] += "✅ public key from last DID Document: " + current_public_doc_key.to_s + "\n"
         | 
| 322 322 | 
             
                                                    currentDID["verification"] += "verifies 'doc' reference of new DID Document: " + log_el["doc"].to_s + "\n"
         | 
| 323 323 | 
             
                                                    currentDID["verification"] += log_el["sig"].to_s + "\n"
         | 
| 324 | 
            -
                                                    currentDID["verification"] += "of next DID Document (Details: https:// | 
| 324 | 
            +
                                                    currentDID["verification"] += "of next DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)" + "\n"
         | 
| 325 325 |  | 
| 326 326 | 
             
                                                    next_doc_did = log_el["doc"].to_s
         | 
| 327 327 | 
             
                                                    next_doc_location = doc_location
         | 
| @@ -355,7 +355,7 @@ class ppldid | |
| 355 355 | 
             
                                                    currentDID["verification"] += "⛔ public key from last DID Document: " + current_public_doc_key.to_s + "\n"
         | 
| 356 356 | 
             
                                                    currentDID["verification"] += "does not verify 'doc' reference of new DID Document: " + log_el["doc"].to_s + "\n"
         | 
| 357 357 | 
             
                                                    currentDID["verification"] += log_el["sig"].to_s + "\n"
         | 
| 358 | 
            -
                                                    currentDID["verification"] += "next DID Document (Details: https:// | 
| 358 | 
            +
                                                    currentDID["verification"] += "next DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)" + "\n"
         | 
| 359 359 | 
             
                                                    currentDID["verification"] += JSON.pretty_generate(new_doc) + "\n\n"
         | 
| 360 360 | 
             
                                                end
         | 
| 361 361 | 
             
                                                return currentDID
         | 
| @@ -373,7 +373,7 @@ class ppldid | |
| 373 373 | 
             
                                    if !options.transform_keys(&:to_s)["log_location"].nil?
         | 
| 374 374 | 
             
                                        currentDID["verification"] += "- " + options.transform_keys(&:to_s)["log_location"].to_s + "\n"
         | 
| 375 375 | 
             
                                    end
         | 
| 376 | 
            -
                                    currentDID["verification"] += "(Details: https:// | 
| 376 | 
            +
                                    currentDID["verification"] += "(Details: https://peopledata.github.io/ppldid/#retrieve_log)" + "\n\n"
         | 
| 377 377 | 
             
                                end
         | 
| 378 378 | 
             
                                break
         | 
| 379 379 | 
             
                            end
         | 
    
        data/lib/ppldid.rb
    CHANGED
    
    | @@ -10,11 +10,11 @@ require 'multibases' | |
| 10 10 | 
             
            require 'multihashes'
         | 
| 11 11 | 
             
            require 'multicodecs'
         | 
| 12 12 | 
             
            require 'json/canonicalization'
         | 
| 13 | 
            -
            require 'ppldid/basic'
         | 
| 14 | 
            -
            require 'ppldid/log'
         | 
| 15 | 
            -
            require 'ppldid/didcomm'
         | 
| 13 | 
            +
            require './ppldid/basic'
         | 
| 14 | 
            +
            require './ppldid/log'
         | 
| 15 | 
            +
            require './ppldid/didcomm'
         | 
| 16 16 |  | 
| 17 | 
            -
            class  | 
| 17 | 
            +
            class Ppldid
         | 
| 18 18 |  | 
| 19 19 | 
             
                LOCATION_PREFIX = "@"
         | 
| 20 20 | 
             
                DEFAULT_LOCATION = "https://ppldid.peopledata.org.cn"
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"https://ppldid. | 
| 1 | 
            +
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"https://ppldid.ppldid.peopledata.org.cn", "options":{"trace":false, "ts": 0, "doc-pwd": "pwd1", "rev-pwd": "pwd2"}}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"ppldid. | 
| 1 | 
            +
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"ppldid.ppldid.peopledata.org.cn", "options":{"trace":false, "ts": 0, "doc-pwd": "pwd1", "rev-pwd": "pwd2"}}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"https://ppldid. | 
| 1 | 
            +
            {"did_hash":"zQmZEP95SPr699GjBeN82cspsZww8RKKHLR9UChbZxKw3H7", "log_file":"", "log_location":"https://ppldid.ppldid.peopledata.org.cn", "options":{"trace": true, "ts": 0, "doc-pwd": "pwd1", "rev-pwd": "pwd2"}}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            [null, "invalid response from https://ppldid. | 
| 1 | 
            +
            [null, "invalid response from https://ppldid.ppldid.peopledata.org.cn/doc/"]
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF","doc":{"doc":["payload"],"key":"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB","log":"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"},"log":[{"ts":1641208742,"op":1,"doc":"zQmSswGSXLgjqBZ9f2RdRkK4AQvJEpxXVCNQNoGYr2grpmZ","sig":"z2umhsnyM27JyLf3k15JyhPKh7ctKWZLgajrc7wWNJtjwUgrswoGkmVqFAyLbM8GfNDB6xHNLf1mo6rNMtDHSGc8V","previous":["zQmbcKwoqHbNBwNduTGFdsFb4MCLFayBNxdC6x5qUTVwKU8","zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"]},{"ts":1641208742,"op":2,"doc":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF","sig":"zCjUoJUYBxGWqAd2D2YvA4oYis29KzV6m3uS7U314CUbZojMVhUd5LCa1xbxNGDvxPSwqJUqRN4cvkib1iMoZwpj","previous":[]},{"ts":1641208742,"op":0,"invalid":true,"doc":"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2","sig":"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj","previous":[]},{"ts":1641208760,"op":3,"doc":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72","sig":"zCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q","previous":["zQmW8MKzWJ3dSfRgVqaq2PYQEksnry1BBocaXhxtfRf1jjv"]},{"ts":1641208760,"op":0,"doc":"zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo","sig":"z5HGPMqoi83q5GvGQjr2c2xRvqJJGtpxEjpNtGjCUixGWV8tbeKg7sBGdp1qsZYfKNFhFxfQnG67NRoraVsEMi8DL","previous":[]}],"doc_log_id":1,"termination_log_id":2,"error":1,"message":"Log reference and record don't match","verification":"identifier: zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"payload\"\n  ],\n  \"key\": \"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB\",\n  \"log\": \"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF","doc":{"doc":["payload"],"key":"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB","log":"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"},"log":[{"ts":1641208742,"op":1,"doc":"zQmSswGSXLgjqBZ9f2RdRkK4AQvJEpxXVCNQNoGYr2grpmZ","sig":"z2umhsnyM27JyLf3k15JyhPKh7ctKWZLgajrc7wWNJtjwUgrswoGkmVqFAyLbM8GfNDB6xHNLf1mo6rNMtDHSGc8V","previous":["zQmbcKwoqHbNBwNduTGFdsFb4MCLFayBNxdC6x5qUTVwKU8","zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"]},{"ts":1641208742,"op":2,"doc":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF","sig":"zCjUoJUYBxGWqAd2D2YvA4oYis29KzV6m3uS7U314CUbZojMVhUd5LCa1xbxNGDvxPSwqJUqRN4cvkib1iMoZwpj","previous":[]},{"ts":1641208742,"op":0,"invalid":true,"doc":"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2","sig":"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj","previous":[]},{"ts":1641208760,"op":3,"doc":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72","sig":"zCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q","previous":["zQmW8MKzWJ3dSfRgVqaq2PYQEksnry1BBocaXhxtfRf1jjv"]},{"ts":1641208760,"op":0,"doc":"zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo","sig":"z5HGPMqoi83q5GvGQjr2c2xRvqJJGtpxEjpNtGjCUixGWV8tbeKg7sBGdp1qsZYfKNFhFxfQnG67NRoraVsEMi8DL","previous":[]}],"doc_log_id":1,"termination_log_id":2,"error":1,"message":"Log reference and record don't match","verification":"identifier: zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"payload\"\n  ],\n  \"key\": \"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB\",\n  \"log\": \"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\n⛔ does not match TERMINATE log record:\n{\n  \"ts\": 1641208742,\n  \"op\": 0,\n  \"invalid\": true,\n  \"doc\": \"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2\",\n  \"sig\": \"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W@https://did2.data-container.net","doc":{"doc":{"location":"non-default"},"key":"z6MutdYiDqv5kiJ79KXhcSyD38RZTRRhHYkhBo16891QsVmV:z6Mv8NqXsiUXeHVgJGCeX3JSnGwD17JKxMHep47SfSEy4u8Y","log":"zQmQwzGTZk1Me6GKWe6egJXGtRmoR3dfymVci4yqePqS8SN@https://did2.data-container.net"},"log":[{"ts":1641225335,"op":2,"doc":"zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W@https://did2.data-container.net","sig":"zMNwLhMDERej1T3m7WorffkaVhv92Hdv1ximQB9qqVtRU5CzLsrtSgV18fwtDKHDwooEm7AWDq9RdQNC6xKXSJV2","previous":[]},{"ts":1641225335,"op":0,"doc":"zQmbTz2DnhrqUVpEoDer1nrD3UWe93Sdd4Vc7hW3JYoWULN@https://did2.data-container.net","sig":"z5hSzwQDUi6SouR98kz1o5hTxeWiJXq6qiTDB47iZLYyWqj4DjoNTT43u4kaDsTtWqgsUL6dVXYyLoKJFPEeGAzB4","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":0,"message":"","verification":"identifier: zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W\n✅ is hash of DID Document:\n{\n  \"doc\": {\n    \"location\": \"non-default\"\n  },\n  \"key\": \"z6MutdYiDqv5kiJ79KXhcSyD38RZTRRhHYkhBo16891QsVmV:z6Mv8NqXsiUXeHVgJGCeX3JSnGwD17JKxMHep47SfSEy4u8Y\",\n  \"log\": \"zQmQwzGTZk1Me6GKWe6egJXGtRmoR3dfymVci4yqePqS8SN@https://did2.data-container.net\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W@https://did2.data-container.net","doc":{"doc":{"location":"non-default"},"key":"z6MutdYiDqv5kiJ79KXhcSyD38RZTRRhHYkhBo16891QsVmV:z6Mv8NqXsiUXeHVgJGCeX3JSnGwD17JKxMHep47SfSEy4u8Y","log":"zQmQwzGTZk1Me6GKWe6egJXGtRmoR3dfymVci4yqePqS8SN@https://did2.data-container.net"},"log":[{"ts":1641225335,"op":2,"doc":"zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W@https://did2.data-container.net","sig":"zMNwLhMDERej1T3m7WorffkaVhv92Hdv1ximQB9qqVtRU5CzLsrtSgV18fwtDKHDwooEm7AWDq9RdQNC6xKXSJV2","previous":[]},{"ts":1641225335,"op":0,"doc":"zQmbTz2DnhrqUVpEoDer1nrD3UWe93Sdd4Vc7hW3JYoWULN@https://did2.data-container.net","sig":"z5hSzwQDUi6SouR98kz1o5hTxeWiJXq6qiTDB47iZLYyWqj4DjoNTT43u4kaDsTtWqgsUL6dVXYyLoKJFPEeGAzB4","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":0,"message":"","verification":"identifier: zQmNauTUUdkpi5TcrTZ2524SKM8dJAzuuw4xfW13iHrtY1W\n✅ is hash of DID Document:\n{\n  \"doc\": {\n    \"location\": \"non-default\"\n  },\n  \"key\": \"z6MutdYiDqv5kiJ79KXhcSyD38RZTRRhHYkhBo16891QsVmV:z6Mv8NqXsiUXeHVgJGCeX3JSnGwD17JKxMHep47SfSEy4u8Y\",\n  \"log\": \"zQmQwzGTZk1Me6GKWe6egJXGtRmoR3dfymVci4yqePqS8SN@https://did2.data-container.net\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmQwzGTZk1Me6GKWe6egJXGtRmoR3dfymVci4yqePqS8SN\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1641225335,\n  \"op\": 0,\n  \"doc\": \"zQmbTz2DnhrqUVpEoDer1nrD3UWe93Sdd4Vc7hW3JYoWULN@https://did2.data-container.net\",\n  \"sig\": \"z5hSzwQDUi6SouR98kz1o5hTxeWiJXq6qiTDB47iZLYyWqj4DjoNTT43u4kaDsTtWqgsUL6dVXYyLoKJFPEeGAzB4\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nRevocation reference in log record: zQmbTz2DnhrqUVpEoDer1nrD3UWe93Sdd4Vc7hW3JYoWULN\n✅ cannot find revocation record searching at\n- https://did2.data-container.net\n- did2.data-container.net\n(Details: https://peopledata.github.io/ppldid/#retrieve_log)\n\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt","doc":{"doc":["dag_update"],"key":"z6Mv7rNzK9RsbM8WMKSkaAWoPB2gQ9pM6bgC975Tdzbyi6wN:z6MuuCkt6ZxqZvNvDN4iPjjNeo7GaxJGuU3ahQWWMFg3A3uy","log":"zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56"},"log":[{"ts":1645567192,"op":2,"doc":"zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt","sig":"z2iKrgUDh7uk8D6fTkZFaUi28Nj6GJ9ezQAqsHjGfomkWPT7ji6RFHCRRwrT28XEc76ML3cZTpYLM3LCAb2yYyvS2","previous":[]},{"ts":1645567192,"op":0,"doc":"zQmaWfiJbbBRgSHSPQVugsxsMMWkPXxx1nYtZ4ixjVE9MxR","sig":"z52mqcv9AKJh7H2tLs9cv2vk5J9qKroEokKTGP4RWmLay1kKxGLszjSecS5u7HTJnwvSzaFMx8BN9eBBDCCR451E7","previous":[]},{"ts":1645567192,"op":1,"doc":"zQmXufnKzkybNqGMvBTqUxGFiVdFXU19DbLnLq3NgX1t9Ga","sig":"z442tsbpzvjtiiDc5u3kcNPWz8Gy4ddFbSHDePViR9hemh8bQEYC5zoBixnjZqtGMYUkgyhsGX2RUKuBVgii5JeGj","previous":["zQmcXSbq8zwAHsefzUBqqEfqrUeoM3uy67XvFkXd4EwzHTV","zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56"]},{"ts":1645567210,"op":3,"doc":"zQmYBGLKhbbWXWKkkeFuszHhXAg1F2SGaFbGhEkZ8hYYvdL","sig":"z5mdHudSECNpCXANhSBPRP2b7iuAMmYjyyHaKURMBfvUWCnu5DzUpms2nNPAmrGcCHBdd2DJVZgxFhLDqe5JnGHa1","previous":["zQmYhPcth9A7qec4PYZkBMSXoJcrnVuYYVeMjUmdP8d4YQ9"]},{"ts":1645567210,"op":0,"doc":"zQmUVRUzz9TZcSJd3gyLq2WtAoCreNwwBtFe6db6JqP6yLj","sig":"z3mHseHK1mfreuNsoxV1hMxNTfsXLVjctxvDzTKrGX4u8u7B4h9K3TyNSUCMWHyyk8HHHfg3N9kaSj3uYzJMRMFdC","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":2,"message":"","verification":"identifier: zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"dag_update\"\n  ],\n  \"key\": \"z6Mv7rNzK9RsbM8WMKSkaAWoPB2gQ9pM6bgC975Tdzbyi6wN:z6MuuCkt6ZxqZvNvDN4iPjjNeo7GaxJGuU3ahQWWMFg3A3uy\",\n  \"log\": \"zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt","doc":{"doc":["dag_update"],"key":"z6Mv7rNzK9RsbM8WMKSkaAWoPB2gQ9pM6bgC975Tdzbyi6wN:z6MuuCkt6ZxqZvNvDN4iPjjNeo7GaxJGuU3ahQWWMFg3A3uy","log":"zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56"},"log":[{"ts":1645567192,"op":2,"doc":"zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt","sig":"z2iKrgUDh7uk8D6fTkZFaUi28Nj6GJ9ezQAqsHjGfomkWPT7ji6RFHCRRwrT28XEc76ML3cZTpYLM3LCAb2yYyvS2","previous":[]},{"ts":1645567192,"op":0,"doc":"zQmaWfiJbbBRgSHSPQVugsxsMMWkPXxx1nYtZ4ixjVE9MxR","sig":"z52mqcv9AKJh7H2tLs9cv2vk5J9qKroEokKTGP4RWmLay1kKxGLszjSecS5u7HTJnwvSzaFMx8BN9eBBDCCR451E7","previous":[]},{"ts":1645567192,"op":1,"doc":"zQmXufnKzkybNqGMvBTqUxGFiVdFXU19DbLnLq3NgX1t9Ga","sig":"z442tsbpzvjtiiDc5u3kcNPWz8Gy4ddFbSHDePViR9hemh8bQEYC5zoBixnjZqtGMYUkgyhsGX2RUKuBVgii5JeGj","previous":["zQmcXSbq8zwAHsefzUBqqEfqrUeoM3uy67XvFkXd4EwzHTV","zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56"]},{"ts":1645567210,"op":3,"doc":"zQmYBGLKhbbWXWKkkeFuszHhXAg1F2SGaFbGhEkZ8hYYvdL","sig":"z5mdHudSECNpCXANhSBPRP2b7iuAMmYjyyHaKURMBfvUWCnu5DzUpms2nNPAmrGcCHBdd2DJVZgxFhLDqe5JnGHa1","previous":["zQmYhPcth9A7qec4PYZkBMSXoJcrnVuYYVeMjUmdP8d4YQ9"]},{"ts":1645567210,"op":0,"doc":"zQmUVRUzz9TZcSJd3gyLq2WtAoCreNwwBtFe6db6JqP6yLj","sig":"z3mHseHK1mfreuNsoxV1hMxNTfsXLVjctxvDzTKrGX4u8u7B4h9K3TyNSUCMWHyyk8HHHfg3N9kaSj3uYzJMRMFdC","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":2,"message":"","verification":"identifier: zQmSoSf4BVWHhwKv2q2wzTQi2grNZTKwwmToBVW2DmT3mXt\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"dag_update\"\n  ],\n  \"key\": \"z6Mv7rNzK9RsbM8WMKSkaAWoPB2gQ9pM6bgC975Tdzbyi6wN:z6MuuCkt6ZxqZvNvDN4iPjjNeo7GaxJGuU3ahQWWMFg3A3uy\",\n  \"log\": \"zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1645567192,\n  \"op\": 0,\n  \"doc\": \"zQmaWfiJbbBRgSHSPQVugsxsMMWkPXxx1nYtZ4ixjVE9MxR\",\n  \"sig\": \"z52mqcv9AKJh7H2tLs9cv2vk5J9qKroEokKTGP4RWmLay1kKxGLszjSecS5u7HTJnwvSzaFMx8BN9eBBDCCR451E7\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'doc' reference in TERMINATE log record: zQmaWfiJbbBRgSHSPQVugsxsMMWkPXxx1nYtZ4ixjVE9MxR\n✅ is hash of REVOCATION log record (without 'previous' attribute):\n{\n  \"ts\": 1645567192,\n  \"op\": 1,\n  \"doc\": \"zQmXufnKzkybNqGMvBTqUxGFiVdFXU19DbLnLq3NgX1t9Ga\",\n  \"sig\": \"z442tsbpzvjtiiDc5u3kcNPWz8Gy4ddFbSHDePViR9hemh8bQEYC5zoBixnjZqtGMYUkgyhsGX2RUKuBVgii5JeGj\",\n  \"previous\": [\n    \"zQmcXSbq8zwAHsefzUBqqEfqrUeoM3uy67XvFkXd4EwzHTV\",\n    \"zQmWrKhdRUku2V2d3mAXncVXBZgFkyUxPNtm3LJKD1AVn56\"\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nfound UPDATE log record:\n{\n  \"ts\": 1645567210,\n  \"op\": 3,\n  \"doc\": \"zQmYBGLKhbbWXWKkkeFuszHhXAg1F2SGaFbGhEkZ8hYYvdL\",\n  \"sig\": \"z5mdHudSECNpCXANhSBPRP2b7iuAMmYjyyHaKURMBfvUWCnu5DzUpms2nNPAmrGcCHBdd2DJVZgxFhLDqe5JnGHa1\",\n  \"previous\": [\n    \"zQmYhPcth9A7qec4PYZkBMSXoJcrnVuYYVeMjUmdP8d4YQ9\"\n  ]\n}\n✅ public key from last DID Document: z6Mv7rNzK9RsbM8WMKSkaAWoPB2gQ9pM6bgC975Tdzbyi6wN\nverifies 'doc' reference of new DID Document: zQmYBGLKhbbWXWKkkeFuszHhXAg1F2SGaFbGhEkZ8hYYvdL\nz5mdHudSECNpCXANhSBPRP2b7iuAMmYjyyHaKURMBfvUWCnu5DzUpms2nNPAmrGcCHBdd2DJVZgxFhLDqe5JnGHa1\nof next DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca","doc":{"doc":["dag_update2"],"key":"z6Mv6sPGFo7yyx8QaZVnmGegMN1WWyNjZ9Sf3tmUBkZGtgs9:z6Mv9hE9NerqsRMqW4M2HnAordSz1EJ85uUJig2HxrSSMzpg","log":"zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9"},"log":[{"ts":1645569446,"op":2,"doc":"zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca","sig":"zXgD7UbRk5VdXTshbmMEEraMaC9MLMQrhGbPz6Wkg4LWAHfGJy3KNpqV9En5WG9iFAys6FZ4Ajq24x7T4QnkBzns","previous":[]},{"ts":1645569446,"op":0,"doc":"zQma1zNZTUC8omxEEgj5txUsF7LKnHVVtqwp6PcanUPu9ZP","sig":"z36NdkTVGj1Cq1AcuFXQA5jrkPFquh9uii6LZwrhQ1nfkBPXacwZE88SQcQm2fpac6WscFnVzUGMUKbRsdEs8Nef3","previous":[]},{"ts":1645569446,"op":1,"doc":"zQmbbZuGDrsu8B72UKosKSfZTeCyeRLLSt34fsiLSHg9UbV","sig":"z2eqTqfRXNokC6cn8VWHEsqc5QjXPzYaWUgXKorS5VHhBfKTtKyTUN1gGR5GQBd7xdJd7WcRHmeyJpK8udg2ub6LP","previous":["zQmSp3NCwE1vFQUMwMCTizWG3vPMxHsnWfTm9vD3FopUkQn","zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9"]},{"ts":1645569466,"op":3,"doc":"zQmWukof688m53Dv3FJKqTTdbBaHYSgjTYqiV7mhwqgRy2T","sig":"zqRsC2ciYzAS2fpJVDBGRQtPtd6USobb99RkPiQaBvH5y5V8rn9Bu4sfm3osKaQVMaSB3mWQEe4mGsLr1JYPgYGV","previous":["zQmeiEurSwZEwYKa6GCk1VWgmmgGKUC8x4V4PrByBH5kSPG"]},{"ts":1645569466,"op":0,"doc":"zQmU8cop1VH6QrArBqZ6m6e1WVLsPYdVn3885JjMqM9ydiJ","sig":"zq8aqUHta8BD4BXpcbuUS9LdsbgyMwRiURVYGqEZGWYpfvcJ34aFHA7YMfG8q1d1nEKXyhksStZDdMt69fsBQ1K1","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":1,"message":"Signature does not match","verification":"identifier: zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"dag_update2\"\n  ],\n  \"key\": \"z6Mv6sPGFo7yyx8QaZVnmGegMN1WWyNjZ9Sf3tmUBkZGtgs9:z6Mv9hE9NerqsRMqW4M2HnAordSz1EJ85uUJig2HxrSSMzpg\",\n  \"log\": \"zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca","doc":{"doc":["dag_update2"],"key":"z6Mv6sPGFo7yyx8QaZVnmGegMN1WWyNjZ9Sf3tmUBkZGtgs9:z6Mv9hE9NerqsRMqW4M2HnAordSz1EJ85uUJig2HxrSSMzpg","log":"zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9"},"log":[{"ts":1645569446,"op":2,"doc":"zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca","sig":"zXgD7UbRk5VdXTshbmMEEraMaC9MLMQrhGbPz6Wkg4LWAHfGJy3KNpqV9En5WG9iFAys6FZ4Ajq24x7T4QnkBzns","previous":[]},{"ts":1645569446,"op":0,"doc":"zQma1zNZTUC8omxEEgj5txUsF7LKnHVVtqwp6PcanUPu9ZP","sig":"z36NdkTVGj1Cq1AcuFXQA5jrkPFquh9uii6LZwrhQ1nfkBPXacwZE88SQcQm2fpac6WscFnVzUGMUKbRsdEs8Nef3","previous":[]},{"ts":1645569446,"op":1,"doc":"zQmbbZuGDrsu8B72UKosKSfZTeCyeRLLSt34fsiLSHg9UbV","sig":"z2eqTqfRXNokC6cn8VWHEsqc5QjXPzYaWUgXKorS5VHhBfKTtKyTUN1gGR5GQBd7xdJd7WcRHmeyJpK8udg2ub6LP","previous":["zQmSp3NCwE1vFQUMwMCTizWG3vPMxHsnWfTm9vD3FopUkQn","zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9"]},{"ts":1645569466,"op":3,"doc":"zQmWukof688m53Dv3FJKqTTdbBaHYSgjTYqiV7mhwqgRy2T","sig":"zqRsC2ciYzAS2fpJVDBGRQtPtd6USobb99RkPiQaBvH5y5V8rn9Bu4sfm3osKaQVMaSB3mWQEe4mGsLr1JYPgYGV","previous":["zQmeiEurSwZEwYKa6GCk1VWgmmgGKUC8x4V4PrByBH5kSPG"]},{"ts":1645569466,"op":0,"doc":"zQmU8cop1VH6QrArBqZ6m6e1WVLsPYdVn3885JjMqM9ydiJ","sig":"zq8aqUHta8BD4BXpcbuUS9LdsbgyMwRiURVYGqEZGWYpfvcJ34aFHA7YMfG8q1d1nEKXyhksStZDdMt69fsBQ1K1","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":1,"message":"Signature does not match","verification":"identifier: zQmecpxqktDTzCvk3zN3W6hY9syFspFHoG5fsBVxUZeruca\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"dag_update2\"\n  ],\n  \"key\": \"z6Mv6sPGFo7yyx8QaZVnmGegMN1WWyNjZ9Sf3tmUBkZGtgs9:z6Mv9hE9NerqsRMqW4M2HnAordSz1EJ85uUJig2HxrSSMzpg\",\n  \"log\": \"zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1645569446,\n  \"op\": 0,\n  \"doc\": \"zQma1zNZTUC8omxEEgj5txUsF7LKnHVVtqwp6PcanUPu9ZP\",\n  \"sig\": \"z36NdkTVGj1Cq1AcuFXQA5jrkPFquh9uii6LZwrhQ1nfkBPXacwZE88SQcQm2fpac6WscFnVzUGMUKbRsdEs8Nef3\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'doc' reference in TERMINATE log record: zQma1zNZTUC8omxEEgj5txUsF7LKnHVVtqwp6PcanUPu9ZP\n✅ is hash of REVOCATION log record (without 'previous' attribute):\n{\n  \"ts\": 1645569446,\n  \"op\": 1,\n  \"doc\": \"zQmbbZuGDrsu8B72UKosKSfZTeCyeRLLSt34fsiLSHg9UbV\",\n  \"sig\": \"z2eqTqfRXNokC6cn8VWHEsqc5QjXPzYaWUgXKorS5VHhBfKTtKyTUN1gGR5GQBd7xdJd7WcRHmeyJpK8udg2ub6LP\",\n  \"previous\": [\n    \"zQmSp3NCwE1vFQUMwMCTizWG3vPMxHsnWfTm9vD3FopUkQn\",\n    \"zQmbsEkyXxCvDEP2ovg9NUidmvDocYqQN4dSCau2HAg4mt9\"\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nfound UPDATE log record:\n{\n  \"ts\": 1645569466,\n  \"op\": 3,\n  \"doc\": \"zQmWukof688m53Dv3FJKqTTdbBaHYSgjTYqiV7mhwqgRy2T\",\n  \"sig\": \"zqRsC2ciYzAS2fpJVDBGRQtPtd6USobb99RkPiQaBvH5y5V8rn9Bu4sfm3osKaQVMaSB3mWQEe4mGsLr1JYPgYGV\",\n  \"previous\": [\n    \"zQmeiEurSwZEwYKa6GCk1VWgmmgGKUC8x4V4PrByBH5kSPG\"\n  ]\n}\n⛔ public key from last DID Document: z6Mv6sPGFo7yyx8QaZVnmGegMN1WWyNjZ9Sf3tmUBkZGtgs9\ndoes not verify 'doc' reference of new DID Document: zQmWukof688m53Dv3FJKqTTdbBaHYSgjTYqiV7mhwqgRy2T\nzqRsC2ciYzAS2fpJVDBGRQtPtd6USobb99RkPiQaBvH5y5V8rn9Bu4sfm3osKaQVMaSB3mWQEe4mGsLr1JYPgYGV\nnext DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)\n{\n  \"doc\": [\n    \"dag_update3\"\n  ],\n  \"key\": \"z6Muy9RGVvh17t9Wy6oJY7U7KmLJbBHARQbZWcMFAEYgrqa7:z6MuxeajjC6EqJvj4DTTTyC8DjrtBc3m9tYmYnieGBtpj9i1\",\n  \"log\": \"zQmeb3FMJE2SyA21FArziy86EgxsLRdEvY1k5cuNHjBbVzu\"\n}\n\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir","doc":{"doc":["same pwd2"],"key":"z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP:z6Mv9Kqg1W8e3qjKyLQ2rWpJgV4MX8NLfgMomvm7Rjioi4Sv","log":"zQmaj5pUpDnCm7nyVBgtuoEgHdxjmeA9sHfX1us95vSU68H"},"log":[{"ts":1645571346,"op":2,"doc":"zQmQReph4xoJCE6xDWuP2VnX4bhmfA16o2mcLCjzep6rcBG","sig":"z5LSYSPeMAYaK27xcBYi1YcPjP3qR49atNbHffaTAtNSEionrbxFwM77n82any5KH6iERqmF3VWT7oxD8pXV9X7Vi","previous":[]},{"ts":1645571346,"op":0,"doc":"zQmXdGHwqWmup6MYGr6porx5bLqaNZMHRZrcR5NwSYrku5r","sig":"zz6tm3KaSo7HcrddPCbNgxvSs4wBb9F53CGFJzZW559tFnZHiBaLfYFbxirr1PZpiGTo7JVCBNe6EiLaKndjqSjZ","previous":[]},{"ts":1645571346,"op":1,"doc":"zQmc8aG6ucfg4VeDiJf7LxYap6vNJmxzYMiYHUVbLsr5oKU","sig":"z3U3WngCZA9jgmEjxg2SLwDcQ3CeNGcTJ6nG3ScezZExbH8y6AaeFUhxqXm4D4KbK2u7J239qQSQmmtrM549PMXRf","previous":["zQmVyBLPgqro4SQMjwjdvxCHEFo7Zq4BzkAzNGPSAXdAu5F","zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx"]},{"ts":1645571363,"op":3,"doc":"zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir","sig":"zhb1tRobHYqeFtEnWfD8oDTLeQE93kY3mHuPWHzTNVDV7YJ71F7dyCTXmy9EAq4iMfVi6Qu6VsmeVP4phwujePsz","previous":["zQmaZSTCcoacYxNqHRc3EqH2c7ToNZ6v4tLeFFMfTQUejMZ"]},{"ts":1645571363,"op":0,"doc":"zQmbNHXJbcytGnFWz3W6dX2jPJqJdSfKGVdTGBAiLWATRST","sig":"z2sfkAbSpDrFReLN6Qvv2my3GgroyHwsZVJtKtibujyt3g6ADnBpirdZnDKH9iYiixB4jZVHQSiSQczjTKvahk9DM","previous":[]}],"doc_log_id":0,"termination_log_id":4,"error":0,"message":"","verification":"identifier: zQmQReph4xoJCE6xDWuP2VnX4bhmfA16o2mcLCjzep6rcBG\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"same pwd\"\n  ],\n  \"key\": \"z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP:z6Mv74GnNZDas4e7jMxrRDANFbdsHq3TkgfwtySePkmXctg1\",\n  \"log\": \"zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir","doc":{"doc":["same pwd2"],"key":"z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP:z6Mv9Kqg1W8e3qjKyLQ2rWpJgV4MX8NLfgMomvm7Rjioi4Sv","log":"zQmaj5pUpDnCm7nyVBgtuoEgHdxjmeA9sHfX1us95vSU68H"},"log":[{"ts":1645571346,"op":2,"doc":"zQmQReph4xoJCE6xDWuP2VnX4bhmfA16o2mcLCjzep6rcBG","sig":"z5LSYSPeMAYaK27xcBYi1YcPjP3qR49atNbHffaTAtNSEionrbxFwM77n82any5KH6iERqmF3VWT7oxD8pXV9X7Vi","previous":[]},{"ts":1645571346,"op":0,"doc":"zQmXdGHwqWmup6MYGr6porx5bLqaNZMHRZrcR5NwSYrku5r","sig":"zz6tm3KaSo7HcrddPCbNgxvSs4wBb9F53CGFJzZW559tFnZHiBaLfYFbxirr1PZpiGTo7JVCBNe6EiLaKndjqSjZ","previous":[]},{"ts":1645571346,"op":1,"doc":"zQmc8aG6ucfg4VeDiJf7LxYap6vNJmxzYMiYHUVbLsr5oKU","sig":"z3U3WngCZA9jgmEjxg2SLwDcQ3CeNGcTJ6nG3ScezZExbH8y6AaeFUhxqXm4D4KbK2u7J239qQSQmmtrM549PMXRf","previous":["zQmVyBLPgqro4SQMjwjdvxCHEFo7Zq4BzkAzNGPSAXdAu5F","zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx"]},{"ts":1645571363,"op":3,"doc":"zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir","sig":"zhb1tRobHYqeFtEnWfD8oDTLeQE93kY3mHuPWHzTNVDV7YJ71F7dyCTXmy9EAq4iMfVi6Qu6VsmeVP4phwujePsz","previous":["zQmaZSTCcoacYxNqHRc3EqH2c7ToNZ6v4tLeFFMfTQUejMZ"]},{"ts":1645571363,"op":0,"doc":"zQmbNHXJbcytGnFWz3W6dX2jPJqJdSfKGVdTGBAiLWATRST","sig":"z2sfkAbSpDrFReLN6Qvv2my3GgroyHwsZVJtKtibujyt3g6ADnBpirdZnDKH9iYiixB4jZVHQSiSQczjTKvahk9DM","previous":[]}],"doc_log_id":0,"termination_log_id":4,"error":0,"message":"","verification":"identifier: zQmQReph4xoJCE6xDWuP2VnX4bhmfA16o2mcLCjzep6rcBG\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"same pwd\"\n  ],\n  \"key\": \"z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP:z6Mv74GnNZDas4e7jMxrRDANFbdsHq3TkgfwtySePkmXctg1\",\n  \"log\": \"zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1645571346,\n  \"op\": 0,\n  \"doc\": \"zQmXdGHwqWmup6MYGr6porx5bLqaNZMHRZrcR5NwSYrku5r\",\n  \"sig\": \"zz6tm3KaSo7HcrddPCbNgxvSs4wBb9F53CGFJzZW559tFnZHiBaLfYFbxirr1PZpiGTo7JVCBNe6EiLaKndjqSjZ\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'doc' reference in TERMINATE log record: zQmXdGHwqWmup6MYGr6porx5bLqaNZMHRZrcR5NwSYrku5r\n✅ is hash of REVOCATION log record (without 'previous' attribute):\n{\n  \"ts\": 1645571346,\n  \"op\": 1,\n  \"doc\": \"zQmc8aG6ucfg4VeDiJf7LxYap6vNJmxzYMiYHUVbLsr5oKU\",\n  \"sig\": \"z3U3WngCZA9jgmEjxg2SLwDcQ3CeNGcTJ6nG3ScezZExbH8y6AaeFUhxqXm4D4KbK2u7J239qQSQmmtrM549PMXRf\",\n  \"previous\": [\n    \"zQmVyBLPgqro4SQMjwjdvxCHEFo7Zq4BzkAzNGPSAXdAu5F\",\n    \"zQmYhKoTJ9mdGipnBTiGoNaqAQbEH4gNcuvgcrLY6AHALjx\"\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nfound UPDATE log record:\n{\n  \"ts\": 1645571363,\n  \"op\": 3,\n  \"doc\": \"zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir\",\n  \"sig\": \"zhb1tRobHYqeFtEnWfD8oDTLeQE93kY3mHuPWHzTNVDV7YJ71F7dyCTXmy9EAq4iMfVi6Qu6VsmeVP4phwujePsz\",\n  \"previous\": [\n    \"zQmaZSTCcoacYxNqHRc3EqH2c7ToNZ6v4tLeFFMfTQUejMZ\"\n  ]\n}\n✅ public key from last DID Document: z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP\nverifies 'doc' reference of new DID Document: zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir\nzhb1tRobHYqeFtEnWfD8oDTLeQE93kY3mHuPWHzTNVDV7YJ71F7dyCTXmy9EAq4iMfVi6Qu6VsmeVP4phwujePsz\nof next DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)\n⚠️  no key rotation in updated DID Document\n\nidentifier: zQmU42fXqvaPkhGPaMGwav1k9r8j8yTQQ8yo3WQQHHFjxir\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"same pwd2\"\n  ],\n  \"key\": \"z6Mv6NNdrkBBQ4bxAzsPintKpXhAjsQTDEvJzABTP2MpZsYP:z6Mv9Kqg1W8e3qjKyLQ2rWpJgV4MX8NLfgMomvm7Rjioi4Sv\",\n  \"log\": \"zQmaj5pUpDnCm7nyVBgtuoEgHdxjmeA9sHfX1us95vSU68H\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmaj5pUpDnCm7nyVBgtuoEgHdxjmeA9sHfX1us95vSU68H\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1645571363,\n  \"op\": 0,\n  \"doc\": \"zQmbNHXJbcytGnFWz3W6dX2jPJqJdSfKGVdTGBAiLWATRST\",\n  \"sig\": \"z2sfkAbSpDrFReLN6Qvv2my3GgroyHwsZVJtKtibujyt3g6ADnBpirdZnDKH9iYiixB4jZVHQSiSQczjTKvahk9DM\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nRevocation reference in log record: zQmbNHXJbcytGnFWz3W6dX2jPJqJdSfKGVdTGBAiLWATRST\n✅ cannot find revocation record searching at\n- https://ppldid.ppldid.peopledata.org.cn\n(Details: https://peopledata.github.io/ppldid/#retrieve_log)\n\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"did":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72", "doc":{"doc":["new payload"], "key":"z6Muztkm7Nrf6uEPCPhe5Cu1vL4NfXJwaCKxWd5tgHbvk6qm:z6Mv1Zdz5SqYx94YmG7UrpPVSXNQSJKCMBanHvLx1SdPUgfH", "log":"zQmaRxpQFsvP9i1ZyZhT5X4V2h7pNqZ4an7vgwpwK3yW7x8"}, "log":[{"ts":1641208742, "op":1, "doc":"zQmSswGSXLgjqBZ9f2RdRkK4AQvJEpxXVCNQNoGYr2grpmZ", "sig":"z2umhsnyM27JyLf3k15JyhPKh7ctKWZLgajrc7wWNJtjwUgrswoGkmVqFAyLbM8GfNDB6xHNLf1mo6rNMtDHSGc8V", "previous":["zQmbcKwoqHbNBwNduTGFdsFb4MCLFayBNxdC6x5qUTVwKU8", "zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"]}, {"ts":1641208742, "op":2, "doc":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF", "sig":"zCjUoJUYBxGWqAd2D2YvA4oYis29KzV6m3uS7U314CUbZojMVhUd5LCa1xbxNGDvxPSwqJUqRN4cvkib1iMoZwpj", "previous":[]}, {"ts":1641208742, "op":0, "doc":"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2", "sig":"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj", "previous":[]}, {"ts":1641208760, "op":3, "doc":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72", "sig":"zCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q", "previous":["zQmW8MKzWJ3dSfRgVqaq2PYQEksnry1BBocaXhxtfRf1jjv"]}, {"ts":1641208760, "op":0, "doc":"zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo", "sig":"z5HGPMqoi83q5GvGQjr2c2xRvqJJGtpxEjpNtGjCUixGWV8tbeKg7sBGdp1qsZYfKNFhFxfQnG67NRoraVsEMi8DL", "previous":[]}], "doc_log_id":1, "termination_log_id":4, "error":0, "message":"", "verification":"identifier: zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"payload\"\n  ],\n  \"key\": \"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB\",\n  \"log\": \"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\"\n}\n(Details: https:// | 
| 1 | 
            +
            {"did":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72", "doc":{"doc":["new payload"], "key":"z6Muztkm7Nrf6uEPCPhe5Cu1vL4NfXJwaCKxWd5tgHbvk6qm:z6Mv1Zdz5SqYx94YmG7UrpPVSXNQSJKCMBanHvLx1SdPUgfH", "log":"zQmaRxpQFsvP9i1ZyZhT5X4V2h7pNqZ4an7vgwpwK3yW7x8"}, "log":[{"ts":1641208742, "op":1, "doc":"zQmSswGSXLgjqBZ9f2RdRkK4AQvJEpxXVCNQNoGYr2grpmZ", "sig":"z2umhsnyM27JyLf3k15JyhPKh7ctKWZLgajrc7wWNJtjwUgrswoGkmVqFAyLbM8GfNDB6xHNLf1mo6rNMtDHSGc8V", "previous":["zQmbcKwoqHbNBwNduTGFdsFb4MCLFayBNxdC6x5qUTVwKU8", "zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN"]}, {"ts":1641208742, "op":2, "doc":"zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF", "sig":"zCjUoJUYBxGWqAd2D2YvA4oYis29KzV6m3uS7U314CUbZojMVhUd5LCa1xbxNGDvxPSwqJUqRN4cvkib1iMoZwpj", "previous":[]}, {"ts":1641208742, "op":0, "doc":"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2", "sig":"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj", "previous":[]}, {"ts":1641208760, "op":3, "doc":"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72", "sig":"zCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q", "previous":["zQmW8MKzWJ3dSfRgVqaq2PYQEksnry1BBocaXhxtfRf1jjv"]}, {"ts":1641208760, "op":0, "doc":"zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo", "sig":"z5HGPMqoi83q5GvGQjr2c2xRvqJJGtpxEjpNtGjCUixGWV8tbeKg7sBGdp1qsZYfKNFhFxfQnG67NRoraVsEMi8DL", "previous":[]}], "doc_log_id":1, "termination_log_id":4, "error":0, "message":"", "verification":"identifier: zQmYhESMRSvN9BkrCf7YcBfxNzigVphyBUbFMfJpEm1fdPF\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"payload\"\n  ],\n  \"key\": \"z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP:z6MuztHorNR1h7Ds79sYsxeFF7vSu7eFcLdYsU99qyJPWJyB\",\n  \"log\": \"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1641208742,\n  \"op\": 0,\n  \"doc\": \"zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2\",\n  \"sig\": \"z4Fq84y8Mg1Z52A5XUXdHES5fzGwBEGVTP6Nx2gz1Zvy7XuA8UH77f7wP7g7Dh2WtbAW2oThg2VmZSN5YySytNiGj\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'doc' reference in TERMINATE log record: zQmW3EpDiEmDnk2epFQ2t8hXuygmivW2LJDZyUn3v9G4pj2\n✅ is hash of REVOCATION log record (without 'previous' attribute):\n{\n  \"ts\": 1641208742,\n  \"op\": 1,\n  \"doc\": \"zQmSswGSXLgjqBZ9f2RdRkK4AQvJEpxXVCNQNoGYr2grpmZ\",\n  \"sig\": \"z2umhsnyM27JyLf3k15JyhPKh7ctKWZLgajrc7wWNJtjwUgrswoGkmVqFAyLbM8GfNDB6xHNLf1mo6rNMtDHSGc8V\",\n  \"previous\": [\n    \"zQmbcKwoqHbNBwNduTGFdsFb4MCLFayBNxdC6x5qUTVwKU8\",\n    \"zQmYmirw77JK4SX34zwmjgjE3F8BXnsDoBuPPbgjSQNcnZN\"\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nfound UPDATE log record:\n{\n  \"ts\": 1641208760,\n  \"op\": 3,\n  \"doc\": \"zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72\",\n  \"sig\": \"zCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q\",\n  \"previous\": [\n    \"zQmW8MKzWJ3dSfRgVqaq2PYQEksnry1BBocaXhxtfRf1jjv\"\n  ]\n}\n✅ public key from last DID Document: z6Mv8rFnUqnHArmaGJCHTxBCtM7GcNXpi8DWWKN1qEbeWdvP\nverifies 'doc' reference of new DID Document: zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72\nzCQKpYAK1erKjqVwPExRCzBQkxHTbvaKkq9FAo4zD5JXgmzZJz6UVKSYVJvk43vmkaYcZ38eesEG5YUZ2f5pzr8q\nof next DID Document (Details: https://peopledata.github.io/ppldid/#verify_signature)\n\nidentifier: zQmfDsSChwWjAxz8FYXXjJCdUqq9ZiUCtBiXnZVGUTGku72\n✅ is hash of DID Document:\n{\n  \"doc\": [\n    \"new payload\"\n  ],\n  \"key\": \"z6Muztkm7Nrf6uEPCPhe5Cu1vL4NfXJwaCKxWd5tgHbvk6qm:z6Mv1Zdz5SqYx94YmG7UrpPVSXNQSJKCMBanHvLx1SdPUgfH\",\n  \"log\": \"zQmaRxpQFsvP9i1ZyZhT5X4V2h7pNqZ4an7vgwpwK3yW7x8\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmaRxpQFsvP9i1ZyZhT5X4V2h7pNqZ4an7vgwpwK3yW7x8\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1641208760,\n  \"op\": 0,\n  \"doc\": \"zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo\",\n  \"sig\": \"z5HGPMqoi83q5GvGQjr2c2xRvqJJGtpxEjpNtGjCUixGWV8tbeKg7sBGdp1qsZYfKNFhFxfQnG67NRoraVsEMi8DL\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nRevocation reference in log record: zQmdAyJZ3P1LEn8Ldc8fwGC3jv2fT9r2tRjmU2wZfmJS2Zo\n✅ cannot find revocation record searching at\n- https://ppldid.ppldid.peopledata.org.cn\n(Details: https://peopledata.github.io/ppldid/#retrieve_log)\n\n"}
         | 
| @@ -1 +1 @@ | |
| 1 | 
            -
            [{"did":"zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh","doc":{"doc":{"simple":"example"},"key":"z6MusYB5iT5krCHYsZ76EzBaTdRwGKsaBhMcSbrXaPJgkuRQ:z6Mv7EYihbAat6Wq7GsjNsjcxt58dZT8fmsRjQGTkYamYrjB","log":"zQmVwMvovLy5KNYHHVHQ1wv8J7y9L6UPE8eyU4tzypFWtYe"},"log":[{"ts":1641224736,"op":2,"doc":"zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh","sig":"z3Kb5qeReCqr3ftxpf2i5UypUwrzrVkyspMtaDcb6e9YdHVSptcAFgvwbgk3qWqspTcGiKDYKXZZh8g6XyM2WPmNp","previous":[]},{"ts":1641224736,"op":0,"doc":"zQmT8SG7a238bF7wdV7LdrEAQpimqhKGor7CQsjtCYdZdTS","sig":"z63hu8LseptBrvB2kEDwhPP35sBj7JDDJsEDW85cjRkrjjac9ZV3HxPW9NVKewHcQYwrVLVsnDCcm1RjbEARE5rJU","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":0,"message":"","verification":"identifier: zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh\n✅ is hash of DID Document:\n{\n  \"doc\": {\n    \"simple\": \"example\"\n  },\n  \"key\": \"z6MusYB5iT5krCHYsZ76EzBaTdRwGKsaBhMcSbrXaPJgkuRQ:z6Mv7EYihbAat6Wq7GsjNsjcxt58dZT8fmsRjQGTkYamYrjB\",\n  \"log\": \"zQmVwMvovLy5KNYHHVHQ1wv8J7y9L6UPE8eyU4tzypFWtYe\"\n}\n(Details: https:// | 
| 1 | 
            +
            [{"did":"zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh","doc":{"doc":{"simple":"example"},"key":"z6MusYB5iT5krCHYsZ76EzBaTdRwGKsaBhMcSbrXaPJgkuRQ:z6Mv7EYihbAat6Wq7GsjNsjcxt58dZT8fmsRjQGTkYamYrjB","log":"zQmVwMvovLy5KNYHHVHQ1wv8J7y9L6UPE8eyU4tzypFWtYe"},"log":[{"ts":1641224736,"op":2,"doc":"zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh","sig":"z3Kb5qeReCqr3ftxpf2i5UypUwrzrVkyspMtaDcb6e9YdHVSptcAFgvwbgk3qWqspTcGiKDYKXZZh8g6XyM2WPmNp","previous":[]},{"ts":1641224736,"op":0,"doc":"zQmT8SG7a238bF7wdV7LdrEAQpimqhKGor7CQsjtCYdZdTS","sig":"z63hu8LseptBrvB2kEDwhPP35sBj7JDDJsEDW85cjRkrjjac9ZV3HxPW9NVKewHcQYwrVLVsnDCcm1RjbEARE5rJU","previous":[]}],"doc_log_id":0,"termination_log_id":1,"error":0,"message":"","verification":"identifier: zQmaBZTghndXTgxNwfbdpVLWdFf6faYE4oeuN2zzXdQt1kh\n✅ is hash of DID Document:\n{\n  \"doc\": {\n    \"simple\": \"example\"\n  },\n  \"key\": \"z6MusYB5iT5krCHYsZ76EzBaTdRwGKsaBhMcSbrXaPJgkuRQ:z6Mv7EYihbAat6Wq7GsjNsjcxt58dZT8fmsRjQGTkYamYrjB\",\n  \"log\": \"zQmVwMvovLy5KNYHHVHQ1wv8J7y9L6UPE8eyU4tzypFWtYe\"\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\n'log' reference in DID Document: zQmVwMvovLy5KNYHHVHQ1wv8J7y9L6UPE8eyU4tzypFWtYe\n✅ is hash of TERMINATE log record:\n{\n  \"ts\": 1641224736,\n  \"op\": 0,\n  \"doc\": \"zQmT8SG7a238bF7wdV7LdrEAQpimqhKGor7CQsjtCYdZdTS\",\n  \"sig\": \"z63hu8LseptBrvB2kEDwhPP35sBj7JDDJsEDW85cjRkrjjac9ZV3HxPW9NVKewHcQYwrVLVsnDCcm1RjbEARE5rJU\",\n  \"previous\": [\n\n  ]\n}\n(Details: https://peopledata.github.io/ppldid/#calculate_hash)\n\nRevocation reference in log record: zQmT8SG7a238bF7wdV7LdrEAQpimqhKGor7CQsjtCYdZdTS\n✅ cannot find revocation record searching at\n- https://ppldid.ppldid.peopledata.org.cn\n(Details: https://peopledata.github.io/ppldid/#retrieve_log)\n\n"}, ""]
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ppldid
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.2.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jerry Zhang
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022-09- | 
| 11 | 
            +
            date: 2022-09-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: dag
         | 
| @@ -300,122 +300,121 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 300 300 | 
             
                - !ruby/object:Gem::Version
         | 
| 301 301 | 
             
                  version: '0'
         | 
| 302 302 | 
             
            requirements: []
         | 
| 303 | 
            -
             | 
| 304 | 
            -
            rubygems_version: 2.7.11
         | 
| 303 | 
            +
            rubygems_version: 3.2.3
         | 
| 305 304 | 
             
            signing_key: 
         | 
| 306 305 | 
             
            specification_version: 4
         | 
| 307 306 | 
             
            summary: Decentralized IDentifier for People.
         | 
| 308 307 | 
             
            test_files:
         | 
| 309 | 
            -
            - spec/spec_helper.rb
         | 
| 310 308 | 
             
            - spec/ppldid_spec.rb
         | 
| 311 | 
            -
            - spec/ | 
| 312 | 
            -
            - spec/input/basic/wierd.json
         | 
| 313 | 
            -
            - spec/input/basic/values.json
         | 
| 309 | 
            +
            - spec/spec_helper.rb
         | 
| 314 310 | 
             
            - spec/input/basic/arrays.json
         | 
| 315 | 
            -
            - spec/input/basic/structures.json
         | 
| 316 311 | 
             
            - spec/input/basic/french.json
         | 
| 317 | 
            -
            - spec/ | 
| 318 | 
            -
            - spec/ | 
| 319 | 
            -
            - spec/ | 
| 312 | 
            +
            - spec/input/basic/structures.json
         | 
| 313 | 
            +
            - spec/input/basic/unicode.json
         | 
| 314 | 
            +
            - spec/input/basic/values.json
         | 
| 315 | 
            +
            - spec/input/basic/wierd.json
         | 
| 320 316 | 
             
            - spec/output/basic/arrays.json
         | 
| 321 | 
            -
            - spec/output/basic/structures.json
         | 
| 322 317 | 
             
            - spec/output/basic/french.json
         | 
| 323 | 
            -
            - spec/ | 
| 324 | 
            -
            - spec/ | 
| 325 | 
            -
            - spec/ | 
| 326 | 
            -
            - spec/ | 
| 327 | 
            -
            - spec/input/basic/sample_invalid_verify.doc
         | 
| 318 | 
            +
            - spec/output/basic/structures.json
         | 
| 319 | 
            +
            - spec/output/basic/unicode.json
         | 
| 320 | 
            +
            - spec/output/basic/values.json
         | 
| 321 | 
            +
            - spec/output/basic/wierd.json
         | 
| 328 322 | 
             
            - spec/input/basic/sample2_get_location.doc
         | 
| 323 | 
            +
            - spec/input/basic/sample2_retrieve_document.doc
         | 
| 324 | 
            +
            - spec/input/basic/sample3_retrieve_document.doc
         | 
| 325 | 
            +
            - spec/input/basic/sample4_retrieve_document.doc
         | 
| 326 | 
            +
            - spec/input/basic/sample5_retrieve_document.doc
         | 
| 329 327 | 
             
            - spec/input/basic/sample_dec.doc
         | 
| 330 | 
            -
            - spec/input/basic/sample_verify.doc
         | 
| 331 | 
            -
            - spec/input/basic/zQmaBZTghn.doc
         | 
| 332 | 
            -
            - spec/input/basic/sample_invalid_readkey.doc
         | 
| 333 | 
            -
            - spec/input/basic/sample_invalid2_readkey.doc
         | 
| 334 | 
            -
            - spec/input/basic/sample_invalid3_verify.doc
         | 
| 335 328 | 
             
            - spec/input/basic/sample_enc.doc
         | 
| 336 | 
            -
            - spec/input/basic/sample5_retrieve_document.doc
         | 
| 337 329 | 
             
            - spec/input/basic/sample_get_location.doc
         | 
| 338 | 
            -
            - spec/input/basic/ | 
| 339 | 
            -
            - spec/input/basic/ | 
| 340 | 
            -
            - spec/input/basic/sample_readkey.doc
         | 
| 341 | 
            -
            - spec/input/basic/sample3_retrieve_document.doc
         | 
| 330 | 
            +
            - spec/input/basic/sample_hash.doc
         | 
| 331 | 
            +
            - spec/input/basic/sample_invalid2_readkey.doc
         | 
| 342 332 | 
             
            - spec/input/basic/sample_invalid2_verify.doc
         | 
| 333 | 
            +
            - spec/input/basic/sample_invalid3_readkey.doc
         | 
| 334 | 
            +
            - spec/input/basic/sample_invalid3_verify.doc
         | 
| 343 335 | 
             
            - spec/input/basic/sample_invalid_privkey.doc
         | 
| 336 | 
            +
            - spec/input/basic/sample_invalid_readkey.doc
         | 
| 344 337 | 
             
            - spec/input/basic/sample_invalid_sign.doc
         | 
| 345 | 
            -
            - spec/input/basic/ | 
| 346 | 
            -
            - spec/input/basic/sample4_retrieve_document.doc
         | 
| 338 | 
            +
            - spec/input/basic/sample_invalid_verify.doc
         | 
| 347 339 | 
             
            - spec/input/basic/sample_key.doc
         | 
| 348 | 
            -
            - spec/input/ | 
| 349 | 
            -
            - spec/input/ | 
| 340 | 
            +
            - spec/input/basic/sample_readkey.doc
         | 
| 341 | 
            +
            - spec/input/basic/sample_retrieve_document.doc
         | 
| 342 | 
            +
            - spec/input/basic/sample_sign.doc
         | 
| 343 | 
            +
            - spec/input/basic/sample_valid_privkey.doc
         | 
| 344 | 
            +
            - spec/input/basic/sample_verify.doc
         | 
| 345 | 
            +
            - spec/input/basic/zQmaBZTghn.doc
         | 
| 346 | 
            +
            - spec/input/log/sample0_dag2array.doc
         | 
| 347 | 
            +
            - spec/input/log/sample0_dag_did.doc
         | 
| 348 | 
            +
            - spec/input/log/sample1_dag_did.doc
         | 
| 350 349 | 
             
            - spec/input/log/sample1_dag_update.doc
         | 
| 351 | 
            -
            - spec/input/log/ | 
| 352 | 
            -
            - spec/input/log/ | 
| 353 | 
            -
            - spec/input/log/ | 
| 354 | 
            -
            - spec/input/log/sample7_retrieve_log.doc
         | 
| 350 | 
            +
            - spec/input/log/sample2_dag_did.doc
         | 
| 351 | 
            +
            - spec/input/log/sample2_dag_update.doc
         | 
| 352 | 
            +
            - spec/input/log/sample2_retrieve_log.doc
         | 
| 355 353 | 
             
            - spec/input/log/sample3_dag_did.doc
         | 
| 356 | 
            -
            - spec/input/log/sample5_dag_update.doc
         | 
| 357 354 | 
             
            - spec/input/log/sample3_dag_update.doc
         | 
| 355 | 
            +
            - spec/input/log/sample3_retrieve_log.doc
         | 
| 356 | 
            +
            - spec/input/log/sample4_dag_did.doc
         | 
| 357 | 
            +
            - spec/input/log/sample4_dag_update.doc
         | 
| 358 | 
            +
            - spec/input/log/sample4_retrieve_log.doc
         | 
| 359 | 
            +
            - spec/input/log/sample5_dag_update.doc
         | 
| 360 | 
            +
            - spec/input/log/sample5_retrieve_log.doc
         | 
| 358 361 | 
             
            - spec/input/log/sample6_dag_update.doc
         | 
| 359 | 
            -
            - spec/input/log/sample_addhash.doc
         | 
| 360 362 | 
             
            - spec/input/log/sample6_retrieve_log.doc
         | 
| 361 | 
            -
            - spec/input/log/ | 
| 362 | 
            -
            - spec/input/log/ | 
| 363 | 
            -
            - spec/input/log/ | 
| 364 | 
            -
            - spec/input/log/ | 
| 363 | 
            +
            - spec/input/log/sample7_dag_update.doc
         | 
| 364 | 
            +
            - spec/input/log/sample7_retrieve_log.doc
         | 
| 365 | 
            +
            - spec/input/log/sample8_dag_update.doc
         | 
| 366 | 
            +
            - spec/input/log/sample_addhash.doc
         | 
| 367 | 
            +
            - spec/input/log/sample_dag_update.doc
         | 
| 368 | 
            +
            - spec/input/log/sample_match_log.doc
         | 
| 365 369 | 
             
            - spec/input/log/sample_op1_addhash.doc
         | 
| 366 | 
            -
            - spec/input/log/sample3_retrieve_log.doc
         | 
| 367 370 | 
             
            - spec/input/log/sample_retrieve_log.doc
         | 
| 368 | 
            -
            - spec/input/ | 
| 369 | 
            -
            - spec/input/log/sample0_dag_did.doc
         | 
| 370 | 
            -
            - spec/input/log/sample0_dag2array.doc
         | 
| 371 | 
            -
            - spec/input/log/sample4_dag_update.doc
         | 
| 372 | 
            -
            - spec/input/log/sample5_retrieve_log.doc
         | 
| 373 | 
            -
            - spec/output/main/sample0_read.doc
         | 
| 374 | 
            -
            - spec/output/basic/sample_sign.doc
         | 
| 375 | 
            -
            - spec/output/basic/sample_hash.doc
         | 
| 376 | 
            -
            - spec/output/basic/sample_valid_privkey.doc
         | 
| 377 | 
            -
            - spec/output/basic/sample_invalid_verify.doc
         | 
| 371 | 
            +
            - spec/input/main/sample0_read.doc
         | 
| 378 372 | 
             
            - spec/output/basic/sample2_get_location.doc
         | 
| 373 | 
            +
            - spec/output/basic/sample2_retrieve_document.doc
         | 
| 374 | 
            +
            - spec/output/basic/sample3_retrieve_document.doc
         | 
| 375 | 
            +
            - spec/output/basic/sample4_retrieve_document.doc
         | 
| 376 | 
            +
            - spec/output/basic/sample5_retrieve_document.doc
         | 
| 379 377 | 
             
            - spec/output/basic/sample_dec.doc
         | 
| 380 | 
            -
            - spec/output/basic/sample_verify.doc
         | 
| 381 | 
            -
            - spec/output/basic/sample_invalid_readkey.doc
         | 
| 382 | 
            -
            - spec/output/basic/sample_invalid2_readkey.doc
         | 
| 383 | 
            -
            - spec/output/basic/sample_invalid3_verify.doc
         | 
| 384 378 | 
             
            - spec/output/basic/sample_enc.doc
         | 
| 385 | 
            -
            - spec/output/basic/sample5_retrieve_document.doc
         | 
| 386 379 | 
             
            - spec/output/basic/sample_get_location.doc
         | 
| 387 | 
            -
            - spec/output/basic/ | 
| 388 | 
            -
            - spec/output/basic/ | 
| 389 | 
            -
            - spec/output/basic/sample_readkey.doc
         | 
| 390 | 
            -
            - spec/output/basic/sample3_retrieve_document.doc
         | 
| 380 | 
            +
            - spec/output/basic/sample_hash.doc
         | 
| 381 | 
            +
            - spec/output/basic/sample_invalid2_readkey.doc
         | 
| 391 382 | 
             
            - spec/output/basic/sample_invalid2_verify.doc
         | 
| 383 | 
            +
            - spec/output/basic/sample_invalid3_readkey.doc
         | 
| 384 | 
            +
            - spec/output/basic/sample_invalid3_verify.doc
         | 
| 392 385 | 
             
            - spec/output/basic/sample_invalid_privkey.doc
         | 
| 386 | 
            +
            - spec/output/basic/sample_invalid_readkey.doc
         | 
| 393 387 | 
             
            - spec/output/basic/sample_invalid_sign.doc
         | 
| 394 | 
            -
            - spec/output/basic/ | 
| 395 | 
            -
            - spec/output/basic/sample4_retrieve_document.doc
         | 
| 388 | 
            +
            - spec/output/basic/sample_invalid_verify.doc
         | 
| 396 389 | 
             
            - spec/output/basic/sample_key.doc
         | 
| 397 | 
            -
            - spec/output/ | 
| 398 | 
            -
            - spec/output/ | 
| 390 | 
            +
            - spec/output/basic/sample_readkey.doc
         | 
| 391 | 
            +
            - spec/output/basic/sample_retrieve_document.doc
         | 
| 392 | 
            +
            - spec/output/basic/sample_sign.doc
         | 
| 393 | 
            +
            - spec/output/basic/sample_valid_privkey.doc
         | 
| 394 | 
            +
            - spec/output/basic/sample_verify.doc
         | 
| 395 | 
            +
            - spec/output/log/sample0_dag2array.doc
         | 
| 396 | 
            +
            - spec/output/log/sample0_dag_did.doc
         | 
| 397 | 
            +
            - spec/output/log/sample1_dag_did.doc
         | 
| 399 398 | 
             
            - spec/output/log/sample1_dag_update.doc
         | 
| 400 | 
            -
            - spec/output/log/ | 
| 401 | 
            -
            - spec/output/log/ | 
| 402 | 
            -
            - spec/output/log/ | 
| 403 | 
            -
            - spec/output/log/sample7_retrieve_log.doc
         | 
| 399 | 
            +
            - spec/output/log/sample2_dag_did.doc
         | 
| 400 | 
            +
            - spec/output/log/sample2_dag_update.doc
         | 
| 401 | 
            +
            - spec/output/log/sample2_retrieve_log.doc
         | 
| 404 402 | 
             
            - spec/output/log/sample3_dag_did.doc
         | 
| 405 | 
            -
            - spec/output/log/sample5_dag_update.doc
         | 
| 406 403 | 
             
            - spec/output/log/sample3_dag_update.doc
         | 
| 404 | 
            +
            - spec/output/log/sample3_retrieve_log.doc
         | 
| 405 | 
            +
            - spec/output/log/sample4_dag_did.doc
         | 
| 406 | 
            +
            - spec/output/log/sample4_dag_update.doc
         | 
| 407 | 
            +
            - spec/output/log/sample4_retrieve_log.doc
         | 
| 408 | 
            +
            - spec/output/log/sample5_dag_update.doc
         | 
| 409 | 
            +
            - spec/output/log/sample5_retrieve_log.doc
         | 
| 407 410 | 
             
            - spec/output/log/sample6_dag_update.doc
         | 
| 408 | 
            -
            - spec/output/log/sample_addhash.doc
         | 
| 409 411 | 
             
            - spec/output/log/sample6_retrieve_log.doc
         | 
| 410 | 
            -
            - spec/output/log/ | 
| 411 | 
            -
            - spec/output/log/ | 
| 412 | 
            -
            - spec/output/log/ | 
| 413 | 
            -
            - spec/output/log/ | 
| 412 | 
            +
            - spec/output/log/sample7_dag_update.doc
         | 
| 413 | 
            +
            - spec/output/log/sample7_retrieve_log.doc
         | 
| 414 | 
            +
            - spec/output/log/sample8_dag_update.doc
         | 
| 415 | 
            +
            - spec/output/log/sample_addhash.doc
         | 
| 416 | 
            +
            - spec/output/log/sample_dag_update.doc
         | 
| 417 | 
            +
            - spec/output/log/sample_match_log.doc
         | 
| 414 418 | 
             
            - spec/output/log/sample_op1_addhash.doc
         | 
| 415 | 
            -
            - spec/output/log/sample3_retrieve_log.doc
         | 
| 416 419 | 
             
            - spec/output/log/sample_retrieve_log.doc
         | 
| 417 | 
            -
            - spec/output/ | 
| 418 | 
            -
            - spec/output/log/sample0_dag_did.doc
         | 
| 419 | 
            -
            - spec/output/log/sample0_dag2array.doc
         | 
| 420 | 
            -
            - spec/output/log/sample4_dag_update.doc
         | 
| 421 | 
            -
            - spec/output/log/sample5_retrieve_log.doc
         | 
| 420 | 
            +
            - spec/output/main/sample0_read.doc
         |