| 1 | # Dataset description/sources |
| 2 | |
| 3 | - fixtures.car |
| 4 | - raw CARv1 |
| 5 | |
| 6 | - QmUKd....ipns-record |
| 7 | - ipns record, encoded with protocol buffer |
| 8 | |
| 9 | - 12D3K....ipns-record |
| 10 | - ipns record, encoded with protocol buffer |
| 11 | |
| 12 | Generated with: |
| 13 | |
| 14 | ```sh |
| 15 | # using ipfs version 0.21.0-dev (03a98280e3e642774776cd3d0435ab53e5dfa867) |
| 16 | |
| 17 | # CIDv0to1 is necessary because raw-leaves are enabled by default during |
| 18 | # "ipfs add" with CIDv1 and disabled with CIDv0 |
| 19 | CID_VAL="hello" |
| 20 | CIDv1=$(echo $CID_VAL | ipfs add --cid-version 1 -Q) |
| 21 | CIDv0=$(echo $CID_VAL | ipfs add --cid-version 0 -Q) |
| 22 | CIDv0to1=$(echo "$CIDv0" | ipfs cid base32) |
| 23 | # sha512 will be over 63char limit, even when represented in Base36 |
| 24 | CIDv1_TOO_LONG=$(echo $CID_VAL | ipfs add --cid-version 1 --hash sha2-512 -Q) |
| 25 | |
| 26 | echo CID_VAL=${CID_VAL} |
| 27 | echo CIDv1=${CIDv1} |
| 28 | echo CIDv0=${CIDv0} |
| 29 | echo CIDv0to1=${CIDv0to1} |
| 30 | echo CIDv1_TOO_LONG=${CIDv1_TOO_LONG} |
| 31 | |
| 32 | # Directory tree crafted to test for edge cases like "/ipfs/ipfs/ipns/bar" |
| 33 | mkdir -p testdirlisting/ipfs/ipns && |
| 34 | echo "hello" > testdirlisting/hello && |
| 35 | echo "text-file-content" > testdirlisting/ipfs/ipns/bar && |
| 36 | mkdir -p testdirlisting/api && |
| 37 | mkdir -p testdirlisting/ipfs && |
| 38 | echo "I am a txt file" > testdirlisting/api/file.txt && |
| 39 | echo "I am a txt file" > testdirlisting/ipfs/file.txt && |
| 40 | DIR_CID=$(ipfs add -Qr --cid-version 1 testdirlisting) |
| 41 | |
| 42 | echo DIR_CID=${DIR_CID} # ./testdirlisting |
| 43 | |
| 44 | ipfs files mkdir /t0114/ |
| 45 | ipfs files cp /ipfs/${CIDv1} /t0114/ |
| 46 | ipfs files cp /ipfs/${CIDv0} /t0114/ |
| 47 | ipfs files cp /ipfs/${CIDv0to1} /t0114/ |
| 48 | ipfs files cp /ipfs/${DIR_CID} /t0114/ |
| 49 | ipfs files cp /ipfs/${CIDv1_TOO_LONG} /t0114/ |
| 50 | |
| 51 | ROOT=`ipfs files stat /t0114/ --hash` |
| 52 | |
| 53 | ipfs dag export ${ROOT} > ./fixtures.car |
| 54 | |
| 55 | # Then the keys |
| 56 | |
| 57 | KEY_NAME=test_key_rsa_$RANDOM |
| 58 | RSA_KEY=$(ipfs key gen --ipns-base=b58mh --type=rsa --size=2048 ${KEY_NAME} | head -n1 | tr -d "\n") |
| 59 | RSA_IPNS_IDv0=$(echo "$RSA_KEY" | ipfs cid format -v 0) |
| 60 | RSA_IPNS_IDv1=$(echo "$RSA_KEY" | ipfs cid format -v 1 --mc libp2p-key -b base36) |
| 61 | RSA_IPNS_IDv1_DAGPB=$(echo "$RSA_IPNS_IDv0" | ipfs cid format -v 1 -b base36) |
| 62 | |
| 63 | # publish a record valid for a 100 years |
| 64 | ipfs name publish --key ${KEY_NAME} --allow-offline -Q --ttl=876600h --lifetime=876600h "/ipfs/$CIDv1" |
| 65 | ipfs routing get /ipns/${RSA_KEY} > ${RSA_KEY}.ipns-record |
| 66 | |
| 67 | echo RSA_KEY=${RSA_KEY} |
| 68 | echo RSA_IPNS_IDv0=${RSA_IPNS_IDv0} |
| 69 | echo RSA_IPNS_IDv1=${RSA_IPNS_IDv1} |
| 70 | echo RSA_IPNS_IDv1_DAGPB=${RSA_IPNS_IDv1_DAGPB} |
| 71 | |
| 72 | KEY_NAME=test_key_ed25519_$RANDOM |
| 73 | ED25519_KEY=$(ipfs key gen --ipns-base=b58mh --type=ed25519 ${KEY_NAME} | head -n1 | tr -d "\n") |
| 74 | ED25519_IPNS_IDv0=$ED25519_KEY |
| 75 | ED25519_IPNS_IDv1=$(ipfs key list -l --ipns-base=base36 | grep ${KEY_NAME} | cut -d " " -f1 | tr -d "\n") |
| 76 | ED25519_IPNS_IDv1_DAGPB=$(echo "$ED25519_IPNS_IDv1" | ipfs cid format -v 1 -b base36 --mc dag-pb) |
| 77 | |
| 78 | # ed25519 fits under 63 char limit when represented in base36 |
| 79 | IPNS_ED25519_B58MH=$(ipfs key list -l --ipns-base b58mh | grep $KEY_NAME | cut -d" " -f1 | tr -d "\n") |
| 80 | IPNS_ED25519_B36CID=$(ipfs key list -l --ipns-base base36 | grep $KEY_NAME | cut -d" " -f1 | tr -d "\n") |
| 81 | |
| 82 | # publish a record valid for a 100 years |
| 83 | ipfs name publish --key ${KEY_NAME} --allow-offline -Q --ttl=876600h --lifetime=876600h "/ipfs/$CIDv1" |
| 84 | ipfs routing get /ipns/${ED25519_KEY} > ${ED25519_KEY}.ipns-record |
| 85 | |
| 86 | echo ED25519_KEY=${ED25519_KEY} |
| 87 | echo ED25519_IPNS_IDv0=${ED25519_IPNS_IDv0} |
| 88 | echo ED25519_IPNS_IDv1=${ED25519_IPNS_IDv1} |
| 89 | echo ED25519_IPNS_IDv1_DAGPB=${ED25519_IPNS_IDv1_DAGPB} |
| 90 | echo IPNS_ED25519_B58MH=${IPNS_ED25519_B58MH} |
| 91 | echo IPNS_ED25519_B36CID=${IPNS_ED25519_B36CID} |
| 92 | |
| 93 | # CID_VAL=hello |
| 94 | # CIDv1=bafkreicysg23kiwv34eg2d7qweipxwosdo2py4ldv42nbauguluen5v6am |
| 95 | # CIDv0=QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN |
| 96 | # CIDv0to1=bafybeiffndsajwhk3lwjewwdxqntmjm4b5wxaaanokonsggenkbw6slwk4 |
| 97 | # CIDv1_TOO_LONG=bafkrgqhhyivzstcz3hhswshfjgy6ertgmnqeleynhwt4dlfsthi4hn7zgh4uvlsb5xncykzapi3ocd4lzogukir6ksdy6wzrnz6ohnv4aglcs |
| 98 | # DIR_CID=bafybeiht6dtwk3les7vqm6ibpvz6qpohidvlshsfyr7l5mpysdw2vmbbhe # ./testdirlisting |
| 99 | |
| 100 | # RSA_KEY=QmVujd5Vb7moysJj8itnGufN7MEtPRCNHkKpNuA4onsRa3 |
| 101 | # RSA_IPNS_IDv0=QmVujd5Vb7moysJj8itnGufN7MEtPRCNHkKpNuA4onsRa3 |
| 102 | # RSA_IPNS_IDv1=k2k4r8m7xvggw5pxxk3abrkwyer625hg01hfyggrai7lk1m63fuihi7w |
| 103 | # RSA_IPNS_IDv1_DAGPB=k2jmtxu61bnhrtj301lw7zizknztocdbeqhxgv76l2q9t36fn9jbzipo |
| 104 | |
| 105 | # ED25519_KEY=12D3KooWLQzUv2FHWGVPXTXSZpdHs7oHbXub2G5WC8Tx4NQhyd2d |
| 106 | # ED25519_IPNS_IDv0=12D3KooWLQzUv2FHWGVPXTXSZpdHs7oHbXub2G5WC8Tx4NQhyd2d |
| 107 | # ED25519_IPNS_IDv1=k51qzi5uqu5dk3v4rmjber23h16xnr23bsggmqqil9z2gduiis5se8dht36dam |
| 108 | # ED25519_IPNS_IDv1_DAGPB=k50rm9yjlt0jey4fqg6wafvqprktgbkpgkqdg27tpqje6iimzxewnhvtin9hhq |
| 109 | # IPNS_ED25519_B58MH=12D3KooWLQzUv2FHWGVPXTXSZpdHs7oHbXub2G5WC8Tx4NQhyd2d |
| 110 | # IPNS_ED25519_B36CID=k51qzi5uqu5dk3v4rmjber23h16xnr23bsggmqqil9z2gduiis5se8dht36dam |
| 111 | ``` |