@cryptotaxi247 / kubo / commits / fb663c6bb

docs: add IPIP-351 to 0.19 changelog

Marcin Rataj committed Mar 9, 2023 at 00:24 UTC fb663c6bb474a998bc4c0f56ef7c48dbe6c289e9
1 file changed +44 -1
docs/changelogs/v0.19.md
+44 -1
@@ -7,7 +7,10 @@
7 - [Overview](#overview)
8 - [🔦 Highlights](#-highlights)
9 - [Improving the libp2p resource management integration](#improving-the-libp2p-resource-management-integration)
10 - - [Pubsub message caching improvements](#pubsub-message-caching-improvements)
10 + - [PubSub message caching improvements](#pubsub-message-caching-improvements)
11 + - [Gateways](#gateways)
12 + - [Signed IPNS Record response format](#signed-ipns-record-response-format)
13 + - [Example fetch and inspect IPNS record](#example-fetch-and-inspect-ipns-record)
14 - [📝 Changelog](#-changelog)
15 - [👨‍👩‍👧‍👦 Contributors](#-contributors)
16
@@ -27,6 +30,46 @@ and [0.18.1](https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.18.md#i
30
31 The PubSub message cache will now [prune messages after TTL is exhausted](https://github.com/ipfs/kubo/blob/master/docs/config.md#pubsubseenmessagesttl), [either based on the last time a message was seen or the first time it was seen](https://github.com/ipfs/kubo/blob/master/docs/config.md#pubsubseenmessagesstrategy).
32
33 +#### Gateways
34 +
35 +##### Signed IPNS Record response format
36 +
37 +This release implements [IPIP-351](https://github.com/ipfs/specs/pull/351) and
38 +adds Gateway support for returning signed (verifiable) `ipns-record` (0x0300)
39 +when `/ipns/{libp2p-key}` is requested with either
40 +`Accept: application/vnd.ipfs.ipns-record` HTTP header
41 +or `?format=ipns-record` URL query parameter.
42 +
43 +
44 +The Gateway in Kubo already supported [trustless, verifiable retrieval](https://docs.ipfs.tech/reference/http/gateway/#trustless-verifiable-retrieval) of immutable `/ipfs/` namespace.
45 +With `?format=ipns-record`, light HTTP clients are now able to get the same level of verifiability for IPNS websites.
46 +
47 +Tooling is limited at the moment, but we are working on [go-libipfs](https://github.com/ipfs/go-libipfs/) examples that illustrate the verifiable HTTP client pattern.
48 +
49 +##### Example: fetch IPNS record over HTTP and inspect it with `ipfs name inspect --verify`
50 +
51 +```console
52 +$ FILE_CID=$(echo "Hello IPFS" | ipfs add --cid-version 1 -q)
53 +$ IPNS_KEY=$(ipfs key gen test)
54 +$ ipfs name publish /ipfs/$FILE_CID --key=test --ttl=30m
55 +Published to k51q..dvf1: /ipfs/bafk..z244
56 +$ curl "http://127.0.0.1:8080/ipns/$IPNS_KEY?format=ipns-record" > signed.ipns-record
57 +$ ipfs name inspect --verify $IPNS_KEY < signed.ipns-record
58 +Value: "/ipfs/bafk..."
59 +Validity Type: "EOL"
60 +Validity: 2023-03-09T23:13:34.032977468Z
61 +Sequence: 0
62 +TTL: 1800000000000
63 +PublicKey: ""
64 +Signature V1: "m..."
65 +Signature V2: "m..."
66 +Data: {...}
67 +
68 +Validation results:
69 + Valid: true
70 + PublicKey: 12D3...
71 +```
72 +
73 ### 📝 Changelog
74
75 ### 👨‍👩‍👧‍👦 Contributors