Participation key generation in the python AlgoSDK

Hello.

Question: How can you generate a participation key with the python sdk? If possible.

Background:
I am building a crypto cluster of Raspberry Pi’s. It will run nodes for crypto I believe in. Right now I am working on Algo, the first node. The cluster is an exercise in automation and monitoring and I know damn well that my little voting power isn’t going to amount to anything, but I do wish to provide just that little bit of help / decentralization.

Situation:
I got a hardware wallet that I am using for my Algo (Ledger). Participation keys have a limited lifespan. And there should be a few de-registration transactions presigned for when stuff goes wrong.
I saw a great opportunity for practicing automating the proces of creating the participation keys, creating their transactions, signing, and maintaining the participation keys when they run out.

Problem:
I started creating my python scripts and installing the sdk. However, I can’t seem to find a way to generate a participation keys in the docs. After further digging I found a Java class that can.
Is this imparity intended or have I missed something?

1 Like

To my knowledge, unfortunately, the kmd API endpoint (kmd being the key management daemon) does not allow you to create participation keys: https://developer.algorand.org/docs/reference/rest-apis/kmd/

The only way I know how to generate participation keys is using goal.

Once a participation key is generated, the key registration can be submitted from the SDK.

Thank you for your time. After some more digging I found out that the class I was linking to does not facilitate the creation of a participation key. It is just a store for the object.
I totally forgot that Java likes that as a OOPL.