master
md 111 lines 4.56 KB
Rendered Raw
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 ```