Hey everyone, Today I wanted to share something I've been tinkering with β a very early, crude, and simple Flask application designed to handle a Hive Keychain login using a posting key signature. This is definitely a work in progress, but I thought I'd put it out there for anyone interested. The project is called **`flask_keychain`** and the idea is to provide a basic backend that can: 1. Receive a login request from a frontend that uses Hive Keychain to sign a message. 2. Verify the signature against the user's posting key. 3. If valid, issue a simple session token. ### How It Works (The Gist) The system involves a simple HTML frontend that uses JavaScript to interact with the Hive Keychain browser extension, and a Python Flask backend to verify the signed message. 1. **Frontend (JavaScript & Keychain):** - When you enter your username and click "Login," the JavaScript captures the username. - It then calls `window.hive_keychain.requestSignBuffer()`. This prompts Hive Keychain to ask you to sign a message (in this basic example, it's the current UTC date/time string) using the posting key of the entered username. - If you approve in Keychain, the extension returns the signature (`response.result`) and the public posting key (`response.publicKey`) that was used. - The JavaScript then sends your `username`, the `signature` (as "challenge"), the `publicKey`, and the original `message` (as "proof") to the Flask backend's `/login` endpoint. Here's the core JavaScript that handles the Keychain interaction and the call to the backend: ```javascript function getCurrentUTCDateTime() { const now = new Date(); return now.toISOString(); } document .getElementById("loginForm") .addEventListener("submit", function (e) { e.preventDefault(); const username = document.getElementById("username").value.trim(); const status = document.getElementById("status"); status.textContent = ""; if (!username) { status.textContent = "Please enter your Hive username."; return; } if (typeof window.hive_keychain === "undefined") { status.textContent = "Hive Keychain extension not detected!"; return; } const datetimeToSign = getCurrentUTCDateTime(); // This will be our message window.hive_keychain.requestSignBuffer( username, datetimeToSign, // Message to sign "Posting", // Key type function (response) { if (response.success) { status.textContent = "Posting signed! Sending to API..."; const signature = response.result; const pubkey = response.publicKey || (response.data && response.data.publicKey) || null; if (!pubkey) { status.textContent = "Could not retrieve public key from Keychain response."; return; } const payload = { challenge: signature, // The signature from Keychain username: username, pubkey: pubkey, // The public key Keychain used proof: datetimeToSign, // The original message that was signed }; fetch("/login", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), }) .then((r) => r.json()) .then((data) => { if (data.success) { let msg = "Login successful! <br>"; if (data.token) { localStorage.setItem("token", data.token); msg += ` Token: <code>${data.token}</code> <br>`; } status.innerHTML = msg; } else { status.textContent = data.error || "Login failed."; } }) .catch((err) => { status.textContent = "API error: " + err; }); } else { status.textContent = "Keychain signature failed."; } }, ); }); ``` 2. **Backend (Python Flask & `hive-nectar`):** - The `/login` route in Flask receives the `username`, `signature` (referred to as "challenge" from the frontend), `publicKey`, and original `message` (referred to as "proof" from the frontend). - It fetches the actual posting keys for the provided `username` from the Hive blockchain using `hive-nectar`. - It verifies that the `publicKey` sent by the client is indeed one of the account's valid posting keys. - It then uses `nectar-graphenebase`'s (a component of `hive-nectar`) `verify_message` function to check if the `signature` is valid for the given `message` and `publicKey`. - If everything checks out, it generates a secure random session token (using `secrets.token_urlsafe`) and sends it back to the client. Hereβs the key Python snippet from `app.py` for the verification: ```python # (Previous steps: get data from request, fetch account's posting keys) # 'message' is what Keychain signed (datetimeToSign from JS, sent as 'proof') # 'signature' is the hex string from Keychain (sent as 'challenge' from JS) # 'pubkey' is the public key Keychain reported using for signing # Check that provided pubkey is one of the account's actual posting keys if pubkey not in posting_keys: return jsonify({ "success": False, "error": "Provided public key is not a valid posting key for this account.", }), 400 # Verify signature try: recovered_pubkey_bytes = verify_message(message, bytes.fromhex(signature)) recovered_pubkey_str = str(PublicKey(recovered_pubkey_bytes.hex(), prefix="STM")) valid = recovered_pubkey_str == pubkey except Exception as e: return jsonify({"success": False, "error": f"Signature verification error: {str(e)}"}), 400 if not valid: return jsonify({"success": False, "error": "Signature is invalid."}), 401 # Success: generate and return a session token token = secrets.token_urlsafe(32) sessions[token] = username # Simple in-memory store for this example return jsonify({"success": True, "username": username, "token": token}) ``` This frontend/backend interaction provides a basic but functional way to authenticate a Hive user via their posting key. ### The Basic Frontend I've included a super simple HTML template (`login.html`) that just provides a basic login button which uses the JavaScript above to trigger the Keychain signature request and send it to the Flask backend. If successful, it just displays the token.  ### Where to Find It This is very much a proof-of-concept and a starting point. If you're interested in playing around with it or seeing the basic structure, you can find the code on GitHub: [https://github.com/TheCrazyGM/flask_keychain](https://github.com/TheCrazyGM/flask_keychain) It's not meant to be a production-ready solution as-is, but more of a demonstration of how one might start building a Flask backend for Hive Keychain posting key logins. Maybe it'll be useful to someone looking to integrate Hive login into their Python web projects! **EDIT**: I would like to give a shoutout to @sagarkothari88 who made the distriator api login, which inspired this idea. As always, Michael Garcia a.k.a. TheCrazyGM
author | thecrazygm | ||||||
---|---|---|---|---|---|---|---|
permlink | work-in-progress-a-simple-flask-app-for-hive-keychain-login | ||||||
category | hive-186392 | ||||||
json_metadata | {"app":"peakd/2025.5.7","format":"markdown","image":["https://files.peakd.com/file/peakd-hive/thecrazygm/23tcNzkBHWoSx2bMstmRU7wz4j6b9qFkjFAqwvzM9zTXaE88bPt36DEcMNP4nQhTAp4Eq.png"],"tags":["dev","tribes","archon","proofofbrain","pimp"],"users":["sagarkothari88"]} | ||||||
created | 2025-05-24 14:30:15 | ||||||
last_update | 2025-05-24 14:38:15 | ||||||
depth | 0 | ||||||
children | 9 | ||||||
last_payout | 2025-05-31 14:30:15 | ||||||
cashout_time | 1969-12-31 23:59:59 | ||||||
total_payout_value | 4.871 HBD | ||||||
curator_payout_value | 5.708 HBD | ||||||
pending_payout_value | 0.000 HBD | ||||||
promoted | 0.000 HBD | ||||||
body_length | 7,825 | ||||||
author_reputation | 76,652,371,980,122 | ||||||
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" | ||||||
beneficiaries |
| ||||||
max_accepted_payout | 1,000,000.000 HBD | ||||||
percent_hbd | 10,000 | ||||||
post_id | 142,939,094 | ||||||
net_rshares | 32,409,733,149,847 | ||||||
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
jacor | 0 | 23,118,007,343 | 50% | ||
eforucom | 0 | 19,983,426,907 | 100% | ||
moretea | 0 | 4,347,489,628 | 10% | ||
gamer00 | 0 | 19,516,063,165 | 5% | ||
mes | 0 | 463,626,649,407 | 25% | ||
calmphoenix | 0 | 1,464,358,489 | 30% | ||
ecoinstant | 0 | 125,719,717,921 | 100% | ||
cryptoknight12 | 0 | 51,340,136,789 | 100% | ||
robtheranger | 0 | 5,963,802,970 | 100% | ||
joeyarnoldvn | 0 | 452,053,897 | 1.47% | ||
eturnerx | 0 | 26,656,347,622 | 2% | ||
pixelfan | 0 | 50,462,138,866 | 5.8% | ||
likedeeler | 0 | 239,991,874,192 | 100% | ||
hdmed | 0 | 5,133,174,099 | 50% | ||
noloafing | 0 | 3,003,609,203 | 49.76% | ||
accelerator | 0 | 51,290,361,564 | 60% | ||
artlover | 0 | 1,274,806,677 | 100% | ||
tomiscurious | 0 | 269,898,666,174 | 45.8% | ||
fatman | 0 | 9,244,642,263 | 2% | ||
votehero | 0 | 26,414,389,408 | 5.3% | ||
msp-makeaminnow | 0 | 26,707,988,897 | 28.6% | ||
morwhale | 0 | 811,464,249 | 50% | ||
morwhaleplus | 0 | 586,439,809 | 50% | ||
coolguy123 | 0 | 2,139,623,658 | 1% | ||
morwhalebonus | 0 | 582,201,895 | 50% | ||
paulmoon410 | 0 | 16,150,014,468 | 50% | ||
jozefkrichards | 0 | 5,153,435,832 | 50% | ||
kernelillo | 0 | 593,415,155 | 50% | ||
sneakyninja | 0 | 18,593,404,418 | 24.88% | ||
najat | 0 | 3,009,107,601 | 50% | ||
steembasicincome | 0 | 7,030,473,405,948 | 100% | ||
hetty-rowan | 0 | 39,282,478,884 | 50% | ||
irisworld | 0 | 982,658,946 | 7.5% | ||
bengy | 0 | 2,528,866,892 | 3% | ||
aakom | 0 | 443,407,431 | 100% | ||
condeas | 0 | 443,682,868,443 | 20% | ||
anikys3reasure | 0 | 2,728,937,429 | 50% | ||
bil.prag | 0 | 184,136,891,372 | 18% | ||
abrockman | 0 | 1,757,716,492,301 | 100% | ||
sbi2 | 0 | 4,922,905,674,872 | 100% | ||
braaiboy | 0 | 132,460,085,910 | 25% | ||
awesomegames007 | 0 | 1,453,072,949 | 50% | ||
gadrian | 0 | 449,855,499,908 | 30% | ||
we-are-one | 0 | 1,084,703,717 | 100% | ||
sbi3 | 0 | 2,394,838,115,288 | 100% | ||
sbi4 | 0 | 1,504,739,423,214 | 100% | ||
fw206 | 0 | 3,573,588,821,107 | 41% | ||
netzisde | 0 | 4,106,288,266 | 100% | ||
dailyspam | 0 | 23,311,805,342 | 20% | ||
bububoomt | 0 | 6,385,371,094 | 100% | ||
sbi5 | 0 | 1,169,251,612,154 | 96.17% | ||
gaottantacinque | 0 | 0 | 100% | ||
thedailysneak | 0 | 25,365,544,314 | 24.88% | ||
smartvote | 0 | 132,551,215,537 | 6.2% | ||
gasaeightyfive | 0 | 603,851,987 | 100% | ||
tdas0 | 0 | 2,024,515,866 | 50% | ||
voxmortis | 0 | 11,287,428,753 | 6% | ||
marcocasario | 0 | 9,601,926 | 0.01% | ||
a-bot | 0 | 15,728,673,046 | 30% | ||
voter002 | 0 | 26,709,555,729 | 64.1% | ||
cribbio | 0 | 2,263,305,228 | 100% | ||
mk992039 | 0 | 610,164,289 | 4% | ||
guurry123 | 0 | 6,989,310,655 | 10% | ||
ecoinstats | 0 | 1,070,495,360,412 | 100% | ||
piestrikesback | 0 | 748,621,767 | 100% | ||
linuxbot | 0 | 6,246,108,625 | 20% | ||
buildingpies | 0 | 52,588,674,925 | 100% | ||
thearned | 0 | 12,293,498,352 | 100% | ||
baasdebeer | 0 | 17,959,416,156 | 100% | ||
instagram-models | 0 | 506,155,951,374 | 100% | ||
afternoondrinks | 0 | 18,527,407,734 | 100% | ||
thelogicaldude | 0 | 24,101,713,487 | 50% | ||
aydie1000 | 0 | 1,285,403,662 | 100% | ||
ilanisnapshots | 0 | 12,199,745,465 | 100% | ||
shauner | 0 | 554,545,061 | 50% | ||
imbartley | 0 | 460,170,720 | 15% | ||
we-are-palcoin | 0 | 380,395,126 | 100% | ||
gurseerat | 0 | 5,315,795,132 | 20% | ||
lrekt01 | 0 | 5,292,375,178 | 80% | ||
everythingsmgirl | 0 | 7,990,799,790 | 50% | ||
lisamgentile1961 | 0 | 8,472,592,894 | 3% | ||
sbi-tokens | 0 | 52,832,980,609 | 49.76% | ||
elianaicgomes | 0 | 5,644,029,889 | 5% | ||
stem.alfa | 0 | 2,393,384,011 | 50% | ||
bilpcoin.pay | 0 | 546,422,065 | 10% | ||
qwertm | 0 | 5,440,941,035 | 50% | ||
manclar | 0 | 8,130,735,343 | 50% | ||
neoxvoter | 0 | 2,967,479,602 | 25% | ||
bilpcoinbpc | 0 | 884,231,732 | 5% | ||
keys-defender | 0 | 2,750,276,449 | 100% | ||
treasure.hoard | 0 | 141,664,260,520 | 100% | ||
dpend.active | 0 | 3,834,112,663 | 10% | ||
ykretz | 0 | 1,362,336,491 | 15% | ||
sketching | 0 | 7,065,875,185 | 50% | ||
hivelist | 0 | 30,810,961,567 | 25% | ||
kiemis | 0 | 9,076,011,520 | 2.5% | ||
woelfchen | 0 | 175,233,378,640 | 41% | ||
balvinder294 | 0 | 2,462,726,184 | 20% | ||
archon-gov | 0 | 92,679,778,216 | 50% | ||
rudy-dj | 0 | 2,709,634,042 | 30% | ||
captaincryptic | 0 | 31,393,220,790 | 20% | ||
borniet | 0 | 96,706,499,046 | 100% | ||
barbyjr | 0 | 1,703,879,796 | 25% | ||
he-index | 0 | 17,674,406,112 | 10% | ||
youloseagain | 0 | 790,811,513 | 5% | ||
trostparadox | 0 | 935,488,077,921 | 100% | ||
esmeesmith | 0 | 4,222,742,756 | 50% | ||
emsenn0 | 0 | 4,024,531,484 | 20% | ||
xyba | 0 | 39,146,279,119 | 100% | ||
wynella | 0 | 11,590,702,976 | 25% | ||
draygyn | 0 | 3,464,766,419 | 50% | ||
iviaxpow3r | 0 | 7,322,019,010 | 50% | ||
ichheilee | 0 | 3,142,288,622 | 100% | ||
hive-defender | 0 | 378,376,217 | 100% | ||
holovision.stem | 0 | 1,037,830,137 | 50% | ||
alkirua | 0 | 33,787,529,752 | 100% | ||
trashyomen | 0 | 1,709,540,074 | 75% | ||
wongi | 0 | 53,532,385,829 | 50% | ||
mirroredspork | 0 | 19,596,229,503 | 100% | ||
vrezyy | 0 | 9,007,338,090 | 25% | ||
tub3r0 | 0 | 766,468,652 | 10% | ||
mxm0unite | 0 | 1,631,684,807 | 50% | ||
iproto | 0 | 20,059,729,228 | 50% | ||
dstampede | 0 | 1,772,770,381 | 100% | ||
txracer | 0 | 3,010,971,766 | 100% | ||
tydynrain | 0 | 16,707,324,895 | 10% | ||
svanbo | 0 | 2,087,344,309 | 1% | ||
crypto-shots | 0 | 122,174,221 | 50% | ||
noctury | 0 | 19,927,334,271 | 50% | ||
mmoonn | 0 | 1,536,427,783 | 100% | ||
marynn | 0 | 1,422,419,821 | 20% | ||
dr-animation | 0 | 685,685,532 | 50% | ||
chrisly.social | 0 | 46,773,808,769 | 50% | ||
thorlock | 0 | 113,811,521,407 | 50% | ||
ryosai | 0 | 5,476,524,708 | 24% | ||
cryptoshots.nft | 0 | 0 | 100% | ||
beststart | 0 | 16,240,380,112 | 5% | ||
mighty-thor | 0 | 4,303,905,303 | 50% | ||
fonestreet | 0 | 1,942,606,375 | 25% | ||
holdeck2 | 0 | 1,366,098,178 | 100% | ||
vrezion | 0 | 565,916,425 | 100% | ||
casimodo | 0 | 903,647,480 | 100% | ||
sieghard1990 | 0 | 3,898,831,437 | 100% | ||
poplar-22 | 0 | 3,532,460,155 | 25% | ||
cryptoshots.play | 0 | 0 | 10% | ||
monsterrerentals | 0 | 34,301,695,583 | 100% | ||
splinterwhale | 0 | 2,646,357,167 | 50% | ||
cryptoshotsdoom | 0 | 0 | 10% | ||
kasih-sayang | 0 | 898,258,162 | 30% | ||
peakecoin | 0 | 633,275,282 | 50% | ||
whitneyalexx | 0 | 17,210,114,945 | 50% | ||
pof.archon | 0 | 436,774,769 | 50% | ||
freecompliments | 0 | 2,757,196,912,252 | 100% | ||
georgesantana73 | 0 | 1,073,062,017 | 100% | ||
tengolotodo.leo | 0 | 5,958,030,532 | 50% | ||
hive-140084 | 0 | 85,652,127,481 | 100% | ||
karina.gpt | 0 | 0 | 100% | ||
timix648 | 0 | 1,072,922,316 | 70% | ||
briefmarken | 0 | 49,795,216,972 | 100% | ||
converter.bonus | 0 | 847,641,609 | 50% | ||
pepetoken | 0 | 687,974,801 | 10% | ||
mviews | 0 | 58,706,495,590 | 100% | ||
ijebest | 0 | 546,936,049 | 5% | ||
hivedrip | 0 | 20,272,950,591 | 50% | ||
bankrobbery | 0 | 619,609,561 | 50% | ||
fc-curation | 0 | 6,389,569,774 | 100% | ||
meraki7578 | 0 | 4,901,531,189 | 50% | ||
fc-rewards | 0 | 3,403,925,633 | 100% | ||
d-a-d | 0 | 10,444,111,582 | 50% | ||
scentsgalore | 0 | 6,062,527,574 | 100% | ||
tejidorosa | 0 | 394,328,949 | 99% | ||
blessskateshop | 0 | 58,097,783,730 | 12% | ||
claudiavb | 0 | 17,662,507,033 | 50% | ||
fc-arbitration | 0 | 752,265,478 | 100% | ||
shmieta | 0 | 5,467,633,422 | 100% | ||
itz.inno | 0 | 27,205,849,237 | 50% | ||
murtaza-7868 | 0 | 555,103,832 | 50% | ||
learn2code | 0 | 1,155,970,575 | 50% | ||
lolz.byte | 0 | 0 | 100% | ||
bbarelyseal | 0 | 0 | 100% | ||
indiasierra | 0 | 1,495,092,183 | 50% | ||
partytime.inleo | 0 | 4,515,154,775 | 10% | ||
magicalex | 0 | 5,440,863,008 | 70% | ||
calebmarvel24 | 0 | 1,847,713,167 | 10% | ||
peakecoin.bnb | 0 | 461,599,424 | 50% | ||
franco10 | 0 | 4,755,677,319 | 25% | ||
indeedly | 0 | 3,253,594,159 | 50% | ||
trovepower | 0 | 2,238,355,771 | 50% | ||
digi-alt | 0 | 8,134,991,500 | 50% | ||
michael561 | 0 | 5,432,508,229 | 20% | ||
thecrazygm.bank | 0 | 3,956,052,458 | 100% | ||
magic.byte | 0 | 0 | 100% | ||
sports.power.bot | 0 | 0 | 0.01% |
Doing the same thing for https://hiveearnings.botlord.eu/ using flask, signin via Hive Keychain. Itβs not really needed yet (no info there yet that requires login), but wanted to give it a try as well, and will need it in the future. !HOPE !PIZZA !INDEED !ALIVE !BBH !STRIDE !WEIRD !DUO !PIMP
author | borniet |
---|---|
permlink | re-thecrazygm-2025524t165451837z |
category | hive-186392 |
json_metadata | {"type":"comment","tags":["hive-186392","dev","tribes","archon","proofofbrain","pimp"],"app":"ecency/3.3.2-mobile","format":"markdown+html"} |
created | 2025-05-24 14:54:51 |
last_update | 2025-05-24 14:54:51 |
depth | 1 |
children | 6 |
last_payout | 2025-05-31 14:54:51 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.088 HBD |
curator_payout_value | 0.088 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 294 |
author_reputation | 208,628,005,227,457 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,939,413 |
net_rshares | 508,028,286,935 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecrazygm | 0 | 36,497,047,871 | 100% | ||
ecoinstant | 0 | 108,758,945,202 | 100% | ||
eturnerx | 0 | 273,047,148,718 | 20.8% | ||
tomiscurious | 0 | 27,106,883,446 | 4.7% | ||
fatman | 0 | 9,239,054,091 | 2% | ||
votehero | 0 | 26,736,638,937 | 5.4% | ||
voter003 | 0 | 26,642,568,670 | 11.4% |
<center> <sup>You just got DUO from @borniet.</sup> <sup>They have <b>1/1</b> <b>DUO</b> calls left.</sup> <hr> <img src="https://files.peakd.com/file/peakd-hive/theguruasia/AK7w4BMNZVvSFUnu5EpdemZruiGCM55HjfyKSjZHwYZUDrTBPBRKJXjbn5yEGHs.png" alt="duo_logo"> <hr> <sup>Learn all about <a href="https://peakd.com/pimp/@hive-193566/duo-white-paper">DUO here.</a></sup> </center>
author | duo-tip |
---|---|
permlink | 20250524t145502446z |
category | hive-186392 |
json_metadata | {"tags":["dook","tokendook","dookbot"],"app":"dook-bot/4.0","format":"markdown"} |
created | 2025-05-24 14:55:03 |
last_update | 2025-05-24 14:55:03 |
depth | 2 |
children | 0 |
last_payout | 2025-05-31 14:55:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 385 |
author_reputation | 69,070,314,803 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,939,416 |
net_rshares | 0 |
I have future use, which is why I looked into it, and while I was working on some tools making use of Distriator the other day, the api login / return token just kinda meshed with what I had in mind. And of course python is more my thing for the backend, so wanted to give it a shot using hive-nectar (which also added to my knowledge how the cryptography works in it, as it still needs some work there too.)
author | thecrazygm |
---|---|
permlink | re-borniet-swrtpo |
category | hive-186392 |
json_metadata | {"app":"peakd/2025.5.7","tags":["hive-186392"]} |
created | 2025-05-24 15:01:03 |
last_update | 2025-05-25 12:26:27 |
depth | 2 |
children | 4 |
last_payout | 2025-05-31 15:01:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.138 HBD |
curator_payout_value | 0.136 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 408 |
author_reputation | 76,652,371,980,122 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,939,505 |
net_rshares | 787,575,469,800 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
ecoinstant | 0 | 110,968,008,796 | 100% | ||
eturnerx | 0 | 26,218,921,407 | 2% | ||
tomiscurious | 0 | 273,497,297,898 | 46.9% | ||
fatman | 0 | 9,242,383,753 | 2% | ||
votehero | 0 | 26,765,409,778 | 5.4% | ||
voter003 | 0 | 26,702,446,421 | 11.4% | ||
hivehustlers | 0 | 5,596,315,168 | 23% | ||
thecryptopimp | 0 | 5,987,230,748 | 23% | ||
tokenpimp | 0 | 302,597,455,831 | 23% |
Tell me more about Distriator!!! ;-) Sounds interesting! BTW: Iβve recently switched the HiveEarnings tool too the Hive-Nectar lib as well! Still want to do a post about it too ;-) !HOPE !PIZZA !INDEED !ALIVE !BBH !STRIDE !WEIRD
author | borniet |
---|---|
permlink | re-thecrazygm-2025527t7159894z |
category | hive-186392 |
json_metadata | {"type":"comment","tags":["hive-186392"],"app":"ecency/3.3.2-mobile","format":"markdown+html"} |
created | 2025-05-27 05:02:00 |
last_update | 2025-05-27 05:02:00 |
depth | 3 |
children | 2 |
last_payout | 2025-06-03 05:02:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.094 HBD |
curator_payout_value | 0.092 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 230 |
author_reputation | 208,628,005,227,457 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,987,645 |
net_rshares | 602,335,754,793 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecrazygm | 0 | 51,931,936,152 | 100% | ||
ecoinstant | 0 | 136,315,308,515 | 100% | ||
eturnerx | 0 | 271,256,144,657 | 20.4% | ||
fatman | 0 | 9,239,088,887 | 2% | ||
votehero | 0 | 26,704,744,385 | 5.4% | ||
msp-makeaminnow | 0 | 26,952,277,834 | 28.9% | ||
paulmoon410 | 0 | 24,260,383,443 | 75% | ||
we-are-lucky | 0 | 26,728,391,081 | 60% | ||
voter001 | 0 | 26,953,279,399 | 28.6% | ||
dr-animation | 0 | 1,014,312,674 | 75% | ||
peakecoin | 0 | 979,887,766 | 75% |
Tap into Distriator! !PIMP !PIZZA
author | ecoinstant |
---|---|
permlink | re-thecrazygm-swsr2o |
category | hive-186392 |
json_metadata | {"tags":["hive-186392"],"app":"peakd/2025.5.7"} |
created | 2025-05-25 03:01:39 |
last_update | 2025-05-25 03:01:39 |
depth | 3 |
children | 0 |
last_payout | 2025-06-01 03:01:39 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.012 HBD |
curator_payout_value | 0.012 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 34 |
author_reputation | 824,628,195,171,790 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,949,065 |
net_rshares | 74,555,003,382 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecrazygm | 0 | 44,375,321,753 | 100% | ||
dustbunny | 0 | 30,179,681,629 | 9.55% |
<center>PIZZA! $PIZZA slices delivered: @borniet<sub>(4/15)</sub> tipped @thecrazygm (x2) ecoinstant tipped thecrazygm <sub>Come get [MOON](https://moon.hive.pizza)ed!</sub></center>
author | pizzabot |
---|---|
permlink | re-work-in-progress-a-simple-flask-app-for-hive-keychain-login-20250524t145515z |
category | hive-186392 |
json_metadata | "{"app": "pizzabot"}" |
created | 2025-05-24 14:55:15 |
last_update | 2025-05-27 05:02:21 |
depth | 1 |
children | 0 |
last_payout | 2025-05-31 14:55:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 HBD |
curator_payout_value | 0.000 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 187 |
author_reputation | 7,429,613,346,379 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,939,421 |
net_rshares | 0 |
Given that I don't (*yet*) know what a flask app is, I don't have much to say on this tool yet, other than it sounds like it would be very useful. π π π β¨ π€
author | tydynrain |
---|---|
permlink | re-thecrazygm-2025524t21912177z |
category | hive-186392 |
json_metadata | {"links":[],"type":"comment","tags":["hive-186392","dev","tribes","archon","proofofbrain","pimp"],"app":"ecency/3.3.3-mobile","format":"markdown+html"} |
created | 2025-05-25 07:09:15 |
last_update | 2025-05-25 07:09:15 |
depth | 1 |
children | 0 |
last_payout | 2025-06-01 07:09:15 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.084 HBD |
curator_payout_value | 0.083 HBD |
pending_payout_value | 0.000 HBD |
promoted | 0.000 HBD |
body_length | 157 |
author_reputation | 198,516,680,396,764 |
root_title | "Work in Progress: A Simple Flask App for Hive Keychain Login" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 HBD |
percent_hbd | 10,000 |
post_id | 142,951,479 |
net_rshares | 509,338,737,764 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
thecrazygm | 0 | 46,203,441,631 | 100% | ||
ecoinstant | 0 | 110,421,232,397 | 100% | ||
eturnerx | 0 | 272,151,178,997 | 20.6% | ||
votehero | 0 | 27,013,427,287 | 5.5% | ||
we-are-lucky | 0 | 26,828,447,438 | 60.9% | ||
voter003 | 0 | 26,721,010,014 | 11.2% |