I'm very pleased to announce that the first release of Podping is ready and public. There is:
- github Podcastindex-org/podping-hivewriter
- a library on Pypi - podping-hivewriter
- Docker hub images - podcastindexorg/podping-hivewriter
The readme file for this is on GitHub and being worked on.
podping-hivewriter
The Hive writer component of podping. You will need a Hive account, see section Hive account and Authorization below.
Linux CLI Install
Using pipx (preferred over pip)
pipx install podping-hivewriter
Using pip
pip install --user podping-hivewriter
Make sure you have ~/.local/bin/
on your PATH
.
See the dedicated CLI docs for more information.
Container
docker-compose
TODO
Building the image with Docker
Locally build the podping-hivewriter container with a "develop" tag
docker build -t podpinghivewriter:develop .
Running the image
Run the locally built image in a container, passing local port 9999 to port 9999 in the container.
ENV variables can be passed to docker with --env-file
option after modifying the .env.EXAMPLE
file and renaming it to .env
docker run --rm -p 9999:9999 --env-file .env --name podping podpinghivewriter:develop
Running with command line options, like --dry-run
for example, add them with the full podping command.
Settings can also be passed with the -e
option for Docker. Note, we leave out -p 9999:9999
here because we're not running the server.
docker run --rm \
-e PODPING_HIVE_ACCOUNT=<account> \
-e PODPING_HIVE_POSTING_KEY=<posting-key> \
podpinghivewriter:develop \
podping --dry-run write https://www.example.com/feed.xml
As another example for running a server, to run in detached mode, note the -d
in the docker run
options. Also note that client
or server
must come after the command line options for podping
:
docker run --rm -d \
-p 9999:9999 --env-file .env \
--name podping podpinghivewriter:develop \
podping --livetest server
One running you can view and follow the live output with:
docker logs podping -f
See the CLI docs for default values.
Development
We use poetry for dependency management. Once you have it, clone this repo and run:
poetry install
Then to switch to the virtual environment, use:
poetry shell
Make sure you have a .env
file with a valid PODPING_HIVE_ACCOUNT
and PODPING_HIVE_POSTING_KEY
set.
After that you should be able to run the podping
command or run the tests:
pytest
To run all tests, make sure to set the necessary environment variables for your Hive account. This can take many minutes:
pytest --runslow
Hive account
If you need a Hive account, please download the Hive Keychain extension for your browser then use this link to get your account from https://HiveOnboard.com?ref=podping. You will need at least 20 Hive Power "powered up" to get started (worth around $10). Please contact @brianoflondon [email protected] if you need assistance getting set up.
If you use the Hiveonboard link podping
will delegate enough Hive Power to get you started.
Permissions and Authorization
You don't need permission, but you do need to tell podping
that you want to send valid podpings
:
Hive is a so-called "permissionless" blockchain. Once you have a Hive Account and a minimal amount of Hive Power, that account can post to Hive, including sending
podpings
;Nobody can block any valid Hive Account from sending and nobody can help you if you lose your keys;
Whilst anyone can post
podpings
to Hive, there is a need to register your Hive Accountname for thosepodpings
to be recognized by all clients;Please contact [email protected] or send a Hive Transfer to @podping to have your account validated.
Side note on keys:
podping
uses theposting-key
which is the lowest value of the four Hive keys (owner
,active
,memo
,posting
and there is usually amaster password
which can generate all the keys). That is not to say that losing control of it is a good idea, but that key is not authorized to make financially important transfers. It can, however, post public information so should be treated carefully and kept secure.
For a comprehensive explanation of Hive and Podping, please see this post.
great stuff! Innovative and smart.......
Good one
This is very interesting but super technical. I would like to record a podcast and add it to @podping !
💪🏻 THIS is really great stuff! Innovative and smart. Well done!
Thomas
Good one
Nice
Excellent
Interesting stuff here.
👍🏻👍🏻🤞🏻🤞🏻🤞🏻
Great work
I think that there are very good things done in the name of innovation and awareness that will contribute to change and development.