https://github.com/holgern/beem
Beem is great.
It is overengineered, though.
There is a function and a class for everything.
...just one that would let me post a root post is missing.
In the Comment module, you can reply, vote, edit, refresh and all sorts of stuff.
In Piston this was called the Post module and it would let me post.
... In the Hive module there is no posting function, either.
In @inertia's beem tutorials it works like this:
import string
import getpass
import json
from beem import Hive
from beem.transactionbuilder import TransactionBuilder
from beembase.operations import Comment
tx = TransactionBuilder(blockchain_instance=client)
tx.appendOps(Comment(**{
"parent_author": '',
"parent_permlink": taglist[0], # we use the first tag as the category
"author": author,
"permlink": permlink,
"title": title,
"body": body,
"json_metadata": json.dumps({"tags": taglist})
}))
wif_posting_key = getpass.getpass('Posting Key: ')
tx.appendWif(wif_posting_key)
signed_tx = tx.sign()
broadcast_tx = tx.broadcast(trx_id=True)
(https://gitlab.syncad.com/hive/beem/-/blob/0.19.44/docs/quickstart.rst)
That means, I have to strap my own transaction.
We are back at square one now, because if I wanted to build and sign my own transactions, I wouldn't have to use beem in the first place.
Inertia's tutorial is kind of helpful to learn just that, but if I can figure all that out and understand it, I don't need beem anymore.
Alternatives?
Hive-python by @pharesim is a joke.
https://gitlab.syncad.com/hive/hive-python
Clicking on the documentation, leads you here:
https://hive.readthedocs.io/en/latest/
He failed to link the docs right, and never bothered fixing anything, even though I told him like half a year ago. This doesn't even deserve to be in the official repo.
Patience
I am running out of patience with this shit.
I was just trying to test something and once again I went on a deep dive of the inner workings of the Hive libraries.
I have said it before: I have reached a point, where I could just start building my own library.
It's all there, I just need to learn about how signing actually works and I am able to rebuild a Piston (I miss @xeroc), but why should I spend all that work while others are running as top witness not doing shit?
I am seriously considering writing a proposal, just to see how hard it would fail.
Considering how much others are getting paid for similar stuff, I'd have to propose 20k US$.
However, I would figure out how to link the docs right, I promise.
I am even considering to run a witness again, just to piss certain people off.
I am a noob, there are much better programmers here, just nobody bothers to get their hands dirty, it seems.
I mean, the cli_wallet is still locking me out after 30 seconds. A bug that has been persistent for 5 fucking years. But they spend a lot of effort dockerizing everything so complete noobs can run a witness. For what?
I am seriously annoyed
You would think a Python library that includes a function that let's me post like Comment.new(5 fucking params) should be among the first things to be built, instead of prioritizing on convenience for things like beempy wallet, which I suspect nobody ever uses.
Because again: If you use all those features like intended the code is convoluted and more complicated than just strapping your own tx and signing it.
End of rant.
Sorry for the outbreak, but how can something be so smart and yet so stupid all at the same time?