create account

How to Send a Podping by podping

View this thread on: hive.blogpeakd.comecency.com
· @podping ·
$5.70
How to Send a Podping
<div class="pull-right">


![tiles.podping.org](https://files.peakd.com/file/peakd-hive/podping/23z7HnHaQ8zRuBYXHivHDXQDypjG96UPxk7BidLTxw4FhG1unffLLEpbUzvVdH3LpPj7q.png)

</div>

# Polling is over: send a Podping!

If you want to hear Adam Curry, the Podfather, explain Podping here he is: [No Agenda
1682 - "Natalism"](https://podverse.fm/clip/kVk9UCZSM)

If you're running a podcast hosting platform that publishes RSS feeds you need to be sending ***podpings***.

A Podping is a tiny little signal which gets written to the Hive Blockchain and tells the whole world that one of your RSS feeds has an update. That can trigger hundreds or thousands of clients to check the RSS feed and take appropriate action.

Sending ***podpings*** is the replacement for the repetitive and wasteful "polling" or speculatively checking of RSS feeds which has been the normal way to detect changes since the invention of RSS and Podcasting.


## How to send a Podping

### Easiest: Podping.Cloud

By far the easiest way for any web based service to send a ***podping*** is to use the [podping.cloud service](https://github.com/Podcastindex-org/podping.cloud) hosted service run by @podcastindex. This service requires you to get an authorization key from Dave at Podcastindex dot org.

Once you have that, alerting the whole world that one of your RSS feeds has changed is as simple as this:

```http
GET https://podping.cloud/?url=https://feeds.example.org/podcast/rss
```

You can also append 2 additional parameters (`reason` and/or `medium`):

```http
GET https://podping.cloud/?url=https://feeds.example.org/livestream/rss&reason=live&medium=music
```

If `reason` is not present, the default is "update".  If `medium` is not present, the default is "podcast".  A full explanation of these options and what they mean is [here](https://github.com/Podcastindex-org/podping-hivewriter#podping-reasons).


### Most Sovereign: Direct to Hive

Why would you not choose to do the easiest thing? Because sometimes sovereignty is worth it.

Whilst Adam and Dave have done a heroic job in setting up @podcastindex and the entire Podcasting 2.0 project, ***podping*** is built to be fully self supporting and sovereign. It is *easier* to use their `podping.cloud` service but not necessary.

The most self sustaining way to write a ***podping*** is to have your own **Hive** account and keys and directly write the ***podping*** to the Hive Blockchain yourself.

There are a many ways to get Hive Keys, I'll just highlight two:

#### Get a Hive Account

- [v4v.app/signup](https://v4v.app/signup) - requires a small payment in Lighting
- [Ecency.com/signup](https://ecency.com/signup) - requires an email address but is free

If you want help, reach out to me, brian at v4v dot app.

You might want a specific Hive account for sending ***podpings*** from. The `podping.cloud` for example uses five accounts, `podping.aaa`, `podping.bbb`, `podping.ccc`, `podping.ddd` and `podping.eee`.

#### Send a Custom Json

##### Feed Updates

This is a typical ***podping***. In this case it has 4 RSS feed iris (urls).

- `version` is `1.1` as of the time of this post.
- `medium` and `reason` [are explained here in the docs](https://github.com/Podcastindex-org/podping-hivewriter?tab=readme-ov-file#podping-reasons) but in most cases you'll be using `podcast` and `update`.
- The `iris` field in the JSON object is a list of one or more RSS feed IRIs (Internationalized Resource Identifiers), which are URLs pointing to the RSS feeds. Each entry in the list represents the location of an RSS feed that is being updated or referenced by the podping.
- `timestampNs` field in the JSON object represents a timestamp in nanoseconds since the Unix epoch (January 1, 1970).
- `sessionId` is an optional identifier which can be used to track multiple instances or processes which send successive ***podpings***.

There is a maximum limit of around 200 `iris` per `custom_json` and this is set by Hive's blocksize. In practice you should avoid getting close to this limit and sending one at a time is practical if that represents the rate at which you publish updates.

Hive produces new blocks every 3 seconds: in practice you might want to consider batching and sending updates once a minute or so.


```json
id: pp_podcast_update
json: {
  "version": "1.1",
  "medium": "podcast",
  "reason": "update",
  "iris": [
    "https://feeds.audiomeans.fr/feed/0ec7708b-cbf0-4048-971d-955b8d05bc31.xml",
    "https://feeds.audiomeans.fr/feed/6be8a533-aa0f-45c9-86a1-1187bfbc4461.xml",
    "https://feeds.audiomeans.fr/feed/b4de9333-deb0-4c99-82e3-3c21cfac3f2a.xml",
    "https://www.spreaker.com/show/6096975/episodes/feed"
  ],
  "timestampNs": 1726734767069026000,
  "sessionId": 10631874232419994000
}
required_auths: []
required_posting_auths: [
  "podping.eee"
]
```

If you want to see thousands of examples of this, open up a [Hive block explorer like this one for account @podping.bbb](https://hivehub.dev/@podping.bbb) and look!

##### Live Items

- `live` and `liveEnd` these special reason codes are for indicating a live broadcast. These will usually be sent with precise timing and quickly so as to alert watching apps.


```json
id: pp_video_live
json: {
  "version": "1.1",
  "medium": "video",
  "reason": "live",
  "iris": [
    "https://tv.mattchristiansenmedia.com/plugins/podcast2/router/podcast2?channel=matt_christiansen"
  ],
  "timestampNs": 1726707654177263000,
  "sessionId": 10708055723163822000
}
required_auths: []
required_posting_auths: [
 "podping.bbb"
]
```


I won't lay out here all the [ways to write to the Hive Blockchain](https://developers.hive.io/) but that may be a future post.

##### Uses Podping

There is also a small tag you can put in all the RSS feeds which you will use ***podping*** on to [signal that your RSS feed uses ***podping***](https://github.com/Podcastindex-org/podcast-namespace/blob/81454618bd1ff5bfefbba946d78b07bc03ea6083/docs/1.0.md#podping).

This allows indexing systems and clients to know that they only need to watch ***podping*** and no longer need to check all the RSS feeds under your control.


## Conclusion

Sending Podpings is easy and censorship resistant. Once you have a Hive account (which needs a minimal amount of Hive's `Resource Credits`) nobody can stop you sending ***podpings***.

If you want a fun visualisation of all the podcasts updating in real time via ***podping*** just take a look at [tiles.podping.org](https://tiles.podping.org).
👍  , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorpodping
permlinkhow-to-send-a-podping
categoryhive-139531
json_metadata"{"app":"peakd/2024.8.7","format":"markdown","description":"Polling RSS feeds needs to die. Podping is the way.","tags":["podping","podcasting2","hive","blockchain","leofinance","proofofbrain"],"users":["podcastindex.","podcastindex","podping.bbb"],"image":["https://files.peakd.com/file/peakd-hive/podping/23z7HnHaQ8zRuBYXHivHDXQDypjG96UPxk7BidLTxw4FhG1unffLLEpbUzvVdH3LpPj7q.png"]}"
created2024-09-19 09:19:51
last_update2024-09-19 09:19:51
depth0
children1
last_payout2024-09-26 09:19:51
cashout_time1969-12-31 23:59:59
total_payout_value2.852 HBD
curator_payout_value2.850 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length6,489
author_reputation26,592,502,088,585
root_title"How to Send a Podping"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id137,197,407
net_rshares19,237,013,580,126
author_curate_reward""
vote details (26)
@hivebuzz ·
Congratulations @podping! You received a personal badge!

<table><tr><td>https://images.hive.blog/70x70/https://hivebuzz.me/badges/pum.png</td><td>You raised your Hive Power every day of the month! Enjoy better curation reward and more to say in governance.<br>Participate in the next Power Up month to get another one!</td></tr></table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@podping) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>


**Check out our last posts:**
<table><tr><td><a href="/hive-122221/@hivebuzz/pum-202410"><img src="https://images.hive.blog/64x128/https://i.imgur.com/M9RD8KS.png"></a></td><td><a href="/hive-122221/@hivebuzz/pum-202410">Be ready for the October edition of the Hive Power Up Month!</a></td></tr><tr><td><a href="/hive-122221/@hivebuzz/pud-202410"><img src="https://images.hive.blog/64x128/https://i.imgur.com/805FIIt.jpg"></a></td><td><a href="/hive-122221/@hivebuzz/pud-202410">Hive Power Up Day - October 1st 2024</a></td></tr></table>
properties (22)
authorhivebuzz
permlinknotify-1727741825
categoryhive-139531
json_metadata{"image":["https://hivebuzz.me/notify.t6.png"]}
created2024-10-01 00:17:06
last_update2024-10-01 00:17:06
depth1
children0
last_payout2024-10-08 00:17:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,039
author_reputation369,453,447,910,439
root_title"How to Send a Podping"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id137,526,363
net_rshares0